Files
2026-03-28 20:55:33 +08:00

254 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 校园网宽带绕过多设备监测认证(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 地址
- 支持开机自启和断线重连