{"id":23388246,"url":"https://github.com/k1rsn7/submanager","last_synced_at":"2025-04-09T07:06:53.573Z","repository":{"id":264328573,"uuid":"891471143","full_name":"K1rsN7/SubManager","owner":"K1rsN7","description":"👨‍💼 SubManager is a cross-platform Python tool for automatically managing GitHub subscriptions","archived":false,"fork":false,"pushed_at":"2025-03-10T19:13:18.000Z","size":274,"stargazers_count":99,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-09T07:06:30.508Z","etag":null,"topics":["bot","crontab","follow","follow-bot","followers-and-following-lists","following","github","github-api","linux","macos","python","python3","subscribe","subscriber","subscription","subscriptions","windows","windows-app"],"latest_commit_sha":null,"homepage":"","language":"Python","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/K1rsN7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-11-20T11:51:44.000Z","updated_at":"2025-04-06T19:28:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"102da33e-576b-422b-8a89-ef5e6fb6e813","html_url":"https://github.com/K1rsN7/SubManager","commit_stats":null,"previous_names":["k1rsn7/submanager"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K1rsN7%2FSubManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K1rsN7%2FSubManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K1rsN7%2FSubManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K1rsN7%2FSubManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/K1rsN7","download_url":"https://codeload.github.com/K1rsN7/SubManager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994121,"owners_count":21030050,"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":["bot","crontab","follow","follow-bot","followers-and-following-lists","following","github","github-api","linux","macos","python","python3","subscribe","subscriber","subscription","subscriptions","windows","windows-app"],"created_at":"2024-12-22T02:18:21.240Z","updated_at":"2025-04-09T07:06:53.550Z","avatar_url":"https://github.com/K1rsN7.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\t\u003cimg src=\"./img/banner.jpg\"\u003e\n    \u003ch1\u003eSubscribe to those who subscribe to you!\u003c/h1\u003e\n      \u003ca href=\"https://github.com/K1rsN7/SubManager/issues\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/github/issues/K1rsN7/SubManager?color=C0CBD1\u0026labelColor=1F3B58\u0026style=for-the-badge\"\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://github.com/K1rsN7/SubManager/stargazers\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/github/stars/K1rsN7/SubManager?color=C0CBD1\u0026labelColor=1F3B58\u0026style=for-the-badge\"\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"./LICENSE\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/github/license/K1rsN7/SubManager?color=C0CBD1\u0026labelColor=1F3B58\u0026style=for-the-badge\"\u003e\n\t\u003c/a\u003e\n\u003c/div\u003e\n\u003ch2 align=\"center\"\u003eProject Description\u003c/h2\u003e\n\u003cp\u003eSubManager is a powerful and user-friendly Python tool designed to automate the management of subscriptions in GitHub. In today's world where audience interaction is key, it's important to keep your subscriptions up to date and keep up to date with changes in your network of contacts.\u003c/p\u003e\n\u003cp\u003eWith SubManager, you can easily subscribe users who have subscribed to you and unsubscribe those who have decided to leave you. This makes it much easier to keep your subscription list up-to-date and allows you to focus on engaging with your audience rather than on mundane tasks.\u003c/p\u003e\n\u003cp\u003eSubManager's key features include:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eCross-platform:\u003c/strong\u003e The script is written in Python and runs on a variety of operating systems including Windows, macOS and Linux, making it accessible to a wide audience.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eAutomatic Subscription:\u003c/strong\u003e The script automatically subscribes to all users who have subscribed to your account, so you don't miss out on new subscribers.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eAutomatic unsubscribe:\u003c/strong\u003e You can easily unsubscribe users who have unsubscribed from you, which helps keep your subscription list clean.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eExceptions to the algorithm:\u003c/strong\u003e SubManager provides the ability to use two files: \u003ccode\u003eban_list_followers.txt\u003c/code\u003e and \u003ccode\u003eban_list_following.txt\u003c/code\u003e. These files allow you to add users to a blacklist, excluding them from automatic subscriptions and unsubscriptions, giving you complete control over who you want to leave out of the automated process.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 align=\"center\"\u003eInstallation\u003c/h2\u003e\n\u003col\u003e\n    \u003cli\u003e\u003cstrong\u003eClone the repository:\u003c/strong\u003e\n        \u003cpre\u003e\u003ccode\u003egit clone https://github.com/K1rsN7/SubManager.git\ncd SubManager\u003c/code\u003e\u003c/pre\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eCustomize the file \u003ccode\u003econfig.json\u003c/code\u003e:\u003c/strong\u003e\n    \u003cp\u003eOpen the \u003ccode\u003econfig.json\u003c/code\u003e file and change the following fields to your own:\u003c/p\u003e\n    \u003cpre\u003e\u003ccode\u003e{\n    \"USERNAME\": \"Your username\", \n    \"TOKEN\": \"Your token\",\n    \"PROMOTION\": true,\n    \"DAYS_PERIOD\": 3,\n    \"COUNT_PROMOTION_USERS\": 500,\n    \"RETRY_ON\": true\n}\n\u003c/code\u003e\u003c/pre\u003e\n    \u003cp\u003eIf you are unsure how to generate a personal access token, please refer to the documentation at \u003ca href=\"./Docs/Generate Token.md\"\u003eGenerate Token.md\u003c/a\u003e for detailed instructions.\u003c/p\u003e\n\u003c/li\u003e\n\n\u003c/ol\u003e\n\n\u003ch2 align=\"center\"\u003eRunning the program\u003c/h2\u003e\n\u003cp\u003eTo run the program manually, run the following command in the terminal:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 main.py\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2 align=\"center\"\u003eStartup automation\u003c/h2\u003e\n\u003cp\u003eTo automate the launch of the SubManager script, follow these steps depending on your operating system:\u003c/p\u003e\n\n\u003ch3\u003eFor Linux or macOS\u003c/h3\u003e\n\u003col\u003e\n    \u003cli\u003eOpen crontab for editing:\n        \u003cpre\u003e\u003ccode\u003esudo crontab -e\u003c/code\u003e\u003c/pre\u003e\n    \u003c/li\u003e\n    \u003cli\u003eAdd the following line to the crontab file:\n        \u003cpre\u003e\u003ccode\u003e0 */2 * * * /usr/bin/python3 GLOBAL_PATH/main.py\u003c/code\u003e\u003c/pre\u003e\n        \u003cp\u003eReplace \u003ccode\u003eGLOBAL_PATH\u003c/code\u003e to the full path to the \u003ccode\u003emain.py\u003c/code\u003e file.\u003c/p\u003e\n    \u003c/li\u003e\n    \u003cli\u003eSave your changes and exit the editor.\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch3\u003eFor Windows\u003c/h3\u003e\n\u003col\u003e\n    \u003cli\u003e\u003cstrong\u003eOpen the Task Scheduler:\u003c/strong\u003e\n        \u003cul\u003e\n            \u003cli\u003ePress \u003cstrong\u003eWindows + R\u003c/strong\u003e, then type \u003ccode\u003etaskschd.msc\u003c/code\u003e and press Enter.\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eCreate a new task:\u003c/strong\u003e\n        \u003cul\u003e\n            \u003cli\u003eIn the right pane, select \u003cstrong\u003eCreate Task\u003c/strong\u003e.\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eConfigure the general settings:\u003c/strong\u003e\n        \u003cul\u003e\n            \u003cli\u003eEnter the name of the task and a description.\u003c/li\u003e\n            \u003cli\u003eMake sure that the correct version of Windows is selected in the \u003cstrong\u003eConfiguration for\u003c/strong\u003e field.\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eSet Trigger:\u003c/strong\u003e\n        \u003cul\u003e\n            \u003cli\u003eGo to the \u003cstrong\u003eTriggers\u003c/strong\u003e tab and click \u003cstrong\u003eCreate\u003c/strong\u003e.\u003c/li\u003e\n            \u003cli\u003eSelect \u003cstrong\u003eSchedule\u003c/strong\u003e.\u003c/li\u003e\n            \u003cli\u003eSet the frequency to \u003cstrong\u003eEvery 2 hours\u003c/strong\u003e. To do this, you can select “Daily” and then specify the execution interval.\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eCustomize the action:\u003c/strong\u003e\n        \u003cul\u003e\n            \u003cli\u003eGo to the \u003cstrong\u003eActions\u003c/strong\u003e tab and click \u003cstrong\u003eCreate\u003c/strong\u003e.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eSelect Run Program\u003c/strong\u003e.\u003c/li\u003e\n            \u003cli\u003e\u003cp\u003e\u003cstrong\u003eIn the “Program or Script”\u003c/strong\u003e field, specify the path to the Python interpreter, for example:\u003c/p\u003e\n                \u003cpre\u003e\u003ccode\u003eC:\\Path\\To\\Python\\python.exe\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n            \u003cli\u003e\u003cp\u003e\u003cstrong\u003eIn the “Arguments”\u003c/strong\u003e field, specify the path to your script:\u003c/p\u003e\n                \u003cpre\u003e\u003ccode\u003eC:\\Path\\To\\Your\\Script\\main.py\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eSave the task:\u003c/strong\u003e\n        \u003cul\u003e\n            \u003cli\u003e\u003cp\u003eClick “OK” to save the task settings.\u003c/p\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2 align=\"center\"\u003eLicense\u003c/h2\u003e\n\u003cp\u003eThis project is licensed under the \u003ca href=“./LICENSE”\u003eMIT License\u003c/a\u003e. The MIT License is one of the most popular and simple open source licenses. It allows you to:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eUse:\u003c/strong\u003e You can use the project code in your own projects, whether personal or commercial.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eModify:\u003c/strong\u003e You can modify the project code, adapting it to your needs or improving functionality.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eDistribute:\u003c/strong\u003e You can distribute the original code or your own modifications, and you must specify the authorship of the original project.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIt is important to note that the license does not provide any warranty, and the authors are not responsible for any problems that may occur when using the code.\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003eContacts\u003c/h2\u003e\n\u003cp\u003eIf you have any questions, suggestions or would like to discuss the project, please contact me via Telegram: \u003ca href=\"https://t.me/K1rsN7\"\u003e@K1rsN7\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eI'm always happy to hear feedback and suggestions for improving the project. Your support and ideas will help me make SubManager even better!\n\n\u003ch2 align=\"center\"\u003e Star History\u003c/h2\u003e\n\u003ca href=\"https://star-history.com/#K1rsN7/SubManager\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=K1rsN7/SubManager\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=K1rsN7/SubManager\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=K1rsN7/SubManage\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk1rsn7%2Fsubmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fk1rsn7%2Fsubmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk1rsn7%2Fsubmanager/lists"}