{"id":22244201,"url":"https://github.com/erfjab/holderbot","last_synced_at":"2025-05-16T10:06:25.825Z","repository":{"id":215350695,"uuid":"738693516","full_name":"erfjab/holderbot","owner":"erfjab","description":"A powerful Telegram bot for managing multiple VPN panels with advanced features and ease of use.","archived":false,"fork":false,"pushed_at":"2025-03-16T11:15:06.000Z","size":342,"stargazers_count":318,"open_issues_count":5,"forks_count":74,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-16T10:06:15.605Z","etag":null,"topics":["aiogram","bot","marzban","marzneshin","python","telegram"],"latest_commit_sha":null,"homepage":"https://t.me/Erfjabs","language":"Python","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/erfjab.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}},"created_at":"2024-01-03T20:31:09.000Z","updated_at":"2025-05-15T14:54:27.000Z","dependencies_parsed_at":"2024-03-24T00:22:35.952Z","dependency_job_id":"9ed3a6b8-1404-4643-a535-b139fa55610f","html_url":"https://github.com/erfjab/holderbot","commit_stats":null,"previous_names":["erfjab/holderbot"],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erfjab%2Fholderbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erfjab%2Fholderbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erfjab%2Fholderbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erfjab%2Fholderbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erfjab","download_url":"https://codeload.github.com/erfjab/holderbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254509476,"owners_count":22082891,"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":["aiogram","bot","marzban","marzneshin","python","telegram"],"created_at":"2024-12-03T04:35:41.888Z","updated_at":"2025-05-16T10:06:25.806Z","avatar_url":"https://github.com/erfjab.png","language":"Python","funding_links":[],"categories":["🔥 Awesome [Marzban](https://github.com/Gozargah/Marzban)","Управление пользователями"],"sub_categories":["Bots","Другие скрипты"],"readme":"# HolderBot  \n\nA powerful Telegram bot for managing multiple VPN panels with advanced features and ease of use.\n\n![holderbotcover](https://github.com/user-attachments/assets/db3b5da5-3e22-4436-9502-ed478415f908)\n\n---\n\n## **Supported Panels**  \n- [x] **Marzneshin**  \n- [x] **Marzban**  \n- [ ] **Alireza**  \n- [ ] **Hiddify**  \n- [ ] **3x-ui**  \n\n---\n\n## **Features**  \n\n### **Multi-Server \u0026 Multi-Panel Support**  \n- Manage multiple servers and panels from a single bot.\n\n### **Bulk User Creation**  \n- Create users in bulk with custom admin selection.  \n- Add custom suffixes to usernames.  \n- Send QR codes and user data after creation (customizable).  \n- Select custom data limits, expiration dates, and configurations.  \n- Create users using predefined templates.\n\n### **User Management**  \n- **User Menu:**  \n  - Filter users by status: active, expired, or limited.  \n  - Display icons for user status.  \n- **User Search:**  \n  - Search users with `/user serverid username`.  \n  - Show up to 10 users matching the search criteria.  \n- **User Modifications:**  \n  - Add notes.  \n  - Set data and date limits.  \n  - Activate or disable users.  \n  - Charge users using templates (optional reset of data usage).  \n  - Reset usage.  \n  - Revoke subscriptions.  \n  - Send QR codes with user data (customizable).  \n  - Set or change the owner.  \n  - Modify configurations.  \n  - Remove users.\n\n### **Admin Management**  \n- Activate or deactivate admin users.  \n- Delete expired, limited, or admin users.  \n- Transfer users from one admin to another.  \n- Add or remove configurations for all users.\n\n### **Node Monitoring**  \n- Monitor nodes for issues.  \n- Automatically restart nodes if needed.\n\n---\n\n## **Setup**  \n\n### **Server and Docker Setup**  \n\n\u003cdetails\u003e\n\u003csummary\u003eShow Server Commands\u003c/summary\u003e\n\n#### 1. Update the Server  \n```bash\nsudo apt update \u0026\u0026 sudo apt upgrade -y\n```\n\n#### 2. Install Docker  \n```bash\ncurl -fsSL https://get.docker.com | sh\n```\n\u003c/details\u003e\n\n---\n\n### **Install \u0026 Run the Bot**  \n\n\u003cdetails\u003e\n\u003csummary\u003eShow Run Commands\u003c/summary\u003e\n\n#### 1. Create Directory and Download Files  \n```bash\nmkdir -p /opt/erfjab/holderbot/data\ncurl -o /opt/erfjab/holderbot/docker-compose.yml https://raw.githubusercontent.com/erfjab/holderbot/master/docker-compose.yml\ncd /opt/erfjab/holderbot\ncurl -o .env https://raw.githubusercontent.com/erfjab/holderbot/master/.env.example\nnano .env\n```\n\n#### 2. Pull Docker Image  \n```bash\ndocker compose pull\n```\n\n#### 3. Start the Bot  \n```bash\ndocker compose up -d\n```\n\nAfter a few moments, the bot will start running.\n\n\u003c/details\u003e\n\n---\n\n### **Update the Bot**  \n\n\u003cdetails\u003e\n\u003csummary\u003eShow Update Commands\u003c/summary\u003e\n\nMake sure you're in the **HolderBot** directory:  \n```bash\ncd /opt/erfjab/holderbot\n```\n\nThen update the bot:  \n```bash\ndocker compose pull \u0026\u0026 docker compose up -d\n```\n\n\u003c/details\u003e\n\n---\n\n### **Manage the Bot**  \n\n\u003cdetails\u003e\n\u003csummary\u003eShow Manage Commands\u003c/summary\u003e\n\nMake sure you're in the **HolderBot** directory:  \n```bash\ncd /opt/erfjab/holderbot\n```\n\n- **Restart the Bot:**  \n  ```bash\n  docker compose restart\n  ```\n\n- **Stop the Bot:**  \n  ```bash\n  docker compose down\n  ```\n\n- **View Logs:**  \n  ```bash\n  docker compose logs -f\n  ```\n\n\u003c/details\u003e\n\n---\n\n### **Switch to GA Mode (preview mode)**  \n\n\u003cdetails\u003e\n\u003csummary\u003eShow GA Commands\u003c/summary\u003e\n\nMake sure you're in the **HolderBot** directory:  \n```bash\ncd /opt/erfjab/holderbot\n```\n\n- **Open the Docker Compose File:**  \n  ```bash\n  nano docker-compose.yml\n  ```\n\n- **Change the Image Tag:**  \n  \n  **From:**  \n  ```yaml\n  erfjab/holderbot:latest\n  ```\n  **To:**  \n  ```yaml\n  erfjab/holderbot:ga\n  ```\n\n- **Pull the Docker Image:**  \n  ```bash\n  docker compose pull\n  ```\n\n- **Start the Bot:**  \n  ```bash\n  docker compose up -d\n  ```\n\u003c/details\u003e\n\n---\n\n## **Support**  \n\n- **Telegram Channel:** [@ErfJabs](https://t.me/ErfJabs)  \n- **Telegram Group:** [@ErfJabGroup](https://t.me/erfjabgroup)  \n\n⭐ **Star the Project:**  \n[![Stargazers](https://starchart.cc/erfjab/holderbot.svg?variant=adaptive)](https://starchart.cc/erfjab/holderbot)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferfjab%2Fholderbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferfjab%2Fholderbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferfjab%2Fholderbot/lists"}