【原创】破解校园网设备限制
1 介绍
在宿舍使用软路由,将其配置为旁路由,可以在宿舍里,连接wifi,在网关和旁路由网关相同情况下,将自己设备网关修改为旁路由IP,即可实现不用登录使用校园网
我在使用的是,将旁路由连上网线,开启旁路由Wi-Fi,在宿舍里连接旁路由的wifi,将网关修改为旁路由IP,即可免登录使用校园网
在其他地方的wifi网关和寝室不一样,所以不能直接修改网关为旁路由ip,所以只能在寝室免登录使用校园网
但是后面又有一个方法,就是使用旁路由的passway插件,开启服务端,创建sockes,这样无论在学校哪里,只要连接上校园网,开启clash工具,使用自己创建的sockes,开启全局流量,即可全校园免登录使用校园网
2 刷软路由
- 请网上找刷 openwrt的教程
- 我这里使用的是n1盒子,刷完之后是这样的
3 软路由配置
3.1 配置为旁路由
- 这里最好是使用静态IP,而非是使用dhcp,但是我这里使用静态ip用不了,所以只能使用dhcp
- 使用dhcp也没什么问题,只不过每次重启软路由之后,都需要修改使用设备的网关
3.2 登录校园网
3.2.1 登录代码
- 随便用一台已经连接了校园网的电脑,将下面的 账号,密码,ip(软路由的IP)设置完成后,运行即可给软路由登录上校园网。
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| import random import requests
class CampusNetwork(): def __init__(self): self.url = 'http://192.168.200.2:801/' self.ac = '' self.device = 1 self.user_account = f',{self.device},1673111@telecom' self.user_password = '123456789' self.my_ipv4 = '10.16.1.1' self.callback = 'dr1003' self.v = random.randint(1000, 9999) self.jsVersion = '3,3.3' self.headers = { "User-Agent": "Mozilla/ 5.0 (Linux; Android 4.0 . 3 ; U9200 Build/HuaweiU9200)", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "Accept-Encoding": "gzip, deflate, br", "Accept-Language": "en-US,en;q=0.5", "Connection": "keep-alive", "Referer": self.url, }
def login(self): params = { 'c': 'Portal', 'a': 'login', 'callback': 'dr1004', 'login_method': '1', 'user_account': self.user_account, 'user_password': self.user_password, 'wlan_user_ip': self.my_ipv4, 'wlan_user_ipv6': '', 'wlan_user_mac': '000000000000', 'wlan_ac_ip': '', 'wlan_ac_name': '', 'jsVersion': self.jsVersion, 'v': self.v } url = self.url + 'eportal/' resp = requests.get(url, params=params).text if r"\u8ba4\u8bc1\u6210\u529f" in resp: return "登录成果" return f"登录失败,{resp}"
if __name__ == '__main__': a = CampusNetwork() b = a.login() print(b)
|
3.2.2 自动登录
3.2.2.1 编辑rc.local
3.2.2.2 添加路径
3.2.2.3 创建脚本
1 2 3 4 5
| cd /home touch cqupt.sh vi /home/cqupt.sh
chmod +x /home/cqupt.sh
|
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| target_ip="192.168.200.2"
chkstatus_url="http://192.168.200.2/drcom/chkstatus" callback="dr1004"
for i in {1..60}; do echo "尝试第 $i 次检测 $target_ip 是否可达..." if ping -c 1 -W 1 $target_ip > /dev/null 2>&1; then echo "$target_ip 可达,尝试获取本地 IPv4 地址..."
resp=$(curl -sG "$chkstatus_url" --data-urlencode "callback=$callback" --data-urlencode "v=$v")
json_data=$(echo "$resp" | sed -n 's/.*"v46ip":"\([^"]*\)".*/\1/p') if [ -z "$json_data" ]; then echo "未能获取有效响应,退出脚本。" exit 1 fi
if [ -n "$json_data" ]; then wlan_user_ip="$json_data" echo "本地 IPv4 地址为:$wlan_user_ip"
url="http://192.168.200.2:801/eportal/" user_account=",1,1673188@telecom" user_password="123456789" jsVersion="3,3.3" v="8888" wlan_user_ipv6="" wlan_user_mac="000000000000" wlan_ac_ip="" wlan_ac_name="" query_string="c=Portal&a=login&callback=dr1004&login_method=1&user_account=$user_account&user_password=$user_password&wlan_user_ip=$wlan_user_ip&wlan_user_ipv6=$wlan_user_ipv6&wlan_user_mac=$wlan_user_mac&wlan_ac_ip=$wlan_ac_ip&wlan_ac_name=$wlan_ac_name&jsVersion=$jsVersion&v=$v" curl -v -G "$url" --data "$query_string"
echo "操作执行结果:$response" exit 0 else echo "结果无效或未获取到 v46ip,退出脚本。" exit 1 fi else echo "$target_ip 不可达,等待 3 秒后重试..." sleep 3 fi done
echo "尝试 60 次后仍未成功,脚本结束。" exit 1
|
3.3 开启Wi-Fi
3.4 开启passway
4 使用
4.1 寝室使用
4.1.1 校园wifi/网线
如果宿舍里的学校wifi或者网线和软路由的网关是一样的,就可以直接修改你设备连接校园网后的网关为软路由网关,即可绕过校园网上网。
4.1.2 使用软路由wifi
软路由开启wifi,然后设备连接软路由的wifi,将网关修改为软路由的ip,即可绕过校园网上网。
4.2 其他地方
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 30 31 32 33 34 35 36 37 38
| port: 7890 socks-port: 7891 mixed-port: 7892 allow-lan: true mode: rule log-level: info external-controller: '0.0.0.0:9090' clash-for-android: append-system-dns: false profile: tracing: true dns: enable: true enhanced-mode: fake-ip ipv6: false default-nameserver: [223.5.5.5, 119.29.29.29] fake-ip-range: 198.18.0.1/16 use-hosts: true nameserver: ['https://doh.pub/dns-query', 'https://dns.alidns.com/dns-query'] fallback: ['https://doh.dns.sb/dns-query', 'https://dns.cloudflare.com/dns-query', 'https://dns.twnic.tw/dns-query', 'tls://1.0.0.1:853', 'tls://8.8.4.4:853'] fallback-filter: { geoip: true, ipcidr: [240.0.0.0/4, 0.0.0.0/32] }
proxies: - { name: "校园网", type: socks5, server: 10.16.46.16, port: 8899, username: , password: , udp: true } proxy-groups: - name: Proxy type: select proxies: - '校园网' rules: - DOMAIN-SUFFIX,google.com,Proxy - DOMAIN-KEYWORD,google,Proxy - DOMAIN,google.com,Proxy - DOMAIN-SUFFIX,ad.com,REJECT - IP-CIDR,127.0.0.0/8,DIRECT - GEOIP,CN,DIRECT - MATCH,Proxy
|