Skip to content

blackyau/luci-app-suselogin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

luci-app-suselogin

适用于 四川轻化工大学 锐捷网络 Web 网络认证系统,可以自动连接网络,也可以通过设定的时间检测网络连接状态并自动重连。

插件主页截图

插件运行日志截图

可用固件

这是我编译好的,Newifi D2 路由器可用的固件 https://github.com/blackyau/make_lede/releases/tag/suse 。它内置了这个自动拨号的插件,还内置了 Zxilly/UA2FCHN-beta/xmurp-uaCHN-beta/rkp-ipid 还有 NTP-Server TTL 之类的多种抗检测方案,可以防止多设备被封。目前看来 UA2F 要更胜一筹。

快速开始

前往 Releases 下载已编译好的 ipk https://github.com/blackyau/luci-app-suselogin/releases/latest

在 OpenWrt - 系统 - 文件传输 选择该 ipk 点击上传,然后在下方安装。

filetransfer

安装完毕后在 网络 - SUSE Login 点击启用并填入用户名密码选择你的运营商后点击右下方的保存&应用,查看日志当提示登录成功时说明已登录成功。

如果提示缺少依赖,那么还需要安装 curl,请使用 Xshell 之类的软件连接到路由器,然后执行以下命令安装 curl

opkg update
opkg install curl

单独编译IPK

先准备好环境 Ubuntu 18 LTS x64 ,安装编译环境的依赖

sudo apt-get update
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync

下载 lede/OpenWrtluci-app-suselogin 源码并进入编译配置菜单

git clone https://github.com/coolsnowwolf/lede
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
git clone https://github.com/blackyau/luci-app-suselogin.git package/luci-app-suselogin
make menuconfig

在 make menuconfig 里面选好自己的机型,然后将 LuCI ---> Applications ---> luci-app-suselogin

选中,并将前面的复选框变为 <M> 再保存编译配置

接下来开始单独编译该插件的 IPK

make package/luci-app-suselogin/compile -j1 V=s

编译后的 ipk 在 bin/packages/ 目录内,同时也会有 curl 之类的依赖,如果你的固件已经装好了依赖就只需要拷贝安装 luci-app-suselogin_X.X-X_all.ipk 即可。

固件集成插件

请查看 https://github.com/coolsnowwolf/lede 你必须要先知道如何编译正常的固件,才会在编译的过程中加入该扩展。

cd lede/package  # 进入 OpenWrt 源码的 package 目录
git clone https://github.com/blackyau/luci-app-suselogin.git  # 下载插件源码
cd ..  # 返回 OpenWrt 源码主目录
make menuconfig  # 进入编译设置菜单

LuCI ---> Applications ---> luci-app-suselogin

将其选中,使得复选框变为 <*> 再保存编译设置,随后正常编译即可。固件会自带 luci-app-suselogin

make -j8 download
make -j$(($(nproc) + 1)) V=s

实现细节

当插件设置为启用后,每隔指定的间隔时间,会检测登录状态,如果未连接到互联网则会尝试登录,同时还会检测当前在线设备数量并保存,如果这次检测的在线数量比上一次的多,就会自动下线并重新登录。

发送登录请求返回数据: /tmp/log/suselogin/login.log

完整日志: /tmp/log/suselogin/suselogin.log

TODO

  • 函数式编程
  • curl指定超时
  • 主脚本配置使用参数传入

参考

License

Copyright 2020 BlackYau blackyau426@gmail.com

GNU General Public License v3.0