Powerful, customizable and easy to use Instagram dm bot. With TUI and Electron.js GUI! Using Selenium webdriver and Yaml configuration files. (WIP)
IGopher : (WIP) Golang smart bot for Instagram DM automation
Powerful, customizable and easy to use Instagram dm bot. With TUI and Eletron.js GUI! Using Selenium webdriver and Yaml configuration files.
This project is under active development, there may be bugs or missing features. If you have any problem or would like to see a feature implemented, please, open an issue. This is essential so that we can continue to improve IGopher!
Disclaimer: This is a research project. I am in no way responsible for the use you made of this tool. In addition, I am not responsible for any sanctions and/or limitations imposed on your account after using this bot.
Presentation
IGopher is a new Instagram automation tool that aims to simplify the deployment of such tools and make their use more pleasant thanks to a TUI (Terminal User Interface) as well as a GUI (Graphical User Interface) powered with Electron.js!
Graphical User Interface
A beautiful, cross-platform and easy to use interface! Build with Electron.js and go-astilectron.
Come with Hot Reload functionality to apply configuration changes without restart ! Bot stopping and hot reloading are actions safe by waiting bot idle to execute.
Terminal User Interface
Thanks to the TUI you can easily use this tool on a not very powerful machine, in ssh, on a Vps or even on an operating system without graphical interface! The bot configuration is very easy thanks to the different configuration menus in the TUI. Parameters are managed and saved in Yaml files easy to edit manually! All dependencies are downloaded and managed automatically.
Requirements
- Java
- For Windows:
- [Optionnal] Windows Terminal -> in order to have a best TUI experience
Features
- Selenium webdriver engine
- Automatic dependencies downloading and installation
- Automated IG connection & message sending
- Users scrapping from ig user followers
- Scheduler
- Quotas & user blacklist modules
- Human writing simulation
- Fully and easily customizable through Yaml files or with TUI
- TUI (Terminal User Interface)
- GUI (Graphical User Interface) powered with Electron.js
- Hot Reload functionality to apply configuration changes without restart !
- Stop and Hot Reload are actions safe by waiting bot idle to execute !
- Many more to come !
Check this Project to see all planned features for this tool! Feel free to suggest additional features to implement!
Getting Started
From release
GUI version:
- Download and install Java and Java JDK (needed for Selenium webdriver) and add them to your path (on Windows)
- Download lastest release GUI executable for your operating system
- Move the executable to a dedicated folder (it will create folders/files)
- Launch it
- For the moment, on MacOS, you must move the .app to your Applications folder and execute the binary file located inside the .app one. It will be improved soon!
- Configure the bot with your Instagram credentials and your desired scrapping and autodm settings.
- You’re ready! Just hit the “Launch” option on the dm automation page IGopher will download all needed dependencies automatically, don’t panic if it seems stuck. I will implement a download monitoring view soon
TUI version:
- Download and install Java and Java JDK (needed for Selenium webdriver) and add them to your path (on Windows)
- Download lastest release TUI executable for your operating system
- Move the executable to a dedicated folder (it will create folders/files)
- Launch it:
- On Windows, open a Windows Terminal in the folder (or powershell/cmd but the experience quality can be lower) and execute it:
./tui.exe
or just drag and drop tui.exe in your command prompt - On Linux or MacOS, open you favorite shell in the folder, allow it to be executed with
chmod +x ./tui
and launch it:./tui
- Configure the bot with your Instagram credentials and set your desired scrapping and autodm settings. To do that, you can use the TUI settings screen or directly edit the config.yaml file.
- You’re ready! Just hit the “Launch” option in the TUI main menu
From sources
GUI version:
With bundles
- Download and install Java and Java JDK (needed for Selenium webdriver) and add them to your path (on Windows)
- Install Go on your system
- Download lastest release source archive or clone the master branch
- Launch
bundle.sh
script from the project root directory - Once done, you can find all generated executables in
cmd/igopher/gui-bundle/output
for all operating systems!
Without bundles
- Download and install Java and Java JDK (needed for Selenium webdriver) and add them to your path (on Windows)
- Install Go on your system
- Download lastest release source archive or clone the master branch
- Launch it with this command:
go run ./cmd/igopher/gui
TUI version:
- Download and install Java and Java JDK (needed for Selenium webdriver) and add them to your path (on Windows)
- Install Go on your system
- Download lastest release source archive or clone the master branch
- Launch it with this command:
go run ./cmd/igopher/tui
- Configure the bot with your Instagram credentials and set your desired scrapping and autodm settings. To do that, you can use the TUI settings screen or directly edit the config.yaml file.
- You’re ready! Just hit the “Launch” option in the TUI main menu
Flags
IGopher have a flags system for debuging or to enable system feature. You can activate them by adding them after the executable call, for exemple to activate headless mode: ./tui --headless
There is the list of all available flags:
--debug Display debug and selenium output --force-download Force redownload of all dependencies even if exists --headless Run WebDriver with frame buffer --ignore-dependencies Skip dependencies management --loglevel string Log level threshold (default "info") --port int Specify custom communication port (default 8080)
You can recover this list by adding –help flag.
Known Issues
[GUI] Microsoft Smart Screen block IGopher.exe execution
At the moment Microsoft Smart Screen block IGopher.exe from launching. To avoid that, you must whitelist IGopher. I’m currently investigating on this issue, I submitted my exe to Microsoft so we will see.
[GUI] Running the .app on MacOs does nothing
At the moment, you must move the .app to your Applications folder and run the binary file located in it. It can also block the execution since the app isn’t signed yet. You can avoid it by launching it from terminal or by right clicking on it and open it.
Orphaned Chromium processes may remain after crashing or shutting down IGopher
Indeed, under certain circumstances, it is possible that certain Chromium processes do not close and run in the background after IGopher crash or unexpected shutdown. This problem will be fixed very quickly, but in the meantime you can kill them via the task manager or the terminal without troubles.
If you find other problems, please open an issue. This is essential so that we can continue to improve IGopher!
Contributing
Contributions are greatly appreciated!
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some amazing stuff'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Create a new Pull Request
Issues and feature requests are welcome! Feel free to check issues page.
Show your support
Give a if this project helped you!
License
This project is under MIT license.
Leave a Reply