这是一个重庆大学校园网自动登录工具,定期检测网络状态(默认每60秒),在断网时自动重新登录。
下面是一个带有详细注释的 docker-compose 配置示例:
version: '3.9'
services:
cqu-net:
image: ghcr.io/skyswordw/cqu-net:latest # 使用最新版本的镜像
container_name: cqu-net # 容器名称
restart: always # 容器自动重启策略
environment:
- USER_ACCOUNT=${USER_ACCOUNT} # 你的学号
- USER_PASSWORD=${USER_PASSWORD} # 你的密码
- USER_IP=${USER_IP} # 你的IP地址
- CHECK_INTERVAL=${CHECK_INTERVAL} # 检测间隔时间(秒)
在容器管理面板中需要配置的环境变量:
USER_ACCOUNT=你的学号
USER_PASSWORD=你的密码
USER_IP=你的IP地址
CHECK_INTERVAL=60
部署步骤:
-
在面板中创建新的应用/堆栈:
- 1Panel:在"应用管理"中选择"自定义安装"
- Dockge:创建新的 Stack
- Portainer:在"Stacks"中创建新的 stack
-
将上述 docker-compose 配置复制到编辑器中
-
在环境变量配置部分填入你的个人信息
-
点击部署即可
docker run -d \
-e USER_ACCOUNT="你的学号" \
-e USER_PASSWORD="你的密码" \
-e USER_IP="你的IP地址" \
-e CHECK_INTERVAL="60" \
--name cqu-net \
--restart always \
ghcr.io/skyswordw/cqu-net:latest
适合需要自定义修改或本地开发的用户:
- 首先构建Docker镜像:
docker build -t cqu-net .
- 运行容器(请替换下面的环境变量):
docker run -d \
-e USER_ACCOUNT="你的学号" \
-e USER_PASSWORD="你的密码" \
-e USER_IP="你的IP地址" \
--name cqu-net \
--restart always \
cqu-net
- USER_ACCOUNT: 你的学号
- USER_PASSWORD: 你的密码
- USER_IP: 你的IP地址(例如:10.242.187.71)
- CHECK_INTERVAL: (可选)检测间隔时间,单位为秒,默认值为60
- Windows: 在命令提示符中输入
ipconfig
查看"IPv4 地址" - macOS/Linux: 在终端中输入
ifconfig
或ip addr
查看
注意:请使用实际分配到的IP地址。如果你使用DHCP,请填写DHCP服务器分配的IP地址。如果你使用静态IP,请填写你配置的静态IP地址。
docker logs -f cqu-net
docker stop cqu-net
docker start cqu-net
本项目使用 GitHub Actions 自动构建和发布 Docker 镜像。每次推送到 main 分支或创建新的标签(tag)时,都会自动构建新的镜像。
- main 分支的最新代码会被标记为
latest
- 发布标签(如 v1.0.0)会生成对应版本号的镜像标签
如果你想使用特定版本的镜像,可以在运行时指定版本号,例如:
docker run ... ghcr.io/你的GitHub用户名/cqu-net:v1.0.0
计划添加以下环境变量支持:
GATEWAY_IP
: 登录网关IP地址(默认:10.254.7.4)USER_AGENT_TYPE
: 用户代理类型,可选值:mac
: macOS设备windows
: Windows设备linux
: Linux设备custom
: 自定义UA(需配合CUSTOM_USER_AGENT
使用)
CUSTOM_USER_AGENT
: 自定义User-Agent字符串
- 支持自定义网络检测目标(默认为 www.baidu.com)
- 优化重试策略:
- 支持配置短时间内最大重试次数
- 添加指数退避算法,避免频繁重试
- 在登录失败时解析响应内容,提供更详细的错误信息
- 添加登录状态检测(通过解析登录接口返回信息)
- 支持日志级别配置
- 添加登录成功/失败通知机制