Skip to content

obalunenko/instadiff-cli

Repository files navigation

coverbadger-tag-do-not-edit

GO Build Status Quality Gate Status Codacy Badge Go Report Card Latest release artifacts License

instadiff-cli


instadiff-cli - a command line tool for managing instagram account followers and followings

Usage

instadiff-cli help


██╗███╗   ██╗███████╗████████╗ █████╗ ██████╗ ██╗███████╗███████╗     ██████╗██╗     ██╗
██║████╗  ██║██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║██╔════╝██╔════╝    ██╔════╝██║     ██║
██║██╔██╗ ██║███████╗   ██║   ███████║██║  ██║██║█████╗  █████╗█████╗██║     ██║     ██║
██║██║╚██╗██║╚════██║   ██║   ██╔══██║██║  ██║██║██╔══╝  ██╔══╝╚════╝██║     ██║     ██║
██║██║ ╚████║███████║   ██║   ██║  ██║██████╔╝██║██║     ██║         ╚██████╗███████╗██║
╚═╝╚═╝  ╚═══╝╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═════╝ ╚═╝╚═╝     ╚═╝          ╚═════╝╚══════╝╚═╝


NAME:
   instadiff-cli - a command line tool for managing instagram account followers and followings

USAGE:
   instadiff-cli [global options] command [command options] [arguments...]

VERSION:
| app_name:     instadiff-cli                            |
| version:      v1.6.3                                   |
| go_version:   go1.18.3                                 |
| commit:       5364e5d3ac3a6178d5d841b6bcefaf714ab02b20 |
| short_commit: 5364e5d3                                 |
| build_date:   2022-06-29T20:51:47Z                     |
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


AUTHOR:
   Oleg Balunenko <oleg.balunenko@gmail.com>

COMMANDS:
   list-followers, followers                                                 List your followers
   list-followings, followings                                               List your followings
   clean-followings, clean, unfollow-unmutual, remove-unmutual, rm-unmutual  Un follow not mutual followings, except of whitelisted
   remove-followers, rm, remove                                              Remove a list of followers, by username.
   unfollow-users, unfollow, remove-followings                               Unfollow a list of followings, by username.
   follow-users, follow, add-followings                                      Follow a list of followings, by username.
   list-unmutual, unmutual                                                   List all not mutual followings
   list-useless, useless, bots                                               List all statistic-useless accounts (bots, business accounts or mass-followers) (alpha)
   list-diff, diff                                                           List diff for account (lost and new followers and followings)
   diff-history, history                                                     List diff account history (lost and new followers and followings)
   help, h                                                                   Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --config_path value  Path to the config file (default: ".config.json")
   --help, -h           show help (default: false)
   --incognito          Incognito removes session on application exit. (default: false)
   --log_level value    Level of output logs (default: "INFO")
   --version, -v        print the version (default: false)

   

To get help for any supported command:

instadiff-cli help [command]

Example of config file:

{
  "instagram": {
    "whitelist": [
      "user1",
      "user2",
      "user3",
      "1234567"
    ],
    "limits": {
      "unfollow": 100
    },
    "sleep": 7
  },
  "storage": {
    "local": false,
    "mongo": {
      "url": "mongodb://127.0.0.1:27017",
      "db": "testing"
    }
  }
}
  • instagram: it is a config for instagram
    • whitelist: list of followings that will be not unfollowed even if they are not mutual (usernames and ID's supported both).
    • limits: limits per one run.
      • unfollow: number of users that could be unfollowed in one run (be careful with big number - account could be banned)
    • sleep: sleep interval in seconds between each unfollow request to prevent account ban for ddos reason.
  • storage: it's a config for database storage.
    • local: if true, memory cache will be used and connection to mongo will be not set.
    • mongo: is a config for mongo database
      • url: url of mongo DB to connect
      • db: name of Database

Create a json file with configuration and pass the path to it via flag --config_path

instadiff-cli --config_path ".config.json" [command]

Develop

To start developing - create the fork of repository, make changes and open PR to the origin.

Build

Run make build command in the root of repository to compile the binary and test locally changes.

Testing

Run make test command in the root of repository to execute unit tests.