/lua-esurfing-client

Make your school life convenient

Primary LanguageLuaMIT LicenseMIT

Esurfing client for Lua

luci-app-esurfing-client的可独立运行的主脚本程序

功能

  • 一键登录/注销网络(提供命令行和配置文件两种方式)
  • 定时保活(与外界通信进行保活)
  • 免打扰模式(免打扰时间段内不会执行脚本, 一般结合定时保活功能使用)

    注意: 如果你的路由器支持定时关机的操作, 无需使用该功能

  • 较为详尽的日志记录(同时支持标准输出)
  • 基本兼容luci-app-esurfing-client的主脚本程序(仅需修改两处 1 2)

依赖

如何解决依赖问题

对于 Windows 用户

  1. 安装 Lua for Windows
  2. 安装 ZeroBrane Studio Lua IDE

对于 Linux/Mac 用户

安装lua以及luarocks依赖

下载方法

  1. Releases处下载客户端程序
  2. clone 本项目
git clone https://github.com/OpenWyu/lua-esurfing-client

用法

作为命令行程序

<xxx>: 必选参数

[xxx]: 可选项(一定要按照顺序)

# 登录
lua esurfing-client.lua login <username> <password> <macaddr> [clientip] [nasip] [schoolid] [secretkey]
# 注销
lua esurfing-client.lua logout <username> <password> <macaddr> [clientip] [nasip] [schoolid] [secretkey]

自行实现对应平台自动获取MAC地址的功能后:

# 登录
lua esurfing-client.lua login <username> <password>
# 注销
lua esurfing-client.lua logout <username>

修改配置后直接运行

修改 src 目录下的 main.lua 文件里的用户自定义参数(直接搜索用户自定义参数即可找到)

然后可试执行:

lua ./main.lua

或直接打包后运行:

lua ./bin/esurfing-client.lua

路由器上的使用建议(OpenWrt)

参考 openwrt 分支

二次开发

只需修改在 src 文件夹下, 除了 amalg.lua 打包程序以外的程序文件

打包成单文件客户端

cd ./src
lua ./amalg.lua -o ../bin/esurfing-client.lua -s ./main.lua requests utils json md5 log

目前存在的问题

  • 某些时候网络会有问题, 保活协程应提供失败重试多次的子功能

相关项目

参考项目