⚠️ disclaimer 声明:

本文仅做技术研究,请勿用作非法用途。本文不提供文件下载。
本文仅做技术研究,请勿用作非法用途。本文不提供文件下载。
本文仅做技术研究,请勿用作非法用途。本文不提供文件下载。

前言

书接上回 , 咱说到,我用 golang 写了个程序,可以替换掉办公室的终端安全助手接入办公网络。

虽然仍然需要账号和每日变化的验证码才能登陆(登陆后不退出就可以一直用下去),但是因为 golang 可以跨平台变异的特性,这个程序不再局限于只能在 Windows 上使用,而且程序只有必要的登陆请求,去掉了策略检测的过程,使得程序更加简洁和绿色(以及让网络更加不安全😆)。

这几个月我一直在寻找一个适合装 openwrt 的路由器。

6月份开始,我换了个挂靠的公司,这家公司连电脑都不提供了,我的 Mac 本无法接入到办公网,我也不想开虚拟机来压榨这可怜的电脑,这一事件也加速了我对完成路由器登陆办公网的需求。

在我日积月累的刷咸鱼之下,终于咸鱼给我推荐了一款小巧而强大,同样不失颜值的路由器,最后在闲鱼上斥 160 巨资购买了下来。

路由器及配置

型号:GL-SFT1200
接口:Type-C 电源口x1,WANx1,LANx2,USB2.0x1
CPU:SF19A28,Dual-Core @ 1GHz
(国产芯片,架构是 mips)
内存:DDR3 128 MB / Nand Flash 128 MB
(在排除路由器自身的操作系统后,还剩 80M,编译后的程序是 9.7M,完全够用)
以太网口:千兆
无线速率:2.4GHz 300 Mbps / 5GHz 867 Mbps

比 GL-SFT1200 好一点的是 GL-MT1300 ,价格是 379 元
CPU 是 联发科的 MT7621A,Dual-Core @ 880 MHz
无线速率相较 SFT1200 在 2.4GHz 提升了 100Mbps,没有什么用

完全不值花 379 去买

编译程序

一开始,我使用 mips 架构编译

1
CGO_ENABLED=0 GOOS=linux GOARCH=mips go build main.go

发现在路由器上不能运行

后来换为 mipsle 编译

1
CGO_ENABLED=0 GOOS=linux GOARCH=mipsle go build main.go

这才成功运行

将程序通过 scp 上传到路由器

1
scp xxxx-client [email protected]:/root/

编辑配置文件,填上账号/密码/附加码,然后运行程序

1
2
chmod +x xxxx-client
./xxxx-client

回车

接入办公网

在敲下回车的那一刹那,我的微信开始弹出消息,电脑有网了,我知道我成功了。

内网穿透

登录上后我开始尝试内网穿透,我要把网络穿透到外网。

我尝试了我最常用的 KSA , kanxue security access。 KSA 有认证,有一定安全性,使用起来也很方便。

但是我尝试了 ksa 的 mips 和 mipsel ,无法在路由器上运行。

虽然 SF19A28 也是 mips 架构,但可能是经过了魔改,这让我有点犯恶心。

好在还有 frp,frp 也是 golang 编写的,提供了 mipsle 的二进制程序。我试了下可以运行,之前买了台国内的服务器,带宽有6m,内网穿透也足够了,但是我不想配置,而且我担心路由器的 RAM 不太撑得住。

在树莓派上运行 KSA

最后,我在路由器上接了个树莓派,跑 ksa,armhf 版,完美运行。

我的 Mac 通过连接 ksa,可以连回办公室的内网,而且网络稳定,就是这个组件有点恶心了。