功能通过 Bash 实现, 适合 Live CD 引导装机, 小主机登录维持等场景.
- Arch Linux: AUR - tunet_bash
$ make install # default to $HOME/.local
或者安装到自定义路径:
$ sudo make PREFIX=/usr/local install
如果要生成手册页:
$ make man
如果要卸载:
$ make uninstall
$ export TUNET_USERNAME=<your username>
$ export TUNET_PASSWORD=<your password>
$ export TUNET_LOG_LEVEL=debug # default info
$ tunet_bash --login # automatically use auth4 or auth6
$ export TUNET_USERNAME=<your username>
$ export TUNET_PASSWORD=<your password>
$ tunet_bash --login --auth 6
[2025-01-29 11:18:23+08:00] INFO login_ok
或者, 也可以将用户名和密码写入 $HOME/.cache/tunet_bash/passwd
文件中, 这一过程可以通过以下命令完成:
$ tunet_bash --config
username: yangzheh22
password:
此后将使用已设定的用户名和密码, 环境变量可以覆盖文件中的用户名和密码.
如果查询当前登入用户, 可以使用:
$ tunet_bash --whoami
[2025-01-29 10:13:33+08:00] INFO yangzheh22
$ tunet_bash --whoami --verbose --auth 6
[2025-01-29 12:08:53+08:00] INFO yangzheh22
LOGIN UP(h) DEVICE BALANCE TRAFFIC_IN(MiB) TRAFFIC_OUT(MiB) TRAFFIC_SUM(MiB) TRAFFIC_TOTAL(GiB) MAC IP
2025-01-30 00:22:24+08:00 1.06 3 0 8.18 2.52 10.71 37.46 00:10:20:30:40:50 2402:f000:4:1008:809:ffff:ffff:3138
TRAFFIC_IN
, TRAFFIC_OUT
, TRAFFIC_SUM
统计当前登陆会话的流量, TRAFFIC_TOTAL
统计本月总流量.
更多详细说明请查看手册页.
-
Auth 4
-
Auth 6
-
Net
-
登入登出
-
当前用户查询
-
在线时间, 流量查询
- bash
- openssl
- curl
- make
- scdoc
以下项目或博客为实现 Bash 版本的认证逻辑提供了参考:
- tunet-rust
- 清华校园网自动连接脚本
- 某校园网认证api分析
- tunet-python
- GoAuthing
- Tiny Encryption Algorithm - Wikipedia
- Bash Bitwise Operators | Baeldung on Linux
- 更通用的 shebang
- 打印版本
- 支持短选项组合
- 设置
LC_ALL=C
- 修复
-a auto
条件判断
- MAC, 在线设备数, 余额查询
- 支持
--date-format
选项 - 替换
--v4
,--v6
选项为--auth
- 允许自动确定 auth4 或 auth6
- 修复短选项解析错误
- 在线时间, 流量等查询
- 指定 auth4 或 auth6
- 合并
tea.sh
,tunet_bash.sh
- 短选项支持
- 将
tea.cpp
部分换为 Bash 实现
- 更改命令格式
- 更改安装路径
- 增加 man 手册页
- 不再依赖 jq 解析 json
- 修复未登录下没有设置 v4 或 v6 的问题
- 修复有线网 auth6 跳转
- 针对校园网 2025-01-15 的升级, 更新获取 ac_id 的逻辑
- 针对校园网 2025-01-15 的升级, 更新 whoami 查询的逻辑
- 将
tunet_bash.sh
安装为tunet_bash