Skip to content
This repository has been archived by the owner on Oct 23, 2018. It is now read-only.
/ follow-sync Public archive

Re-synchronize your Instagram following list (or: unfollow everyone who doesn't follow you back)

License

Notifications You must be signed in to change notification settings

kirsle/follow-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Follow Sync

Follow Sync is a little Go program that helps you synchronize your Instagram "Following" list. Basically, it can unfollow all profiles that are not following you back.

🚨 NOTICE: This project is no longer maintained.

I no longer use Instagram and therefore have no way to test or maintain any fixes to this program. It uses an upstream library that uses Instagram's proprietary API (reverse-engineering what the official app does, to get to features their public API doesn't allow/to circumvent all of that nonsense).

The proprietary API is subject to change (and they probably change it on purpose now and again because they don't want people to use it) so this program may break periodically. If upstream ahmdrz/goinsta continues to work, this should too with a rebuild from source.

Fork this project if you need to maintain it other than that.

If you go get to install this it should probably (try to) build with the latest goinsta library which may work at any given time.

--Kirsle

Screenshot

It uses the Instagram unofficial API (ahmdrz/goinsta) to log in to your account (pretending that it's an Android device), compares your followers and following lists, and provides a summary and a choice of action: go ahead and unfollow the users who don't follow you back, or exit and you can review the data on your own.

This program creates a CSV file named follower-lists-$USERNAME.csv that contains your full list, so you can examine what's on your lists or as a backup in case you want to know who you unfollowed later.

$ go install -u github.com/kirsle/follow-sync
$ follow-sync [-wait DELAY=60]

By default, this program waits 60 seconds between each unfollow. This is the safest rate to stay under Instagram's rate limit, but you can override it if needed. See Caveats below.

Program Usage

Just run the follow-sync executable. It will prompt for your username and password (non-echoed output), collect your friend lists and compare them, and print out a summary.

At this point you can open the follower-lists-$USERNAME.csv in your favorite spreadsheet program if you want to inspect the Following and Follower lists.

The program will prompt for final verification before it goes ahead and begins unfollowing users.

Caveats

Occasionally, the Instagram API can get pretty fussy with rate limits. Most API functions this program calls will panic if it gets an error. No big deal: you can just wait a few minutes and run the program again and it should pick up where it left off.

The safest rate limit according to what documentation I could find is to not unfollow more than 60 profiles per hour. As such, this program has a 60 second delay between each unfollow action by default.

I've seen with shorter delays, such as 2 seconds, that I was able to unfollow between 600 and 900 users before the API rate limited me.

To change the delay between unfollows, use the -wait command line option. For example:

$ follow-sync -wait 2

Distributing

The shell script dist.sh can cross-compile the binary for multiple platforms.

Full list of examples for the platforms I export to:

./dist.sh linux 64
./dist.sh linux 32

./dist.sh windows 64
./dist.sh windows 32

./dist.sh darwin 64

Distributables are put into appropriately-named subdirectories of the dist/ folder, and zipped up along with other project metafiles (README, etc.)

License

Follow-Sync: Instagram Follower Synchronization Tool
Copyright (C) 2017 Noah Petherbridge

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

About

Re-synchronize your Instagram following list (or: unfollow everyone who doesn't follow you back)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published