dsh-web.sh
986 Bytes
#!/system/bin/sh
# 开机启动 dsh web (127.0.0.1:3080) 并用带 token 的地址在 Chrome 打开 (Magisk service.d)
# 认证无法关闭;token 仅首次访问用,之后靠 30 天 cookie。每次启动都带最新 token 打开最稳。
# -G 3003 = AID_INET,否则 DNS 全断。已在跑则只重新打开页面。
sleep "${DSH_BOOT_DELAY:-30}"
H=/data/data/com.termux/files/home
L=$H/dsh/web.log
if ! pgrep -f "\.bin/dsh web" >/dev/null; then
rm -f "$L"
su -G 3003 10329 -c "HOME=$H PREFIX=/data/data/com.termux/files/usr PATH=/data/data/com.termux/files/usr/bin:/system/bin TMPDIR=/data/data/com.termux/files/usr/tmp nohup /data/data/com.termux/files/home/dsh/run-web.sh > $L 2>&1 < /dev/null &"
fi
i=0
while [ $i -lt 90 ]; do
URL=$(grep -o 'http://127.0.0.1:[0-9]*/?token=[^ ]*' "$L" 2>/dev/null | tail -1)
[ -n "$URL" ] && break
i=$((i+1)); sleep 1
done
[ -n "$URL" ] && am start -a android.intent.action.VIEW -d "$URL" -p com.android.chrome >/dev/null 2>&1
exit 0