{"id":28486439,"url":"https://github.com/samueltuoyo15/ghostbuster","last_synced_at":"2026-04-22T05:34:05.781Z","repository":{"id":280049662,"uuid":"940843720","full_name":"samueltuoyo15/GhostBuster","owner":"samueltuoyo15","description":"GhostBuster is my personal GitHub following cleaner! This sleek Go application intelligently identifies and unfollows users who aren't following me back. Keep my GitHub network tidy and reciprocal with ease ","archived":false,"fork":false,"pushed_at":"2025-07-16T12:45:22.000Z","size":18,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-25T10:18:22.882Z","etag":null,"topics":["github-actions-ci-cd"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samueltuoyo15.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-02-28T22:38:32.000Z","updated_at":"2025-12-26T10:16:51.000Z","dependencies_parsed_at":"2025-04-02T21:35:15.569Z","dependency_job_id":null,"html_url":"https://github.com/samueltuoyo15/GhostBuster","commit_stats":null,"previous_names":["samueltuoyo15/github-unfollow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/samueltuoyo15/GhostBuster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltuoyo15%2FGhostBuster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltuoyo15%2FGhostBuster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltuoyo15%2FGhostBuster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltuoyo15%2FGhostBuster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samueltuoyo15","download_url":"https://codeload.github.com/samueltuoyo15/GhostBuster/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samueltuoyo15%2FGhostBuster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32122755,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["github-actions-ci-cd"],"created_at":"2025-06-08T01:34:57.581Z","updated_at":"2026-04-22T05:34:05.762Z","avatar_url":"https://github.com/samueltuoyo15.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **GhostBuster** 👻🧹\n\nGhostBuster is my personal GitHub following cleaner! This sleek Go application intelligently identifies and unfollows users who aren't following me back. Keep my GitHub network tidy and reciprocal with ease ✨.\n\n## Installation 🚀\n\nGetting GhostBuster up and running on your local machine is straightforward. Follow these steps:\n\n### Prerequisites\n\nBefore you begin, ensure you have [Go](https://go.dev/doc/install) (version 1.23.5 or newer, as specified in `go.mod`) installed on your system.\n\n### Clone the Repository\n\nFirst, clone the project repository to your local machine:\n\n```bash\ngit clone https://github.com/samueltuoyo15/Github-Unfollow.git\ncd Github-Unfollow\n```\n\n### Environment Setup\n\nThis application requires a GitHub Personal Access Token to interact with the GitHub API.\n\n✨ Create a new file named `.env` in the root directory of the project:\n\n```bash\ntouch .env\n```\n\n📝 Open the `.env` file and add your GitHub Personal Access Token:\n\n```env\nMY_GITHUB_TOKEN=YOUR_GITHUB_PERSONAL_ACCESS_TOKEN\n```\n\n*   **Important**: Replace `YOUR_GITHUB_PERSONAL_ACCESS_TOKEN` with your actual token. Ensure this token has `user:follow` scope to allow unfollowing. For security, never commit your `.env` file to version control!\n\n### Install Dependencies\n\nNavigate to the project root and fetch the necessary Go modules:\n\n```bash\ngo mod tidy\n```\n\n### Run the Application\n\nOnce dependencies are installed, you can run the application from the `cmd` directory:\n\n```bash\ngo run cmd/main.go\n```\n\n## Usage 🛠️\n\nOnce installed, running GhostBuster is simple. The application will automatically connect to the GitHub API using your provided token, identify non-followers, and proceed to unfollow them.\n\n1.  **Execute the application:**\n    Open your terminal, navigate to the `Github-Unfollow` directory, and run:\n    ```bash\n    go run cmd/main.go\n    ```\n\n2.  **Observe the output:**\n    The application will first display your GitHub username, then proceed to fetch your followers and the users you are following.\n    \n    If there are no users to unfollow (everyone you follow also follows you back), you will see a message like:\n    ```\n    No one to unfollow. am all good!\n    ```\n\n    If there are users who are not following you back, the application will list them and then begin the unfollowing process:\n    ```\n    These are the people that aren't following me back:\n    - user1\n    Successfully Unfollowed user1\n    - user2\n    Successfully Unfollowed user2\n    Failed to unfollow user3: API error message here\n    ...\n    Successfully unfollowed X users.\n    ```\n    \n    *   **Note on rate limiting**: The application includes a small delay (`500ms`) between unfollow actions to respect GitHub API rate limits. This helps prevent potential issues with too many rapid requests.\n\n## Key Features 🌟\n\nGhostBuster is designed to be effective and user-friendly, offering the following capabilities:\n\n*   **Automated Unfollowing**: Automatically scans your GitHub following list and unfollows accounts that do not follow you back, saving you manual effort.\n*   **GitHub API Integration**: Built upon `github.com/google/go-github`, ensuring reliable and up-to-date interaction with the GitHub API.\n*   **Secure Credential Management**: Utilizes `godotenv` to securely load your GitHub Personal Access Token from an environment file, keeping sensitive information out of your codebase.\n*   **Rate Limit Compliance**: Implements strategic delays between API calls to gracefully handle GitHub's rate limits, preventing service interruptions.\n*   **Informative Output**: Provides clear, real-time feedback on which accounts are being unfollowed, along with a final summary of the operation.\n\n## Technologies Used 💻\n\nThis project is crafted with modern Go practices and relies on a few well-regarded libraries:\n\n| Technology  | Description                                        | Link                                      |\n| :---------- | :------------------------------------------------- | :---------------------------------------- |\n| **Go**      | The primary programming language used.             | [go.dev](https://go.dev/)                 |\n| **Go-GitHub** | Official Go client for the GitHub API.           | [GitHub](https://github.com/google/go-github) |\n| **OAuth2**  | Go packages for OAuth 2.0.                       | [GitHub](https://golang.org/x/oauth2)     |\n| **Godotenv**| Loads environment variables from a `.env` file.  | [GitHub](https://github.com/joho/godotenv) |\n\n## License 📄\n\nNo specific license file was found within this repository. If you plan to use or distribute this project, please consider adding an explicit license.\n\n## About the Author 👋\n\nHi there! I'm Samuel Tuoyo, the creator of GhostBuster. I'm passionate about building practical tools with Go that simplify everyday development tasks.\n\nFeel free to connect with me:\n\n*   **GitHub**: [@samueltuoyo15](https://github.com/samueltuoyo15)\n*   **LinkedIn**: [Your LinkedIn Profile](https://www.linkedin.com/in/samuel-tuoyo-8568b62b6)\n*   **Twitter**: [@your_twitter](https://x.com/TuoyoS26091)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://go.dev/\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Go-1.23.5-00ADD8?style=for-the-badge\u0026logo=go\" alt=\"Go Version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/samueltuoyo15/Github-Unfollow\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/samueltuoyo15/Github-Unfollow?style=for-the-badge\u0026color=FFE066\u0026label=Stars\u0026logo=github\" alt=\"GitHub Stars\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/samueltuoyo15/Github-Unfollow\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/samueltuoyo15/Github-Unfollow?style=for-the-badge\u0026color=64FFDA\u0026label=Forks\u0026logo=github\" alt=\"GitHub Forks\"\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-Unlicensed-blue.svg?style=for-the-badge\" alt=\"License\"\u003e\n\u003c/p\u003e\n\n[![Readme was generated by Dokugen](https://img.shields.io/badge/Readme%20was%20generated%20by-Dokugen-brightgreen)](https://www.npmjs.com/package/dokugen)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamueltuoyo15%2Fghostbuster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamueltuoyo15%2Fghostbuster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamueltuoyo15%2Fghostbuster/lists"}