使用GL-SFT1200部署scutclient实现宿舍校园网自由

本文最后更新于 2024年5月30日

虽然有可能会被盒(呜呜呜,不要开盒我 QAQ),但网上实在是缺乏相关的资料,所以还是整理了一下自己捣鼓的经验分享出来。(顺便吐槽一下你工的校园网纯纯云服务器级别小水管+00:07断网+250 网费,窝宿舍上网的人有福了(╬▔皿▔)凸)

准备材料

  • 魔法上网(别问,问就是魔法,很科学的那种)
  • 好用的脑子
  • 耐心
  • 一台安装了 Ubuntu 18.04 版本 WSL2 的 Windows 台式机/笔记本总之都行
    • Ubuntu18.04 只是因为路由器的编译环境需要,但好像 22.04 也行(gcc 版本可能会影响编译)(如果你的路由器支持更新的版本,那更好啦~)
    • 另外建议编译期间打开魔法,否则一些依赖可能会因为奇怪的原因下载不下来
  • 一个能刷 OpenWrt 的路由器(哪些路由器可以刷?
    • 我当时懒得嗯刷硬路由(怕刷成砖)然后整了一个便宜的 arm 软?路由,也就是 GL-SFT1200,可是这个路由器的上游SOC SiFlower 对新版 OpenWrt 的适配不太给力 所以大部分 OpenWrt 上能玩的包都需要自己去编译(悲)
    • 如果不是很在乎无线 wifi 质量的话,其实树莓派也能上(而且树莓派的泛用性更强,还可以搞课设

操作过程

一、初始化路由器

  1. 参考官网教程 用你的电脑连接路由器(有线/无线都行,总之先连上路由器)
    • 先别急着把路由器 WAN 口插到墙上!最后配置好客户端后再操作
  2. 访问 http://192.168.8.1 。配置路由器密码,找地方记下来
  3. 打开你的手机热点,让路由器先用手机热点上网
    • 这样你的电脑能按照:电脑->路由器->手机->外网,这样一个顺序访问到网络(有点套,但配置好就不会了)
  4. 确保你的电脑现在能访问到外网+启动了魔法

注:如果你的路由器是别的牌子的话,思路差不多,总之就是配置好 OpenWrt 并先有一个基础的网络访问能力

二、编译 scutclient 和前端界面

在准备好的 WSL2 用户目录下进行以下操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 安装编译依赖
sudo apt update && sudo apt upgrade -y
sudo apt install asciidoc bash bc binutils bzip2 fastjar flex gawk gcc genisoimage gettext git intltool jikespg libgtk2.0-dev libncurses5-dev libssl1.0-dev make mercurial patch perl-modules python2.7-dev rsync ruby sdcc subversion unzip util-linux wget xsltproc zlib1g-dev zlib1g-dev -y

# 准备SDK
cd ~
git clone https://github.com/zheshifandian/openwrt-sf1200.git
cd openwrt-sf1200/openwrt-18.06

./scripts/feeds update -a && ./scripts/feeds install -a

# 选择需要编译的包
make menuconfig
# Target System -> Select (MIPS Siflower board)
# Subtarget -> Select (sf19a28 full mask based boards)
# Target Profile -> Select (GL.iNet SFT1200)
# LuCI -> 3. Applications -> [*] luci-app-scutclient
# Exit and Save

# 开始编译
make -j$(nproc)
# 如果这里报错,用以下命令重新编译,然后发挥你的聪明大脑debug吧(同样需要魔法捏)
make -j1 V=s

编译好的文件在 bin/packages/mips_siflower/[packages/luci],拷贝编译好的 ipk 文件到路由器上。

这是预先编译好的 ipk,用于给像我一样的懒狗使用( •̀ ω •́ )✧:

如果路由器不支持 scp 命令,可以先在路由器管理界面“应用程序->软件包”这里安装 openssh-sftp-server ,然后就可以使用 scp 命令愉快拷贝到路由器上啦~

三、安装 ipk 并配置路由器参数

  1. 在路由器上使用 opkg install xxx.ipk 命令安装软件包
    • 安装好后可以直接运行 scutclient 命令,看下能否正常运行
    • 如果出现 -ash: scutclient: not found 的话,同时 /usr/bin/scutclient 文件确实存在,那么是缺乏依赖导致的,解决方法比较暴力:添加符号链接/lib/ld-musl-mipsel-sf.so.1 指向/lib/libc.so 即可(直接拷贝也行= ̄ω ̄=
      • 分析思路:ldd /usr/bin/scutclient
  2. 打开路由器的管理面板,转到“系统->高级设置->xxxxx/luci”,在新的面板中按照网络中心的相关配置填写,如图所示
    这里我额外安装了argon主题,但内容差不多
  3. 其中 DrAuthSvr.dll 版本因为软件升级,需要手动填写为 6047225a1aa8df1c02995bdd6ee2c42b6f444a1a
  4. 记得根据网络中心提供的配置设置路由器 WAN 口,如图所示
    b6624f51a0283a59d70e505363a6b59f.png
  5. 现在将路由器的 WAN 口插到墙上吧~,然后在 luci 面板的 “XXX 客户端->状态”这里点击“重拨”,然后耐心等待日志部分握手成功即可o( ̄▽ ̄)ブ

其他

上面一通操作后,你的路由器应该就能访问小水管校园网啦。如果是树莓派等其他 OpenWrt 的话整体流程其实差不多,可以参考下互联网上的其他教程

之后还可以配置比如多线负载,实现 00:07之后自动切换到手机热点保持网络连通性,或者打开 ipv6 获得网络速度神秘加速(现在似乎被修复了?),不过此处不再赘述。

最后非常感谢疑似停止维护的 SCUT Router Project 项目!不知道这套方案还能坚持多久~~(反正最多用四年就跑路了)~~


使用GL-SFT1200部署scutclient实现宿舍校园网自由
https://blog.jsesnr.top/posts/504b4101/
作者
Jesse Senior
发布于
2024年5月30日
许可协议