Skip to content

netCrunch/FollowTrace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FollowTrace

Firefox only Manifest V2 Status License

FollowTrace banner

Firefox extension for reviewing an Instagram account's followers and the accounts they follow, saving snapshots locally, comparing changes over time, and running guarded unfollow actions from the browser session you already have open. Privacy comes first: data stays on your device, and the extension does not connect to any external server.

Contents

Why this exists

Instagram gives you a followers list and a following list, but no real way to track changes over time or manage anything in bulk.

Most third-party tools only solve part of that. Some scrape data. Some bulk-unfollow. Few do both well, and even fewer give you useful snapshot diffs. A lot of them also are not free, or they give you a weak free tier that cuts out the features you actually want.

The bigger problem is trust. Most of them want you to make an account with their service and hand over your email. Some go further and ask for your Instagram credentials through their own UI, which means handing your login to someone else's server.

FollowTrace keeps the whole workflow in your browser. It uses the session you already have open, stores snapshots locally, and gives you follower tracking, diffs, and guarded unfollow actions without sending your data anywhere.

What it does

  • Scans followers and following through your active Instagram session in Firefox.
  • Finds non-followers after a live scan.
  • Saves snapshots locally so you can export, import, and compare states later.
  • Includes a diff workspace with presets like New Follows, New Followers, and Not Following Back Now.
  • Lets you review and trim a result set before running unfollow actions.
  • Adds guardrails like confirmation delays, stale-target rechecks, progress feedback, and stop-on-failure limits.
  • Keeps data local to your browser profile instead of sending it to a remote backend.

Screenshots

Home Account search
FollowTrace home screen FollowTrace account search
Diff review Settings
FollowTrace diff review FollowTrace settings screen

How the workflow fits together

At a high level:

  1. Open Instagram in Firefox and keep your normal logged-in session active.
  2. Use the sidepanel to select an account and run a scan.
  3. Save that result locally or compare it against an older snapshot.
  4. Review the diff output before you even think about unfollowing anything.

The extension does not ask you to log in through a separate popup. It works against the session already open in Firefox.

flowchart LR
  A["Firefox sidepanel UI"] --> B["Content script on instagram.com"]
  B --> C["Authenticated Instagram requests"]
  C --> D["Normalized followers and following data"]
  D --> E["Local snapshot storage"]
  E --> F["Diff workspace and presets"]
  F --> G["Optional unfollow runner"]
Loading

Privacy and data handling

  • The extension is privacy-first and local-only.
  • Follower data, following data, and saved snapshots stay on your device.
  • The extension does not upload your snapshots, account lists, or diff results to an external server.
  • It works through the Instagram session already open in Firefox instead of asking you to hand credentials to a separate service.

Install for local use

Quick use without Node.js

If you just want to load the extension locally for a quick check, you can do it directly in Firefox without installing Node.js.

  1. Open about:debugging#/runtime/this-firefox in Firefox.
  2. Click Load Temporary Add-on....
  3. Select manifest.json.

Firefox will load the extension from this repo as a temporary add-on for the current browser session.

Requirements

  • Firefox
  • An active Instagram login in Firefox
  • Node.js

Setup

npm install

Run the extension in Firefox

npm run start:firefox

This starts the extension with web-ext and points Firefox at the current source tree. The runner uses a dedicated development profile at tmp/firefox-profile, pre-creates that path before launching web-ext, and keeps profile changes between sessions. Log into Instagram in that Firefox window once, then reuse the same command for later runs.

Build a package

npm run package

The packaged build is written to web-ext-artifacts/.

Use it carefully

This project can perform destructive actions. Assume that anything involving unfollow is worth double-checking.

  • Unfollow actions are API-based.
  • The extension uses a confirmation countdown before execution.
  • Diff-based unfollow checks that selected users are still part of current.following before the run starts.
  • Stale entries are skipped instead of forced through.
  • The runner stops after too many consecutive failures.

Project layout

manifest.json
src/
  background/   extension background script
  content/      Instagram session bridge and page-side session hooks
  lib/
    diff/       snapshot comparison and selection logic
    instagram/  request and normalization helpers
    shared/     shared errors and message contracts
    storage/    local persistence and import/export
    unfollow/   guarded unfollow runner
  ui/
    popup.*     popup markup, styles, and logic
    sidepanel/  main workflow UI
scripts/
assets/
  icons/        extension runtime icons
  readme/       public README visuals

Development

Useful commands:

npm run lint:manifest
npm run package

The local development entry point is the Firefox runner:

npm run start:firefox

The first run pre-creates tmp/firefox-profile before web-ext starts. Because the script uses --keep-profile-changes, login state and other profile changes persist in that dedicated development profile.

License

This project is licensed under the GNU General Public License v3.0. See LICENSE for the full text.

About

Firefox extension for reviewing Instagram followers and followed accounts, saving local snapshots, comparing changes over time, and running bulk unfollow actions through your existing browser session.

Topics

Resources

License

Stars

Watchers

Forks

Contributors