本项目已从某一 Fork 版本修改,原简介请参考原作者项目(已删库)。
本脚本实现了锐捷 ePortal Web 认证的登录,需要 curl 指令的支持,通过 curl 发送认证所需的 POST 数据包来实现 Web 认证,仅在 OpenWrt 上测试通过,其他系统请参考代码自行修改。
./ruijie_general.sh username password
username
参数为认证用户名。password
参数为认证密码。
运营商参数等请参考代码内 service
参数自行修改,无则留空。对于该参数的值:
- 某些学校用运营商名称的拼音,如
dianxin
; - 某些学校对运营商名称进行两次
urlencode
,如%25e4%25b8%25ad%25e5%259b%25bd%25e7%25a7%25bb%25e5%258a%25a8
(中国移动); - 其他情况也有可能,请自行测试(在登录页 F12)。
如你所在学校的网络会断开认证/断电/抽风,可以创建 Cron 定时任务及开机启动来保证在线率。
在锐捷 ePortal Web 认证的 POST 数据包中发现了 validcode
参数,根据名字猜测这个参数应该是验证码。
如果你的学校在登录的时候需要验证码,那么本脚本将无法进行认证。
锐捷的 ePortal Web 认证上了之后,向 InterFace.do?method=getOnlineUserInfo
这个接口中 Post 过去 userIndex
参数会明文显示用户的密码,感觉一点安全性都没有。(集美大学在认证系统升级之后已修复该问题)
我(原作者)所在的学校(集美大学)在未认证的情况下,53 端口(DNS)是可以正常通信的。如果你所在的学校也有类似的情况,也许可以尝试搭建个 53 端口的代理实现免认证上网。