基于 Python 实现登录和登出广东天翼校园网网页认证的命令行工具。可以用该工具来快速登录或登出广东天翼校园网, 或者反复重新登录来重置限速状态,以 “破解” 限速。
小道消息,广东天翼校园网于2021年10月20日,凌晨期间“优化”了校园网,实则是关闭了部分学校的网页认证通道。 一些学校原本只是前端网页删除或屏蔽了登录相关组件的学校,其实还是可以使用类似此项目相关的基于网页认证的 程序实现网页登录,但关闭认证通道后就彻底用不了(提示
已办理一人一号多终端业务的用户,请使用客户端登录
或当前该账号的拨号方式错误
)。此项目不再适用于这些学校,只适用于没有关闭网页认证的广东天翼校园网。 如果你的校园网可以使用天翼校园网客户端登录,可以试试我的新项目 go-esurfing 。
如果你的学校校园网是广东天翼校园网,欢迎使用并反馈项目适用情况: discussion#3
程序打包了识别验证码所需的模型文件,因此文件体积较大。
由于 Python 不能交叉编译,在不同系统上存在差异,因此很可能无法正常运行。
已知 Win10, Win11, Ubuntu 22.10 测试正常,其余未测试,建议通过源码运行和自行
编译打包。
- 下载链接:Releases
建议 Python <= 3.10 ,无图形界面 Linux 可能需要提前安装 tkinter。
git clone https://github.com/Pandaft/ESurfingPy-CLI.git
cd ESurfingPy-CLI
pip install -I -r requirements.txt # 记得加上 -I 参数
python main.py
设备刚连上校园网络时自动弹出的,或者已经连上但未登录时打开任意网页跳转到下面这个登录网页,其中有此程序要的参数:
ESurfingURL
:校园网登录网址(部分),需要带端口。未登录时可能会出现域名解析错误(未能连接DNS服务器),可以先手动登录校园网后,使用 ping 等网络工具解析,然后用IP:端口
代替,例如:125.88.59.131:10001
WlanACIP
:校园网的认证服务器IP,应该每个学校都不同;WlanUserIP
:要登录的设备的IP,可以不是本机的,实现远程登录;Account
:校园网账号Password
:校园网账号的密码
> ./ESurfingPy-CLI.exe --help
Usage: ESurfingPy-CLI.exe [OPTIONS] COMMAND [ARGS]...
基于 Python 实现登录和登出广东天翼校园网网页认证通道的命令行工具。
Options:
--help Show this message and exit.
Commands:
auto 多种模式触发重登校园网
gui 启动图形界面
login 登录校园网
logout 登出校园网
ocr 识别图片
version 输出当前版本
> ./ESurfingPy-CLI.exe gui --help
Usage: ESurfingPy-CLI.exe gui [OPTIONS]
启动图形界面
Options:
-h, --hide-console BOOLEAN 隐藏控制台(仅适用于 Windows) [default: True]
--help Show this message and exit.
不带命令和参数直接运行则默认启动图形界面,也可通过加 gui
命令来启动。
> ./ESurfingPy-CLI.exe login --help
Usage: ESurfingPy-CLI.exe login [OPTIONS]
登录校园网
Options:
-u, --esurfing-url TEXT 校园网登录网址 [default: enet.10000.gd.cn:10001]
-c, --wlan-acip TEXT 认证服务器IP
-r, --wlan-userip TEXT 登录设备IP
-a, --account TEXT 账号
-p, --password TEXT 密码
-v, --verbose BOOLEAN 输出详细过程 [default: True]
--help Show this message and exit.
本机登录校园网的话,-u
, -c
, -r
可以不填,程序会尝试自动获取。
示例:./ESurfingPy-CLI.exe login -u 125.88.59.131:10001 -c 123.123.123.123 -r 234.234.234.234 -a 15012341234 -p 12345678 -v true
> ./ESurfingPy-CLI.exe logout --help
Usage: ESurfingPy-CLI.exe logout [OPTIONS]
登出校园网
Options:
-u, --esurfing-url TEXT 校园网登录网址
-c, --wlan-acip TEXT 认证服务器IP
-r, --wlan-userip TEXT 登录设备IP
-a, --account TEXT 账号
-p, --password TEXT 密码
-s, --signature TEXT 签名
-v, --verbose BOOLEAN 输出详细过程 [default: True]
--help Show this message and exit.
- 如果填写了
signature
,不需要填写password
; - 如果没有填写
signature
,需要填写账号和密码,程序会尝试登录来获取signature
然后再登出。
signature
可以登录获得(即使重复登录),可以自己写程序将登录时返回的 signature
保存下来,需要时再读取使用。
示例:./ESurfingPy-CLI.exe logout -u 125.88.59.131:10001 -c 123.123.123.123 -r 234.234.234.234 -a 15012341234 -s XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -v true
> ESurfingPy-CLI.exe ocr --help
Usage: ESurfingPy-CLI.exe ocr [OPTIONS]
识别图片
Options:
-i, --image TEXT 图片路径
--help Show this message and exit.
示例:./ESurfingPy-CLI.exe ocr -i code.png
> ./ESurfingPy-CLI.exe auto --help
Usage: ESurfingPy-CLI.exe auto [OPTIONS]
多种模式触发重登校园网
Options:
-m, --mode [net|uls|dls|ult|dlt|itv|mul]
触发模式
-t, --threshold FLOAT 触发网速(MB/s)或流量(MB)或时间(s)
-s, --auto-stop BOOLEAN 自动停止(仅对网速模式有效) [default: True]
-u, --esurfing-url TEXT 校园网登录网址 [default: enet.10000.gd.cn:10001]
-c, --wlan-acip TEXT 认证服务器IP
-r, --wlan-userip TEXT 登录设备IP
-a, --account TEXT 账号
-p, --password TEXT 密码
-v, --verbose BOOLEAN 输出详细过程 [default: True]
--help Show this message and exit.
触发模式:
值 | 值备注 | 说明 |
---|---|---|
net | network | 每间隔指定的时间(s)检测网络,断网时自动重登校园网 |
uls | upload speed | 实时监控上传速率(MB/s),连续 10s 低于指定值时自动重登校园网。 |
dls | download speed | 实时监控下载速率(MB/s),连续 10s 低于指定值时自动重登校园网。 |
ult | upload traffic | 实时监控上传流量(MB),达到指定值时自动重登校园网。 |
dlt | download traffic | 实时监控下载流量(MB),达到指定值时自动重登校园网。 |
itv | interval | 每间隔指定的时间(s)自动重登校园网。 |
mul | manual | 手动回车后重登校园网。 |
示例:
- 间隔 5 秒检测网络,当网络断开时自动登录:
./ESurfingPy-CLI.exe auto -m net -t 5 -u 125.88.59.131:10001 -c 123.123.123.123 -r 234.234.234.234 -a 15012341234 -p 12345678 -v true
- 实时监控上传速率,连续 10s 低于 3MB/s 时自动重登:
./ESurfingPy-CLI.exe auto -m uls -t 3 -u 125.88.59.131:10001 -c 123.123.123.123 -r 234.234.234.234 -a 15012341234 -p 12345678 -v true
- 实时监控下载流量,达到 600MB 时自动重登:
./ESurfingPy-CLI.exe auto -m dlt -t 600 -u 125.88.59.131:10001 -c 123.123.123.123 -r 234.234.234.234 -a 15012341234 -p 12345678 -v true
利用快捷方式,可以实现带参数启用程序:
记得不要移动原文件,否则快捷方式会不可用。
根据上述制作一个登录的快捷方式,然后按下 Win
+ R
输入 shell:startup
并确定,
将登录的快捷方式拖进弹出的窗口,如果杀毒软件提示有程序想自启就点允许就可以了。
可以自己开发脚本或程序,设定特定条件后调用此程序,来实现更多的功能等等……
由于使用 Python 语言开发:
- 运行效率较低,特别是打包后的可执行文件,在打开时需要较长的加载时间;
- 不能交叉编译,对应平台的可执行文件需要对应的平台进行打包,对于百花齐放拥有众多发行版的 Linux 来说,Ubuntu 打包的也不一定能在 Debian 中运行;
由于使用网页认证接口实现核心登录和登出功能:
- 部分学校禁用了网页认证登录,只能通过客户端登录,该项目不适合这部分学校;
- 需要提交验证码,项目通过使用 ddddocr 库来识别验证码,但是在打包时需要将模型文件也打包进行,带来额外的文件体积,而且部分系统可能无法运行。
而以上不足,都在我的新项目 go-esurfing 中得到解决。
此项目仅供研究、学习和交流,请勿用于商业或非法用途, 开发者与协作者不对使用者负任何法律责任, 使用者自行承担因不当使用所产生的后果与责任。
This project is only for research, learning and exchange. Do not use it for commercial or illegal purposes. Developers and collaborators do not assume any legal responsibility for users. Users bear the consequences and responsibilities arising from improper use.
广东天翼校园网 QQ 交流群:791455104 (点此加入)