Coder Social home page Coder Social logo

gxu-login's Introduction

GXU-Login

C 大校园网自动登录认证,哆点、广州热点 Web 认证。本脚本为 Padavan 自动登录脚本,解决校园网的网络波动及断联问题,在相对较短时间内自动回复,免于维护。

理论适用所有哆点、广州热点的 Web 认证,不过可能不同学校登录请求略有不同,建议浏览器抓包获取登录和登出链接进行修改。理论上 OpenWrt 也可以使用,可能需要修改对应的脚本记录函数和重启 WAN 的函数。

其他任何 Web 端认证的学校,理论上都可以使用此脚本,修改登录的联机即可,可通过电脑网页登陆时,F12 抓包获取,将对应的动态参数,如“ip”,“mac”等修改为变量,注意变量本身的格式。可能还需要修改get_info()中获取的信息,根据实际情况调整即可。

*系统必须包含curl

基本逻辑

已联网

  • check_time(默认 5s)访问百度检测联网状态,timeout(默认 3s)内无法正确访问“百度”转为“未联网”状态。

未联网

  • 每次尝试登陆前检测网络状态,“无网络”重启 WAN,“未联网”尝试登录,已联网转为“已联网”状态。
  • 从“已联网”状态转入“未联网”状态,直接使用原登录数据尝试 1 次。
  • 尝试登录max_try(默认 3 次),均失败后重启 WAN。
  • 重启 WAN 后,忽略“无网络”状态,强制尝试max_try(默认 3 次),仍然无法联网重启路由器。

注意事项

  • 系统必须包含curl
  • 不太建议修改除了账号、密码、运营商之外的参数,我觉得默认配置目前来说应该是最好的。
  • 如果设置了脚本开机自启动,请务必设置物理停止方法,比如长按 WPS 键停止进程,防止由于无网络连接造成的反复重启。
  • 本脚本主要针对不断网账号,学生账号工作日夜间断网会导致路由器不断重启,直至早上联网。
  • 不建议减小timeout(默认 3s),实际上即使设置 3s,晚上网络高峰期仍然经常会超时,虽然减小该值有利于断网后快速恢复连接。

Padavan 使用技巧(OpenWrt 可参考)

固件

可使用该版本的固件“https://opt.cn2qq.com/旧文件/padavan_20-11-2/”。

Asus 路由器刷入 Padavan 变砖的解决方法,参考“近期华硕 N56U 刷 老毛刷 Padavan 变砖后 救砖并升级最新版过程 - Padavan - 恩山无线论坛”,注意使用“ASUS Firmware Restoration”时,最好禁用除了连接救援模式的路由器的有线网卡之外,一切其他网络适配器,否则极有可能无法连接。

脚本

1、可将“GXU-Login.sh”文件放入“/etc/storage”目录下,使其重启后仍然保留在路由器中。

2、路由器 Web 管理界面,自定义设置-脚本-在路由器启动后执行,在最后“运行脚本 1”前添加以下代码。实现路由器启动后执行自动登录脚本,启动时检测脚本是否已在后台执行。

#GXU-Login
if [ -z "$(ps | grep GXU-Login | grep -v grep | awk '{print $1}')" ]; then
    /etc/storage/GXU-Login.sh &
fi

其中,/etc/storage/GXU-Login.sh &,可以使得脚本在后台运行,可以通过 Web 控制台正常启动并在后台运行。

3、可以在路由器 Web 管理界面,自定义设置-按钮/LED,设置WPS按钮功能-长按(3秒)为“系统:运行自定义脚本 (arg: 2)”。

路由器 Web 管理界面,自定义设置-脚本-在按下 WPS/FN 按钮时执行,在最后添加以下代码。实现长按 WPS 按钮后,终止脚本。

pid=$(ps | grep GXU-Login | grep -v grep | awk '{print $1}')
if [ -n "$pid" ]; then
  kill -9 $pid
  logger -t 【GXU-Login】 "停止运行"
fi

gxu-login's People

Contributors

timeflyingaway avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

gxu-login's Issues

网页认证get请求

我抓到部分代码了,发现是get请求的,大佬可以帮忙看下如何修改相对应部分的参数吗,谢谢啦

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.