# 校园网宽带绕过多设备监测认证(OpenWrt版) ## 简介 本项目用于在 OpenWrt 路由器上实现校园网宽带认证,支持多设备共享上网,绕过校园网的多设备监测限制。 ## 功能特性 - ✅ 自动认证登录校园网 - ✅ 支持自定义 MAC 地址(绕过多设备监测) - ✅ 开机自动启动 - ✅ 断线自动重连 - ✅ 完善的日志记录 - ✅ 外部配置文件支持 ## 环境要求 - OpenWrt 系统 - Python 3.x - Python requests 库 - 网络接口(如 eth1、br-lan 等) ## 安装方法 ### 方法一:一键安装(推荐) 1. 将项目文件上传到 OpenWrt 路由器的任意目录(如 `/tmp/drcom`) 2. 进入项目目录: ```bash cd /tmp/drcom ``` 3. 运行安装脚本: ```bash chmod +x install.sh ./install.sh ``` 4. 编辑配置文件: ```bash vi /etc/drcom/config.json ``` 5. 启动服务: ```bash /etc/init.d/drcom-login start ``` ### 方法二:手动安装 1. 安装依赖: ```bash opkg update opkg install python3 python3-light python3-requests ``` 2. 创建目录: ```bash mkdir -p /etc/drcom ``` 3. 复制文件: ```bash cp drcom_login_fixed.py /usr/bin/drcom_login.py chmod +x /usr/bin/drcom_login.py cp drcom-login /etc/init.d/drcom-login chmod +x /etc/init.d/drcom-login cp config.json /etc/drcom/config.json ``` 4. 编辑配置: ```bash vi /etc/drcom/config.json ``` 5. 启用并启动服务: ```bash /etc/init.d/drcom-login enable /etc/init.d/drcom-login start ``` ## 配置说明 编辑 `/etc/drcom/config.json` 文件: ```json { "username": "250450328", // 校园网账号 "password": "your_password", // 校园网密码 "server_ip": "172.17.8.2", // 认证服务器IP "server_port": 801, // 认证服务器端口 "interface": "eth1", // 网络接口名称 "fixed_mac": "a0:ad:9f:0a:4d:86" // 固定MAC地址(可选,留空则自动获取) } ``` ### 如何查找网络接口名称 在路由器上运行以下命令查看网络接口: ```bash ip addr show ``` 或者 ```bash ifconfig ``` 找到连接校园网的接口名称(通常是 eth1、wan、br-wan 等) ### 如何设置固定 MAC 地址 固定 MAC 地址可以绕过校园网的多设备数量限制。建议使用: - 已认证设备的 MAC 地址 - 随机的有效 MAC 地址(格式:XX:XX:XX:XX:XX:XX) 如果不需要固定 MAC,将 `fixed_mac` 留空即可。 ## 服务管理 ### 启动服务 ```bash /etc/init.d/drcom-login start ``` ### 停止服务 ```bash /etc/init.d/drcom-login stop ``` ### 重启服务 ```bash /etc/init.d/drcom-login restart ``` ### 查看状态 ```bash /etc/init.d/drcom-login status ``` ### 启用开机自启 ```bash /etc/init.d/drcom-login enable ``` ### 禁用开机自启 ```bash /etc/init.d/drcom-login disable ``` ## 日志查看 ### 查看最新日志 ```bash tail -f /var/log/drcom-login.log ``` ### 使用日志管理脚本 ```bash chmod +x log-manager.sh ./log-manager.sh view # 查看日志 ./log-manager.sh follow # 实时跟踪日志 ./log-manager.sh error # 只看错误信息 ./log-manager.sh success # 只看成功信息 ./log-manager.sh clear # 清空日志 ``` ## 卸载方法 运行卸载脚本: ```bash chmod +x uninstall.sh ./uninstall.sh ``` ## 常见问题 ### 1. 认证失败 **原因**:账号密码错误或服务器 IP 错误 **解决**: - 检查配置文件中的账号密码是否正确 - 使用抓包工具确认认证服务器的真实 IP 和端口 - 查看日志:`tail -f /var/log/drcom-login.log` ### 2. 无法获取 IP 地址 **原因**:网络接口名称错误 **解决**: - 运行 `ip addr show` 查看正确的接口名称 - 修改配置文件中的 `interface` 参数 ### 3. Python 模块缺失 **原因**:requests 库未安装 **解决**: ```bash opkg install python3-requests ``` ### 4. 断线后不自动重连 **原因**:procd 的 respawn 功能未启用 **解决**: - 检查 `/etc/init.d/drcom-login` 脚本是否包含 `USE_PROCD=1` - 重启服务:`/etc/init.d/drcom-login restart` ### 5. 如何获取认证服务器信息 1. 在电脑上使用浏览器的开发者工具(F12) 2. 访问校园网登录页面 3. 查看网络请求中的登录接口 4. 记录服务器 IP、端口和请求参数 ## 注意事项 1. ⚠️ 请确保遵守校园网使用规定 2. ⚠️ 建议固定 MAC 地址使用已认证设备的 MAC 3. ⚠️ 定期查看日志确保服务正常运行 4. ⚠️ 如果校园网升级认证系统,可能需要更新脚本 ## 文件说明 | 文件名 | 说明 | |--------|------| | `drcom_login_fixed.py` | 主程序(认证核心逻辑) | | `drcom-login` | OpenWrt 启动脚本(init.d) | | `config.json` | 配置文件模板 | | `install.sh` | 一键安装脚本 | | `uninstall.sh` | 卸载脚本 | | `log-manager.sh` | 日志管理脚本 | ## 许可证 本项目仅供学习和研究使用,请勿用于非法用途。 ## 技术支持 如遇到问题,请检查: 1. 日志文件:`/var/log/drcom-login.log` 2. 网络连接状态 3. 配置文件是否正确 ## 更新日志 - v1.0 - 初始版本 - 支持基础认证功能 - 支持自定义 MAC 地址 - 支持开机自启和断线重连