{"id":15199798,"url":"https://github.com/hbollon/igopher","last_synced_at":"2025-05-12T14:46:50.517Z","repository":{"id":43018144,"uuid":"312375644","full_name":"hbollon/IGopher","owner":"hbollon","description":"⚡ Powerful, customizable and easy to use Instagram dm bot. With TUI and Electron.js GUI! Using Selenium webdriver and Yaml configuration files. (WIP)","archived":false,"fork":false,"pushed_at":"2023-09-07T06:00:48.000Z","size":11033,"stargazers_count":166,"open_issues_count":5,"forks_count":30,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-31T23:26:16.312Z","etag":null,"topics":["automation","bot","electron","go","golang","graphical-user-interface","gui","instagram","instagram-automation","instagram-bot","instagram-dm-bot","selenium","selenium-webdriver","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hbollon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["hbollon"],"ko_fi":"hugobollon","custom":["paypal.me/hugobollon"]}},"created_at":"2020-11-12T19:27:44.000Z","updated_at":"2025-03-31T16:05:57.000Z","dependencies_parsed_at":"2024-06-18T21:31:51.933Z","dependency_job_id":"a75b5b4a-b0e1-4e3a-873c-9ecdca6f5457","html_url":"https://github.com/hbollon/IGopher","commit_stats":{"total_commits":306,"total_committers":3,"mean_commits":102.0,"dds":"0.016339869281045805","last_synced_commit":"3a86b6e4d50343ad8e2646a51757288d3ccc4d57"},"previous_names":["hbollon/go-instadm"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbollon%2FIGopher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbollon%2FIGopher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbollon%2FIGopher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbollon%2FIGopher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hbollon","download_url":"https://codeload.github.com/hbollon/IGopher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253757935,"owners_count":21959503,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bot","electron","go","golang","graphical-user-interface","gui","instagram","instagram-automation","instagram-bot","instagram-dm-bot","selenium","selenium-webdriver","tui"],"created_at":"2024-09-28T02:02:03.226Z","updated_at":"2025-05-12T14:46:50.489Z","avatar_url":"https://github.com/hbollon.png","language":"Go","readme":"\u003ch1 align=\"center\"\u003eIGopher : (WIP) Golang smart bot for Instagram DM automation\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"IGopher logo\" height=\"250\" src=\"doc/IGopher.png\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/hbollon/IGopher/actions\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Build CI\" src=\"https://github.com/hbollon/igopher/workflows/build/badge.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/hbollon/igopher\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Go Report Card\" src=\"https://goreportcard.com/badge/github.com/hbollon/igopher\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/hbollon/igopher/blob/master/LICENSE.md\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pkg.go.dev/github.com/hbollon/go-instadm\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://pkg.go.dev/badge/github.com/hbollon/go-instadm\" alt=\"PkgGoDev\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e⚡ Powerful, customizable and easy to use Instagram dm bot. With TUI and Eletron.js GUI! Using Selenium webdriver and Yaml configuration files.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eThis 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! \u003c/strong\u003e\u003c/p\u003e\n\n\n---\n\n\u003e 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.\n\n---\n\n## Table of Contents\n\n- [Presentation](#presentation)\n  - [Graphical User Interface](#graphical-user-interface)\n  - [Terminal User Interface](#terminal-user-interface)\n- [Features](#features)\n- [Getting Started](#getting-started)\n  - [From release](#from-release)\n  - [From sources](#from-sources)\n  - [Flags](#flags)\n- [Known Issues](#known-issues)\n- [Contributing](#-contributing)\n- [Author](#author)\n- [License](#-license)\n\n## Presentation\n\nIGopher 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!\n\n### Graphical User Interface\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/gifs/demo_gui.gif\"\u003e\n  \u003csmall\u003eA beautiful, cross-platform and easy to use interface! Build with Electron.js and \u003ca href=\"https://github.com/asticode/go-astilectron\"\u003ego-astilectron\u003c/a\u003e.\u003c/small\u003e\n\u003c/p\u003e\n\nCome with **Hot Reload** functionality to apply configuration changes without restart !\nBot stopping and hot reloading are actions safe by waiting bot idle to execute.\n\n### Terminal User Interface\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/gifs/demo.gif\"\u003e\n  \u003csmall\u003eAutomatic user fetching and message sending!\u003c/small\u003e\n\u003c/p\u003e\n\nThanks 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!\nThe 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!\nAll dependencies are downloaded and managed automatically.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/gifs/demo_tui.gif\"\u003e\n  \u003csmall\u003eEasily configurable and easy to use thanks to his TUI !\u003c/small\u003e\n\u003c/p\u003e\n\n### Requirements\n- [Java 8 or 11](https://java.com/fr/download/) (incompatible with newer versions yet)\n- For Windows:\n  - [Optionnal] [Windows Terminal](https://www.microsoft.com/fr-fr/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab) -\u003e in order to have a best TUI experience\n\n## Features\n- Selenium webdriver engine :stars:\n- Automatic dependencies downloading and installation :stars:\n- Automated IG connection \u0026 message sending :stars:\n- Users scrapping from ig user followers :stars:\n- Scheduler :stars:\n- Quotas \u0026 user blacklist modules :stars:\n- Human writing simulation :stars:\n- Fully and easily customizable through Yaml files or with TUI :stars:\n- TUI (Terminal User Interface) :stars:\n- GUI (Graphical User Interface) powered with Electron.js :stars:\n  - Hot Reload functionality to apply configuration changes without restart !\n  - Stop and Hot Reload are actions safe by waiting bot idle to execute !\n- Many more to come ! 🥳\n\n**Check this [Project](https://github.com/hbollon/igopher/projects/1) to see all planned features for this tool! Feel free to suggest additional features to implement! 🥳**\n\n## Getting Started\n\n### From release\n\n#### GUI version:\n\n1. Download and install [Java 8 or 11](https://java.com/fr/download/) (needed for Selenium webdriver) and add them to your path (on Windows)\n2. Download [lastest release](https://github.com/hbollon/igopher/releases/latest) GUI executable for your operating system\n3. Move the executable to a dedicated folder (it will create folders/files)\n4. Launch it\n- 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!\n5. Configure the bot with your Instagram credentials and your desired scrapping and autodm settings.\n6. You're ready! Just hit the \"Launch\" option on the dm automation page 🚀 \nIGopher will download all needed dependencies automatically, don't panic if it seems stuck. I will implement a download monitoring view soon :smile:\n\n#### TUI version:\n\n1. Download and install [Java 8 or 11](https://java.com/fr/download/) (needed for Selenium webdriver) and add them to your path (on Windows)\n2. Download [lastest release](https://github.com/hbollon/igopher/releases/latest) TUI executable for your operating system\n3. Move the executable to a dedicated folder (it will create folders/files)\n4. Launch it:\n- 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\n- On Linux or MacOS, open you favorite shell in the folder, allow it to be executed with ```chmod +x ./tui``` and launch it: ```./tui```\n5. 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.\n6. You're ready! Just hit the \"Launch\" option in the TUI main menu 🚀\n\n### From sources\n\n#### GUI version:\n\n##### With bundles\n\n1. Download and install [Java 8 or 11](https://java.com/fr/download/) (needed for Selenium webdriver) and add them to your path (on Windows)\n2. Install [Go](https://golang.org/doc/install) on your system\n3. Download [lastest release](https://github.com/hbollon/igopher/releases/latest) source archive or clone the master branch\n4. Launch ```bundle.sh``` script from the project root directory\n5. Once done, you can find all generated executables in ```cmd/igopher/gui-bundle/output``` for all operating systems!\n\n##### Without bundles\n\n1. Download and install [Java 8 or 11](https://java.com/fr/download/) (needed for Selenium webdriver) and add them to your path (on Windows)\n2. Install [Go](https://golang.org/doc/install) on your system\n3. Download [lastest release](https://github.com/hbollon/igopher/releases/latest) source archive or clone the master branch\n4. Launch it with this command: ```go run ./cmd/igopher/gui```\n\n#### TUI version:\n\n1. Download and install [Java 8 or 11](https://java.com/fr/download/) (needed for Selenium webdriver) and add them to your path (on Windows)\n2. Install [Go](https://golang.org/doc/install) on your system\n3. Download [lastest release](https://github.com/hbollon/igopher/releases/latest) source archive or clone the master branch\n4. Launch it with this command: ```go run ./cmd/igopher/tui```\n5. 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.\n6. You're ready! Just hit the \"Launch\" option in the TUI main menu 🚀\n\n### Flags\n\nIGopher have a flags system for debuging or to enable system feature.\nYou can activate them by adding them after the executable call, for exemple to activate headless mode:\n```./tui --headless```\n\nThere is the list of all available flags:\n```\n--debug\n      Display debug and selenium output\n--force-download\n      Force redownload of all dependencies even if exists\n--headless\n      Run WebDriver with frame buffer\n--ignore-dependencies\n      Skip dependencies management\n--loglevel string\n      Log level threshold (default \"info\")\n--port int\n      Specify custom communication port (default 8080)\n```\n\nYou can recover this list by adding **--help** flag.\n\n## Known Issues\n\n#### [GUI] Microsoft Smart Screen block IGopher.exe execution\n\nAt the moment Microsoft Smart Screen block IGopher.exe from launching. To avoid that, you must whitelist IGopher.\nI'm currently investigating on this issue, I submitted my exe to Microsoft so we will see.\n\n#### [GUI] Running the .app on MacOs does nothing\n\nAt the moment, you must move the .app to your Applications folder and run the binary file located in it.\nIt 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.\n\n#### Javascript error just after bot launch\n\nThis issue ofter happen with an incompatible Java version installed. \nIndeed, IGopher isn't compatible with versions of the JRE greater than 11 yet due to the use of Selenium 3.\n\nWorking Java versions tested:\n- Windows: [Java 8](https://java.com/fr/download/)\n- Linux (Manjaro): **jre11-openjdk** -\u003e `sudo pacman -S jre11-openjdk`\n\n\n**If you find other problems, please open an issue. This is essential so that we can continue to improve IGopher! :smile:**\n\n## 🤝 Contributing\n\nContributions are greatly appreciated!\n\n1. Fork the project\n2. Create your feature branch (```git checkout -b feature/AmazingFeature```)\n3. Commit your changes (```git commit -m 'Add some amazing stuff'```)\n4. Push to the branch (```git push origin feature/AmazingFeature```)\n5. Create a new Pull Request\n\nIssues and feature requests are welcome!\nFeel free to check [issues page](https://github.com/hbollon/igopher/issues).\n\n## Author\n\n👤 **Hugo Bollon**\n\n* Github: [@hbollon](https://github.com/hbollon)\n* LinkedIn: [@Hugo Bollon](https://www.linkedin.com/in/hugobollon/)\n* Portfolio: [hugobollon.me](https://www.hugobollon.me)\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n\n## 📝 License\n\nThis project is under [MIT](https://github.com/hbollon/igopher/blob/master/LICENSE.md) license.\n","funding_links":["https://github.com/sponsors/hbollon","https://ko-fi.com/hugobollon","paypal.me/hugobollon"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhbollon%2Figopher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhbollon%2Figopher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhbollon%2Figopher/lists"}