mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-01 06:23:56 +08:00
🌴 Sync 2026-03-05 23:51:42
This commit is contained in:
1 parent
97c049ed0a
commit
0acff03804
14253 files changed
+3893239
No files matched your search
@@ -0,0 +1,2 @@
|
||||
config campusnet
|
||||
option enabled '0'
|
||||
Executable
+77
@@ -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'<=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"
|
||||
}
|
||||
Reference in new issue
Block a user