/SGU-Script

韶关学院新版锐捷认证自动化脚本设置

Primary LanguageJavaMIT LicenseMIT

该仓库于2023年10月10日正式存档,并不再更新,这也意味着我的人生阶段即将开启新的篇章,感谢各位这段时间的陪伴,再会~

目录

SGU-Script

关于

运行环境

  • cli版需要jdk17及以上

  • gui版需要x86 64-bit windows7及以上系统


功能

  1. SGU-Script是一款免费开源的路由器锐捷认证设置程序,本质是自动配置登录脚本

  2. 主要为了应对2022年韶关学院电信锐捷上网认证,目前只支持搭载OpenWrt的路由器配置

  3. 并且OpenWrt需已安装curl或wget模块,未安装的设备请先自行安装该模块

  4. 你也可以fork本项目,并添加对其他系统的支持

  5. SGU-Script会实时监控你的网络状况,在掉线的时候进行自动重连,但并不能阻止共享上网的检查

  6. 由于阻止共享上网的监测较为复杂,此处提供一个笔记以解决共享上网的解决方案(首推UA2F)

  7. 本教程我也会致力于为大家解决校园网检测问题,本项目将使用UA2F的方案

  8. 我会在firmware分支中提前准备我适配好带UA2F的固件,但我不可能做到所有设备都适配,希望大家能够编译更多的固件放在firmware分支,然后给我提一个Pr

  9. 下文安装教程也会教你如何安装固件

  10. 若你不需要绕过校园网检测的话,直接查看[安装教程]-[路由器设置]&&[安装SGU-Script]即可


严肃警告

  • SGU-Script只为学习开发,若你对该程序有异议,可至github项目提起issue

  • 原则上该项目不允许被投入商业用途,但如果有人使用该项目售卖路由器的话,产生一切后果与本项目无关

  • 请大家有能力的可以好好钻研一下本项目,教程写的已经蛮详细了,实在有非科班(纯小白)的,建议还是找人买一台装好的吧

  • 若你使用本程序则默认遵循MIT license,祝你使用愉快


安装教程

一、刷入带有UA2F的固件

如果你有UA2F的ipk包可用,可以尝试安装ipk包,但是ipk包需要编译UA2F的sdk内核版本与固件内核版本严格一致,否则会安装失败

Ⅰ.刷入 Breed Web 恢复控制台

  1. 由于不同机型刷入步骤不同,所以请自行百度

  2. 若嫌麻烦,在买路由器时可以拜托店家刷入(可能需要加钱)

  3. 已刷入 Breed Web 恢复控制台的请继续下一步

Ⅱ.进入 Breed Web 恢复控制台

  1. 此处以新三为例,其他路由器请自行百度

  2. 将网线的一端插在lan口上,另一端插电脑

  3. 电源线的旁边有一个小小的按钮,记住它(下文中我们称之为RESET键

  4. 拔掉电源线,按下RESET键(不松开)

  5. 插上电源线RESET键依旧不松开)

  6. 等待8-9秒,松开RESET键

Ⅲ.刷入固件

  1. firmware分支中有我提前编译好带UA2F的固件,跳转链接:firmware,如需下载固件请点击右上角[克隆/下载]

  2. 阅读firmware分支README.md说明来选择适配你路由器的固件,若你使用的是该分支中的固件,请你先仔细阅读固件所在文件夹下的info.txt,不同固件以下步骤可能会有所不同

  3. 电脑打开浏览器,进入192.168.1.1,打不开的话可以拔插网线试试

  4. 不出所料的话你会进入以下界面

    输入图片说明

  5. 之后我们选择[恢复出厂设置]-[Config 区 (公版)]&[Config 区 (精简)]-[执行]

    输入图片说明

  6. 执行成功后,如图依次点击,上传带UA2F的固件,并更新

    输入图片说明

  7. 显示此界面时固件就安装成功了,等待路由器开机(2-3分钟)

    输入图片说明

二、路由器设置

