suzumiyashirone's Blog

利用树莓派做代理服务器逃过校园网检测

校园运营商罪大恶极!

字数统计: 1.2k阅读时长: 4 min
2019/11/12 Share

这学期开学之前我校一直在学校的垄断下享受着10mbps/s(阈值,90%的时间达不到)的天翼3G,直到这个学期,学校运营商开始了校园网绑定宽带账号的政策。

好事啊,办一张月租49的卡接个路由器宿舍一起用甚至还很便宜,前半个月用的很舒服,结果在一次学校服务器宕机维护之后,两个设备以上连接时就会断线。

很显然校运营商为了让学生人手一个账号也是“尽心尽力”,不过很显然,只要是人做出的检测就肯定有能绕过的方法,而最安全的稳定的方法毫无疑问是代理服务器。

经过我的电脑一周未关机的测试之后,我决定去闲鱼捡一个树莓派做代理然后通过二级路由做全局代理实现方便快捷的宿舍“局域网”。

网路设计:

首先要先设想出大概的ip分配以及设备连接方式。

首先树莓派通过以太网接口连接宿舍内的有线,之后通过usb无线网卡连接至路由器A

在路由器A中给树莓派的usb无线网卡通过mac地址绑定设置静态ip :192.168.1.2,在树莓派中为ss服务器端设置端口为192.168.1.2。

然后通过网线将路由器A的LAN口连接至路由器B的WAN口AB路由器ip不能为同一网段,B路由器刷老毛子内核设置ss全局代理走树莓派的端口。

此时路由器AB都为一个没有网络的局域网,B路由器LAN口及无线下所有的流量都经过路由器A进入树莓派,以达成一个ip及mac下多设备共享网络。

Q:为什么不直接在路由器A中设置ss全局代理。

A:因为树莓派无线是走的路由器A的LAN口,路由器A的WAN口是没有任何接入的,路由器A充当的是交换机的角色,故不可。

Linux下的校园网登录:

设备全部搞好了,问题是linux下校园网登录不像win一样会弹出网页。

这里使用python+requests库即可实现登录。

首先我们在win中使用浏览器打开登录页面,f12后可以看到。

之后点开loginbox查看登录所需要的数据。

查看完post数据之后就可以开搞了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#请求地址
url="http://210.29.79.141/a79.htm"

#构造请求头
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.8',
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Mobile Safari/537.36'}

#构造表单数据
formdata={
"action":"login",
"authtype":"3", #运营商
"authloginIP":" " #查看被学校分配的ip填入
"authuserfield":"*******",
"authpassfield":"*******",
"ac_id":"1",
"save_me":"0",
"ajax":"1"
}

#使用post方法提交表单数据
response = requests.post(url, data = formdata, headers = headers)

#检测是否登录成功
if 'login_ok' in response.text:
print("登录成功")
else:
print(response.text[:30])

运行脚本显示登陆成功,即可。

树莓派调教:

说实话这垃圾捡来我也没怎么调教,插上我之前做的u盘manjaro启动盘可以直接启动,u盘系统的制作可以看这里

直接装上ss后vim开js设置文件设置参数就好了。

1
2
3
4
5
6
7
"server":"192.168.1.2",  #树莓派无线网卡ip
"server_port":8989,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"*******",
"timeout":300,
"method":"aes-256-cfb" #加密方式

之后将参数输入至路由器B中的ss全局代理中就可以让所有设备连接路由B访问网络了。

尾巴:

历经两周,又可以正常使用网络了,除了玩游戏延迟高需要开热点,但比起不能用还是好多了,毕竟大家都大三了,再让我们为了宽带每人去换个号也不现实,更何况我这种10元10G的4G以及10元不限量的3G套餐已经没有了,而且我一个月流量都用不了多少。

只能希望校园宽带的垄断能早日终结吧。


CATALOG
  1. 1. 网路设计:
  2. 2. Linux下的校园网登录:
  3. 3. 树莓派调教:
  4. 4. 尾巴: