|
|
vor 10 Monaten | |
|---|---|---|
| .vscode | vor 10 Monaten | |
| backend | vor 10 Monaten | |
| .clinerules | vor 10 Monaten | |
| .clinerules-code | vor 10 Monaten | |
| .gitignore | vor 10 Monaten | |
| CONVENTIONS.md | vor 10 Monaten | |
| README.md | vor 10 Monaten |
本项目是一个基于 FastAPI + Vue3 的代理池管理系统,主要用于通过订阅链接获取服务商提供的代理池数据,并通过 mihomo 工具启动本地代理池服务。系统支持对代理池进行增删改查操作,方便用户管理和使用代理服务器。
/get 接口可以随机获取一个代理,支持过滤仅返回支持 HTTPS 的代理。/delete 接口可以删除指定的代理。/add 接口可以手动添加新的代理。/all 接口可以获取当前所有的代理列表。/count 接口可以查看当前代理池中的代理数量。后端基于 FastAPI 框架开发,主要功能模块包括:
生命周期管理:
lifespan(app: FastAPI) 函数用于管理应用的启动和关闭流程,确保资源的正确初始化和释放。健康检查:
health_check() 函数提供了一个健康检查接口,用于验证服务是否正常运行。API 接口:
root() 函数定义了根路径接口,返回 API 的基本介绍。get_random_proxy() 函数实现了随机获取代理的功能,支持根据需求过滤代理类型。Mihomo 相关路由:
POST /mihomo/start: 启动 Mihomo 代理。POST /mihomo/start-each-provider: 启动每个服务商的代理。POST /mihomo/stop: 停止指定的 Mihomo 代理。GET /mihomo/status: 获取当前运行的 Mihomo 状态。GET /mihomo/reachability: 检查代理的可达性。POST /mihomo/reachability/start-all: 启动所有代理的可达性检查。GET /mihomo/controller-urls: 获取控制器 URL 列表。POST /mihomo/stop-all: 停止所有 Mihomo 代理。订阅相关路由:
POST /subscriptions/add: 添加订阅链接。GET /subscriptions/list: 列出所有订阅。GET /proxies/list: 列出所有代理。系统通过 ProcessManager 类管理子进程,主要功能包括:
start_process(command: str, process_name: str) 方法用于启动一个子进程并记录其 PID。stop_process(process_name: str) 方法用于停止指定名称的子进程。stop_all_processes() 方法用于停止所有子进程。