[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1847":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":14,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":27,"discoverSource":28},1847,"proxy-fleet","oaker-io\u002Fproxy-fleet","oaker-io","One-command VPS proxy fleet management: deploy 3x-ui + VLESS+Reality, auto-generate Clash\u002FMihomo subscriptions",null,"Python",166,21,156,2,0,5,6,51.13,"MIT License",false,"main",true,[],"2026-06-12 04:00:11","# proxy-fleet\n\n[中文文档](README_CN.md)\n\nManage multiple VPS proxy nodes from a single command line. Deploys [3x-ui](https:\u002F\u002Fgithub.com\u002FMHSanaei\u002F3x-ui) + VLESS+Reality and generates a [Clash\u002FMihomo](https:\u002F\u002Fgithub.com\u002FMetaCubeX\u002Fmihomo) subscription URL that auto-updates when you add or remove nodes.\n\n## Features\n\n- **One-command deploy** — installs 3x-ui, picks an available port (scans for conflicts first), configures VLESS+Reality, opens the firewall, and updates your subscription file. All in one `deploy`.\n- **Subscription sync** — queries every node's live API state and regenerates the Clash YAML, so the subscription always reflects reality.\n- **NAT support** — pass `--nat 10000-10009` and it picks the first free port in that range.\n- **Fleet status** — parallel health check across all nodes with traffic stats.\n- **Whitelist mode** — Uses [Loyalsoldier\u002Fclash-rules](https:\u002F\u002Fgithub.com\u002FLoyalsoldier\u002Fclash-rules) rule-providers for comprehensive China domain\u002FIP direct routing, everything else proxied. AI services always proxied. Rules auto-update daily.\n\n## Requirements\n\n- Python 3.8+ (stdlib only, no pip dependencies)\n- SSH access to your VPS nodes (key-based auth via `~\u002F.ssh\u002Fconfig`)\n- `curl` on your local machine (for connectivity checks)\n- VPS running Debian\u002FUbuntu (other distros may work but are untested)\n\n## Quick Start\n\n```bash\n# 1. Clone\ngit clone https:\u002F\u002Fgithub.com\u002Foaker-io\u002Fproxy-fleet.git\ncd proxy-fleet\n\n# 2. Interactive setup — creates config.json\npython3 scripts\u002Ffleet.py init\n\n# 3. Deploy to your first VPS\npython3 scripts\u002Ffleet.py deploy my-vps --name \"Tokyo\" --emoji \"🇯🇵\"\n\n# 4. Check status\npython3 scripts\u002Ffleet.py status\n```\n\n## Commands\n\n```\ninit                                    Interactive config setup\nstatus                                  Show all nodes (parallel health check)\ndeploy \u003Chost> [host...]                 Deploy to one or more SSH hosts\ndeploy \u003Chost> --nat 10000-10009         Deploy on NAT machine with port range\ndeploy \u003Chost> --name \"Name\" --emoji \"🇺🇸\"  Deploy with custom display name\nremove \u003Chost>                           Remove node from subscription\nsync                                    Regenerate subscription from live state\n```\n\n## How It Works\n\n### Deploy Flow\n\n```\nSSH connect → scan occupied ports → pick available port\n  → install 3x-ui (if needed) → set panel credentials\n  → generate x25519 keys → create VLESS+Reality inbound via API\n  → detect firewall (ufw\u002Fiptables) → open ports\n  → verify connectivity → save to config → sync subscription\n```\n\n### Subscription Hosting\n\nThe generated Clash YAML is uploaded to one of your VPS nodes via SSH. You serve it with nginx + SSL (e.g., behind Cloudflare). Users import the URL in Clash Verge Rev \u002F Mihomo and get all nodes + routing rules.\n\n### Proxy Groups\n\n| Group | Purpose |\n|-------|---------|\n| 🤖 AI Services | OpenAI, Claude, Gemini, Copilot, Cursor, Midjourney, etc. — routes to US nodes first |\n| 🚀 Proxy | Unmatched foreign traffic — routes to nearest nodes first |\n| 🐟 Final | Catch-all fallback (defaults to proxy in whitelist mode) |\n\n## File Structure\n\n```\nproxy-fleet\u002F\n├── config.json              # Your fleet state (gitignored — contains credentials)\n├── config.example.json      # Template for new users\n├── scripts\u002F\n│   └── fleet.py             # Main CLI script\n└── templates\u002Frules\u002F\n    ├── ai.yaml              # AI services (must proxy)\n    └── direct.yaml          # Custom direct (China AI, supplements)\n```\n\n## Updating Rules\n\nEdit any file in `templates\u002Frules\u002F`, then:\n\n```bash\npython3 scripts\u002Ffleet.py sync\n```\n\nUsers refresh their subscription in Clash Verge Rev to pick up the changes.\n\n## Tech Notes\n\n- **Xray v26 key format**: `x25519` outputs `PrivateKey` \u002F `Password` (= public key) \u002F `Hash32`. Older versions use `Private key` \u002F `Public key`. The script handles both.\n- **3x-ui install script** is interactive and can't reliably receive piped input. We install with defaults, then reset credentials via the CLI.\n- **3x-ui API**: `POST \u002Flogin` → session cookie → `\u002Fpanel\u002Fapi\u002Finbounds\u002F{add,update,del,list}`.\n- **Reality returns 400** to non-VLESS clients. The connectivity check treats 400 as \"alive\".\n- **Port conflicts** are the #1 deploy failure. The script scans ports before configuring.\n\n## License\n\n[MIT](LICENSE)\n","proxy-fleet 是一个用于管理和部署VPS代理节点的工具，支持一键部署3x-ui + VLESS+Reality，并自动生成Clash\u002FMihomo订阅。其核心功能包括一键安装配置、自动端口扫描与选择、防火墙规则设置以及动态更新订阅文件以反映当前节点状态。此外，该工具还提供了NAT支持、集群健康检查和基于Loyalsoldier\u002Fclash-rules的白名单模式等功能。适用于需要快速搭建并管理多个VPS代理服务器的场景，如提高网络访问速度或绕过地理限制等。使用Python编写，依赖少，易于部署在Debian\u002FUbuntu系统上。","2026-06-11 02:46:24","CREATED_QUERY"]