请注意以下每一步操作后都请记得点击右下角的保存并应用,下文将不会再提醒你

Ⅰ.配置wan口

  1. 路由器开机后,依旧在浏览器输入192.168.1.1,默认密码为adminpassword

    输入图片说明

  2. 进入[网络]-[接口]-[删除掉wan6]

    输入图片说明

Ⅱ.配置lan口

  1. 可选,若路由器出现网页加载慢,但app可以正常访问网络的情况就配置

  2. 进入[网络]-[接口]-[LAN],也可以直接点击lan口右边的[修改]按钮

    输入图片说明

  3. 滑到最下面的[高级设置]-[DHCP选项],设置6,223.5.5.5,119.29.29.29,注意逗号和点,此处是向lan口设备通告DNS

    输入图片说明

Ⅲ.配置WIFI

  1. 进入[网络]-[无线]页面(以下教程使用新三演示,不同机型按钮位置可能不太一样,但大同小异)

    输入图片说明

  2. 新三有[2.4 GHz]和[5 GHz]两个频段,这里通俗的讲解下

    • 2.4 GHz:信号好,穿墙能力强,但是负载网速慢

    • 5 GHz:信号良,穿墙能力差,但是负载网速快

  3. 配置2.4 GHz WIFI

    • 进入2.4 GHzWIFI配置界面(菜单栏进入或通过修改按钮进入没有差别,不同机型按钮位置不同,需自行辨别)

      输入图片说明

    • 滑到最下面,给你的WIFI设置一个*名字

      输入图片说明

    • 给你的WIFI设置一个安全密码,加密方式推荐使用WPA-PSK/WPA2-PSK Mixed Mode,更好地兼容旧设备

      输入图片说明

  4. 配置5 GHz WIFI(可选,有些机型不支持5 GHz)

    • 进入5 GHzWIFI配置界面

      输入图片说明

    • 剩余步骤与2.4 GHz形同,

    • 如果你希望自己选择使用2.4 GHz5 GHz的话,你可以将5 GHz的WIFI名设置与2 GHz不同,这样你可以通过不同WiFi名来切换使用2.4 GHz5 GHz

    • 如果你希望手机自己选择的话,可以将两个WIFI名设置一样的(我也建议这样做)

    • 但是不管你选择哪样,我都建议你将5 GHzWIFI加密方式设置为更安全的WPA2-PSK/WPA3-SAE Mixed Mode,以此来提高安全性,但一些早期路由器的硬件不兼容WPA3,请慎重选择

    • 由于一些旧设备只能连接2.4 GHz,并且不支持最新的WPA3加密认证,于是我建议2.4 GHz的频段使用WPA-PSK/WPA2-PSK Mixed Mode加密

Ⅳ.配置管理界面(SSH)密码

  1. 至此路由器设置全部设置完毕

  2. 但是原版OpenWrt可能需要你更改SSH隧道的密码,才可以使用SSH,因此你需要在[系统]-[管理权]中修改,同时你的路由器管理界面密码也会被对应修改

    输入图片说明

三、安装SGU-Script

cli版和gui版二选一,跳转至下载地址:SGU-Script

Ⅰ.cli(命令行版本)

  1. 可跨平台,安装jdk17,使用java -jar SGU-Script.jar命令来启动程序

  2. 跟着提示完成操作,后续脚本更新,只需重复以上操作,覆盖安装即可

    输入图片说明

Ⅱ.gui(可视化界面版本)

  1. 双击SGU-Script.exe文件运行,跟着提示完成操作即可

  2. 后续脚本更新,只需重复以上操作,覆盖安装即可

  3. 提示:由于打包使用的openjfxjdk使用了x86 64-bit win,所以请使用x86 64-bit windows7及以上系统来使用gui版

    输入图片说明

四、苦尽甘来

Ⅰ.插上网线

  1. 全部设置完成后,请将路由器wan口(可通过接口下方的文字或通过颜色辨别)与宿舍墙上的网口接通

  2. 有些路由器固件的接口是乱的,可以在[路由器web管理界面]-[网络]-[交换机中]中查看wan口连接情况及真实位置,或将接口调整到正确位置

