English Version | 中文版本
本项目是一个用于自动化管理 Netcup vServer 和 qBittorrent 下载任务的工具,通过调用 Netcup API 和 qBittorrent API,实现服务器的自动重启以及种子任务的暂停/恢复。
在运行项目之前,请按照以下步骤配置环境变量:
-
将
env.example
文件复制为.env
文件:cp .env.example .env
-
根据实际需求编辑
.env
文件,填写正确的配置信息:# Netcup的客户ID NETCUP_CUSTOMER_ID=your_customer_id # Netcup 的网页 API 密码并非您的登录密码。 # 该密码需要在 Netcup SCP 后台右上角的“Options”选项中找到,具体为“Webservice”部分的“Webservice Password”。 # 同时,请确保启用“Activate Webservice”功能,并保存设置。 NETCUP_API_PASSWORD=your_api_password # Netcup 的 VServer ID,同样在 SCP 控制台的“Server”列表中查看 DEFAULT_VSERVER=your_default_vserver # qBittorrent Web API 的地址 QB_API_URL=http://127.0.0.1:8080 # qBittorrent 登录用户名 QB_USERNAME=admin # qBittorrent 登录密码 QB_PASSWORD=admin # 定义每天任务的时间(24 小时制,格式:HH:MM) DAILY_TASK_TIME=04:00
-
构建镜像
首先,克隆本项目仓库到本地:
git clone https://github.com/kafuuchino-s/netcup-traffic-reset cd netcup-traffic-reset
然后,使用以下命令构建 Docker 镜像:
docker build -t netcup-traffic-reset:latest .
运行容器
构建完成后,使用以下命令运行容器,并挂载
.env
配置文件:docker run --rm -d \ --env-file .env \ --name netcup-traffic-reset \ netcup-traffic-reset:latest
注意:预构建的 Docker 镜像仅适用于 amd64
架构的机器。arm64
架构的用户,请参考上一节 “Git Clone 仓库自行构建”。
警告:请勿将此项目部署在需要重启的 Netcup 服务器上!
可以直接使用 Docker Hub 上提供的预构建镜像来运行:
docker run --rm -d \
--env-file .env \
--name netcup-traffic-reset \
kafuuchino520/netcup-traffic-reset:latest
你可以通过创建多个 .env
文件,并分别指定给 Docker 容器,来实现对多个 Netcup 服务器的管理。
-
创建不同的
.env
文件例如,为每个服务器创建一个
.env
文件,如server1.env
,server2.env
,等等:├── server1.env └── server2.env
在每个
.env
文件中,配置对应服务器的 Netcup API 信息和 qBittorrent 信息。 -
运行 Docker 容器并指定不同的
.env
文件使用
--env-file
参数指定不同的.env
文件来启动 Docker 容器:docker run --rm -d \ --env-file server1.env \ --name netcup-traffic-reset-server1 \ kafuuchino520/netcup-traffic-reset:latest docker run --rm -d \ --env-file server2.env \ --name netcup-traffic-reset-server2 \ kafuuchino520/netcup-traffic-reset:latest
自行构建的请将
kafuuchino520/netcup-traffic-reset:latest
改为netcup-traffic-reset:latest
- 自动化重置流程
- 暂停 qBittorrent 的种子任务。
- 重启 Netcup vServer(通过 Power Cycle 或 ACPI 重启)。
- 检查网络状态恢复后,重新启动种子任务。
- 定时任务支持
- 通过
.env
文件中的DAILY_TASK_TIME
设置定时任务时间,默认为每天凌晨 4 点。
- 通过
- 轻量化部署
- 使用官方 Docker 镜像快速部署,无需安装复杂的依赖环境。
- 无法连接 qBittorrent API?
- 检查
.env
文件中QB_API_URL
是否填写正确。 - 确保 qBittorrent 的 Web API 已启用,并设置了正确的用户名和密码。
- 检查
- Netcup API 调用失败?
- 检查
.env
文件中NETCUP_CUSTOMER_ID
和NETCUP_API_PASSWORD
是否正确。 - 确保您已在 Netcup SCP 后台启用“Activate Webservice”功能,并使用正确的 Webservice 密码。
- 检查
- 定时任务未生效?
- 确保
.env
文件中DAILY_TASK_TIME
格式正确。 - 若修改了
.env
,请重新启动容器。
- 确保
- 配置简单:通过
.env
文件集中管理所有配置项。 - 部署便捷:使用官方 Docker 镜像,无需额外构建。
- 自动化流程:支持定时任务,轻松实现服务器流量重置和种子任务管理。
- 支持多服务器管理: 通过不同的
.env
文件,可以轻松管理多个 Netcup 服务器。
如有疑问或建议,欢迎提交 Issue!