尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Free, private tool to see who doesn't follow you back and who unfollowed you on Instagram and TikTok. No password, no app — runs in your browser.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗FollowAudit runs entirely inside your browser. On Instagram it scans both sides of your connections and offers an explicit, rate-aware review flow for account actions. On TikTok it reads the follower and following JSON files from your official data export, compares them locally, and keeps all account changes manual.
No account data is sent to a project server. Session credentials are read only when a request needs them and are never stored.
[!CAUTION] Instagram support relies on private web endpoints. They can change without notice, and high-volume account actions may trigger platform limits. TikTok support is read-only and uses only files you explicitly select. This project is not affiliated with or endorsed by Instagram, Meta, TikTok, or ByteDance.
| Capability | Behavior |
|---|---|
| One two-sided audit | A single audit loads Following and Followers once each, page by page, deduplicates, and matches every relationship locally. |
| Report-first side panel | Docks to the right of Instagram or TikTok and opens as an account report: both counts on one axis, mutuals, and ranked segments that open their lists. |
| Who unfollowed you | Each followers audit is compared with the previous snapshot stored in this browser, listing new followers and accounts that left. |
| Focused segments | Don’t follow you back, you don’t follow back, unfollowed you, protected, everyone you follow, everyone who follows you — with instant search (press /, Esc to go back). |
| Protected accounts | Stored locally and permanently excluded from action queues. Export and import the list as a JSON backup. |
| Safe action queue | Instagram unfollows and follower removals run one at a time after confirmation, with configurable pauses, a time-left estimate, and an automatic stop on rate limits, refusals, or repeated failures. |
| TikTok, read-only | Imports the official Follower.json / Following.json export and offers a guided, one-profile-at-a-time manual review. |
| Minimize | Collapse the panel into a small pill and keep browsing while an audit or queue runs. |
| Portable results | Exports the current view as spreadsheet-safe CSV. |
| Five languages | English, Português, Español, Français, Deutsch, plus light and dark themes. |
Copy the script from the website, open instagram.com on a computer while logged in, paste it into the browser console and press Enter. One audit loads who you follow and who follows you, then lists every account that doesn't follow you back. Nothing changes on your account until you confirm.
Instagram doesn't show this itself. FollowAudit saves your follower list in your browser after each audit and compares the next audit against it, so the first audit has nothing to compare with and every later one lists who left and who is new.
No. It runs in the Instagram tab you already have open and uses that session. There is no app, extension, login, server or analytics.
Yes, read-only: import Follower.json and Following.json from your official TikTok data export, compare them locally and review each profile manually.
No tool can promise that, and Instagram's terms restrict automated access, so use it at your own risk. FollowAudit is built to be gentle: lists are read page by page, unfollows run one at a time with pauses, are never retried and stop as soon as Instagram pushes back.
The destructive path is intentionally slower than the review path:
allow pasting the first time.Follower.json and Following.json files from Settings and privacy → Account → Download your data (request JSON format).Running the script again restores a minimized panel instead of opening a second one. The bundle refuses to start outside instagram.com or tiktok.com, except on localhost where it enters preview mode; add ?platform=tiktok to inspect the TikTok state.
flowchart LR
A{Platform} -->|Instagram| B[Authenticated paginated scan]
A -->|TikTok| C[Official JSON export]
B --> D[Runtime payload validation]
C --> D
D --> E[Local review workspace]
D --> S[(Follower snapshot)] --> E
E --> F{User decision}
F -->|Protect| G[Local protected IDs]
F -->|Export| H[CSV file]
F -->|Instagram confirmation| I[Sequential, self-halting queue]
F -->|TikTok| J[Guided manual profile review]
The interface is a Shadow DOM side panel, isolated from the platform's styles and keyboard shortcuts, that leaves the page beside it usable. The production bundle is a single ~130 KB file with no framework and zero runtime dependencies; the brand font is subset to Latin and embedded as WOFF2.
Requirements: Node.js 22 or newer and npm.
git clone https://github.com/marquezinii/follow-audit.git
cd follow-audit
npm ci
npm run dev
The local server prints two URLs: the live preview (/) with deterministic sample data — it never contacts either platform and cannot perform real actions — and the website (/index.html). Set PORT to use another port.
npm run check
Runs ESLint, the Node test suite, TypeScript type checking, website validation (translations, CSP hash, per-language pages, hreflang, structured data, asset references), and the production build. CI runs the same gate plus npm audit and verifies that the committed public/dist.js matches the sources.
src/
├── core.ts # validation, pagination, queue (halting + ETA), snapshots, CSV
├── instagram.ts # authenticated Instagram request boundary and refusal detection
├── tiktok.ts # official export parser and relationship comparison
├── storage.ts # validated localStorage access, snapshots, protected-list backups
├── preview.ts # deterministic sample data for local development
├── i18n.ts # interface strings for five locales
├── main.ts # panel controller and browser state
├── ui/ # layout template, styles, icons
└── assets/ # brand mark and subset font embedded in the bundle
tests/ # deterministic checks for the critical logic
public/ # GitHub Pages website (English source page, five translated pages generated at build) and the distributable dist.js
assets/brand/ # source logo and mark files
scripts/ # site checks, language pages and sitemap generation, build copy, local static server
| Data | Handling |
|---|---|
| Session cookies | Sent by the browser with same-origin requests. FollowAudit reads only your numeric user ID (ds_user_id) to build list URLs and key your snapshot; cookies are never persisted. |
| CSRF token | Read immediately before an action request; never exported or logged. |
| Following and follower lists | Held in memory for the current run. Selected TikTok files are never uploaded. |
| Follower snapshot | Follower IDs, usernames, and names from the last followers audit, stored in this browser's localStorage per account for change tracking. Clear it any time in Settings → Clear audit history. |
| Protected IDs | Stored only in this browser's localStorage; exportable as a JSON file you control. |
| Analytics / backend | None. |
Read CONTRIBUTING.md before opening a pull request. Changes to request handling or destructive actions must include focused tests and preserve the safety properties above. Security-sensitive reports belong in a private GitHub Security Advisory; see SECURITY.md.
Released under the MIT License. Copyright © 2026 marquezinii. The bundled Manrope font is licensed under the SIL Open Font License.