Skip to content

Migration to JS and chrome extension - #97

Open
alvaroscelza wants to merge 10 commits into
tuxity:mainfrom
alvaroscelza:main
Open

alvaroscelza wants to merge 10 commits into
tuxity:mainfrom
alvaroscelza:main

Conversation

@alvaroscelza

Copy link
Copy Markdown
  • Project was migrated to a Chrome extension (MV3) so logic runs in the Instagram tab with sessionStorage and injected page_runner.js. Thus, we avoid handling credentials.
  • Unfollow behavior was simplified (e.g. no separate “verified-only” path); whitelist and progress/logging were integrated into the popup, with polling so reopening the popup still reflects tab state.
  • Friendship loading was made more resilient (shorter / simpler retry strategy vs long fixed backoffs).
  • Rate limiting & pacing were tuned several times: random delays between profile fetch and unfollow, pagination gaps, a global requests-per-minute cap, and a long pause every 15 successful unfollows (eventually 10 minutes).
  • Instagram returning HTML (HTTP 200) instead of JSON on unfollow is detected; the run stops with a clear outcome instead of blindly retrying.
  • Session user detection was adjusted to rely more on Instagram’s web form data when needed, instead of the previous current_user-centric path.

- Ignoring more things, including .env file.
- Added claude rules
- Removed dockerfile support, too small a project to really need it.
- Refactor of main .py file to follow OOP, clean code, and other stuff... see CLAUDE rules.
- Migrated from pip to UV.
- Removed all github files, not needed.
…trying on getting "html" error. We know that happens when ig gets angry at us :)
@alvaroscelza

alvaroscelza commented Apr 7, 2026

Copy link
Copy Markdown
Author

@tuxity thanks for the original code :)
No need to really review and approve this but since I got it working I wanted to share it back in case you wanted to use it.

Heads up: it takes around 90 minutes to unfollow 100 users due to waiting 😖
But it was fun to make :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant