🌴 Sync 2026-03-05 23:51:42

This commit is contained in:
github-actions[bot] committed 2026-03-05 23:51:42 +08:00
1 parent 97c049ed0a
commit 0acff03804
14253 files changed
+3893239

No files matched your search

@@ -0,0 +1,2 @@
config campusnet
option enabled '0'
+77
View File
@@ -0,0 +1,77 @@
#!/bin/sh /etc/rc.common
# Author: nicholas9698 <nicholas9698@outlook.com>
START=99
LOGFILE="/var/campusnet/campusnet.log"
get_date() {
local log=$1
echo $(date +%Y/%m/%d\ %X): "$log" >> $LOGFILE
}
Reduce_Log(){
local log=$1
[ ! -f "$log" ] && return
:>$log
}
boot() {
sleep 10
start
}
start() {
enabled=$(uci get campusnet.@campusnet[0].enabled)
[ $enabled -eq 0 ] && exit 0
mkdir -p /var/campusnet
user_phone=$(uci get campusnet.@campusnet[0].user_phone)
passwd=$(uci get campusnet.@campusnet[0].passwd)
school_id=$(uci get campusnet.@campusnet[0].school_id)
base_ip=$(uci get campusnet.@campusnet[0].base_ip)
# routerIP=$(route -n |awk 'NR==3{print}'| awk '{ print $2; }')
# get_date "当前路由器IP地址为:$routerIP"
Cookies=$(python /usr/share/campusnet/getSessionId.py)
JSESSIONID=""
route=""
routerIP=""
# eval $(echo $Cookies | awk '{printf("JSESSIONID=%s;route=%s",$1,$2)}')
eval $(echo $Cookies | awk '{printf("JSESSIONID=%s;route=%s;routerIP=%s",$1,$2,$3)}')
get_date "当前路由器IP地址为:$routerIP"
sleep 3
cmd=$(curl $'http://139.198.3.98/sdjd/protalAction!portalAuth.action' \
-H 'Accept: application/json, text/javascript, */*; q=0.01' \
-H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
-H 'Cookie: JSESSIONID='${JSESSIONID}'; lt=1; route='${route}'' \
-H 'Origin: http://139.198.3.98' \
-H $'Referer: http://139.198.3.98/sdjd/protalAction!loginInit.action?wlanuserip='${routerIP}'&basip='$base_ip'' \
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0' \
-H 'X-Requested-With: XMLHttpRequest' \
--data-raw 'wlanuserip='${routerIP}'&localIp=&basip='$base_ip'&lt=1&lpsUserName='$user_phone'&lpsPwd='$passwd'&schoolId='$school_id'&rmbUser=on' \
--insecure )
get_date "JSESSIONID:$JSESSIONID"
get_date "route:$route"
get_date "登录结果:$cmd"
label=$(curl -o /dev/null -s -w %{http_code} www.baidu.com)
if label==200
then
get_date "网络连接成功!"
return 0
else
get_date "网络连接失败!"
return 1
fi
}
stop() {
Reduce_Log $LOGFILE
return 0
}
@@ -0,0 +1,17 @@
[ ! -f "/usr/share/ucitrack/luci-app-campusnet.json" ] && {
cat > /usr/share/ucitrack/luci-app-campusnet.json << EEOF
{
"config": "campusnet",
"init": "campusnet"
}
EEOF
}
uci -q batch <<-EOF >/dev/null
delete ucitrack.@campusnet[-1]
add ucitrack campusnet
set ucitrack.@campusnet[-1].init=campusnet
commit ucitrack
EOF
rm -f /tmp/luci-indexcache
exit 0
@@ -0,0 +1,44 @@
#Simulate sign-in to get Cookie
#Cookie expiration time is 30 minutes
import socket
import requests
def get_router_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('223.5.5.5', 53))
ip = s.getsockname()[0]
finally:
s.close()
return ip
def get_base_ip():
base_ip = ""
try:
with open("/etc/config/campusnet", 'r') as f:
lines = f.readlines()
for line in lines:
items = line.split()
if len(items) < 3:
continue
if items[1] == "base_ip":
base_ip = items[2][1:-1]
break
except Exception as e:
print(e)
return ""
return base_ip
routerIP = get_router_ip()
login_url = "http://139.198.3.98/sdjd/protalAction!index.action?wlanuserip="+routerIP+"&basip="+get_base_ip()
res = requests.get(login_url)
cookies_org = res.cookies
cookies = requests.utils.dict_from_cookiejar(cookies_org)
if 'JSESSIONID' in cookies:
print(cookies["JSESSIONID"])
if 'route' in cookies:
print(cookies["route"])
print(routerIP)
@@ -0,0 +1,11 @@
{
"luci-app-frpc": {
"description": "Grant UCI access for luci-app-campusnet",
"read": {
"uci": [ "campusnet" ]
},
"write": {
"uci": [ "campusnet" ]
}
}
}
@@ -0,0 +1,4 @@
{
"config": "campusnet",
"init": "campusnet"
}