Ⅱ.开始享受

  1. 维护网络安全,保护个人隐私;树文明新风,建和谐校园

  2. 妥善运用网络及遵守法律法规,请记住校园网里的你并不是透明的


SGU-Script配置命令

你可以使用命令来控制SGU-Script

OpenWrt

  1. 启动脚本 sgu_script start

  2. 停止脚本 sgu_script stop

  3. 重启脚本 sgu_script restart

  4. 添加开机自启动 sgu_script enable

  5. 取消开机自启动 sgu_script disable


添砖加瓦

欢迎pr,欢迎fork

SGU-Script目前只支持Openwrt固件,但目前Openwrt也已足够使用

由于程序主函数部分采用反射机制完成,可以轻松地拓展更多的系统支持,具体操作如下

  1. cn.rabig.cli.controller.BaseSystem.systemList中添加系统名称{systemName}

  2. 并在cn.rabig.cli.controller中创建对应的系统类({systemName}.java)并实现BaseSystem接口,依次实现接口中的方法

  3. src/main/resources/script/{systemName}中创建对应的shell脚本(变量使用{}占位,FileUtils中的writeSGUScript方法可以为占位符赋值)

  4. CLI以及GUI主函数部分不需要改动,对应的下拉框新选项以及安装提示会自动生成,方法将会通过反射调用,只需要实现BaseSystem接口中的方法即可


故障排除

  1. SGU-Script安装完毕后,理论上脚本就会自动去尝试登录账号(如果还是没有网络请查看日志)

  2. 你可以在[路由器管理界面]-[状态]-[系统日志]查看全部日志,也可以在/var/log/sgu_script.log文件中查看错误日志,或直接使用软件查看错误日志

  3. 若提醒你账号已在线,可能是账号在脚本登录之前就已经登录过了,或者被别人登录了,你可以在自助中心进行查看在线记录

    校园网自助服务

  4. 自助中心的强制下线功能是无效的,你可以使用以下链接登出账号,但该链接只能在已经登录你账号的网络下才有效

    断线链接

  5. 若被检测到共享,请验证UA2F防共享是否运行正常,打开下面的链接,若真实UA是一堆F,则说明UA2F运行正常,第一次使用本脚本时,可能会被检测共享,但之后次数会减少,因为修改的UA也会被视为新设备

    UA检测

  6. 据作者所说,UA2F可能会和mwan3Flow Offloading冲突,若你的UA2F存在频繁掉的现象请尝试关闭mwan3Flow Offloading,分别在[网络]-[负载均衡]与[网络]-[Turbo ACC 网络加速]-[软件流量分载]/[硬件流量分载]

  7. 腾讯系软件/游戏(LOL、CF、和平精英、王者荣耀等)中的网络加速服务会绕过UA2F,在一大段时间内只能登录一个号,否则将导致网络被封禁,可尝试关闭软件中的网络加速服务,或者直接使用流量游玩游戏,切记桥接网络也会导致网络被封禁

  8. 目前有些网站在UA被篡改的情况下可能会访问异常,例如宝塔面板;因此如果你既使用了UA2F又想要正常浏览此类网站,可以安装浏览器拓展User-Agent Switcher and Manager来修改浏览器UAUA2F篡改后的UA;操作步骤:右键拓展切换到"white-list" mod模式;在拓展选项中的White-List Mode列表里添加需要修改的网站,如宝塔;单击拓展,将userAgent修改为UA检测网站中获取到的真实UAApply(all windows)

  9. 某些多频段路由器固件的无线模块可能存在问题,表现为开机一段时间就崩溃关机,可以尝试将两个频段(2.4 GHz, 5 GHz)的无线名称、密码、加密方式调整为相同的来解决这个问题


用户反馈

有任何问题欢迎在Issues中提出,或者通过邮箱rabig@foxmail.com联系我

这里贴一个韶关学院路由器交流群,大家也可以在群里讨论