Follcker tells you who follows you back on GitHub, without leaving GitHub.
Open any profile's following or followers tab and every account gets a badge:
follows you or doesn't follow you. A summary bar counts the one-sided ones and
can hide everything else with a single click.
- Badges on
?tab=followingand?tab=followers. - Summary bar with counts, plus a "show only these" filter for one-sided follows.
- Works on any profile's follow list, always compared against your own account.
- No token required. GitHub's public API is enough for most accounts.
- A ring in the header showing how much of your hourly GitHub quota is spent.
- Built-in help panel, and a language picker with 10 languages.
- Follows GitHub's theme (light, dark, dimmed, high contrast).
- Works in Chrome and Firefox from the same Manifest V3 codebase.
- Firefox: Firefox Add-ons
- Chrome: not published yet - load it manually with the steps below.
Chrome / Edge / Brave
- Download or clone this repository.
- Open
chrome://extensionsand turn on Developer mode. - Click Load unpacked and pick the repository folder.
Firefox
- Open
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on and pick this repository's
manifest.json. - Open the popup and press Grant if it asks for access to
api.github.com(Firefox makes host permissions opt-in).
- Open the Follcker popup.
- Type your GitHub username and press Save.
- Turn the switch on.
- Visit any profile's following or followers tab.
The interface ships in the ten most spoken languages in the world, and the picker in the popup overrides the browser's own language:
English · 中文(简体) · हिन्दी · Español · Français · العربية · বাংলা · Português (Brasil) · Русский · اردو
Arabic and Urdu render the whole popup right-to-left.
Note
English and Brazilian Portuguese are maintained first-hand. The other eight were machine-assisted and would benefit from a native-speaker review - corrections via pull request are very welcome.
The ring in the popup's header shows how much of GitHub's hourly limit you have spent. Hover it (or focus it with the keyboard) for the percentage, the used/total count and when the window resets. The ring turns amber past 70% and red past 90%, and the numbers are always in the tooltip, so the state never depends on color alone.
The number comes from GitHub's own /rate_limit endpoint, which is free - it
does not count against the limit it reports - plus the quota headers that ride
along on every other call.
The token is optional. Follcker only reads public follower lists, so it works anonymously within GitHub's limit of 60 requests/hour - plenty, because the lists are fetched once and cached for 10 minutes.
Add a token only if you hit that limit. It raises it to 5,000 requests/hour.
Tip
Use a fine-grained token with read-only access and an expiry date. Follcker never writes anything to your account, so no write scope is needed.
Warning
The token is kept in the browser's extension storage, which is not encrypted. Anything able to read your browser profile can read it. This is why Follcker works without one, and why a short-lived read-only token is the safe choice. Use Clear in the popup to remove it at any time.
Follcker fetches /users/{you}/followers and /users/{you}/following once,
caches both lists for 10 minutes, and then every check on the page is a local
lookup. Nothing is sent anywhere except to api.github.com, and nothing about
you is collected.
No build step, no dependencies - load the folder as an unpacked extension.
manifest.json Manifest V3, shared by Chrome and Firefox
_locales/ en, pt_BR
src/shared/browser.js chrome/browser namespace shim
src/shared/i18n.js runtime language switching
src/background/ GitHub API, caching, message routing
src/content/ badge injection on github.com
src/popup/ extension popup
Codacy runs ESLint over this repository. .eslintrc.json describes the shared
global scope the extension's classic scripts rely on, so cross-file names like
ext, t, MSG, I18N and LOCALES are not reported as undefined.
npx eslint .
Note
The manifest declares both background.service_worker (Chrome) and
background.scripts (Firefox), so a single manifest loads in both. Chrome
shows a harmless warning about the unused scripts key.
Before publishing an update to Firefox Add-ons, add the listing's add-on ID
under browser_specific_settings.gecko.id.
ext.i18n.getMessage always follows the browser's language and cannot be
overridden, so the language picker reads the same _locales/<id>/messages.json
files at runtime through src/shared/i18n.js. Adding a language means adding
one folder there and one entry in LOCALES.
If you have any questions or issues, please open an issue on GitHub.
Contributions to this project are welcome. Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes.
- Push to the branch.
- Submit a pull request.
