tunet-rust
清华大学校园网 Rust 库与客户端。
GUI
支持 Qt5/6,以及 Qt 支持的桌面平台。前端使用 C++ 编写。
Windows | Linux | MacOS | MacOS(暗) |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
CUI(命令行图形界面)
使用如下命令启动:
# 使用默认(自动判断)方式登录/注销
./tunet cui
./tunet-cui
# 使用 auth4 方式登录/注销
./tunet cui -- -s auth4
./tunet-cui -s auth4
命令行
登录/注销
# 使用默认(自动判断)方式登录
./tunet login
# 使用默认(自动判断)方式注销
./tunet logout
# 使用 auth4 方式登录
./tunet login -s auth4
# 使用 auth4 方式注销
./tunet logout -s auth4
在线状态
# 使用默认(自动判断)方式
./tunet status
# 使用 auth4 方式
./tunet status -s auth4
查询/强制下线在线IP
# 查询
./tunet online
# IP 上线
./tunet connect -a IP地址
# IP 下线
./tunet drop -a IP地址
流量明细
# 使用默认排序(注销时间,升序)查询明细
./tunet detail
# 使用登录时间(升序)查询明细
./tunet detail -o login
# 使用流量降序查询明细
./tunet detail -o flux -d
# 使用流量降序查询明细,并按注销日期组合
./tunet detail -o flux -dg
keyring
用户名和密码在第一次登录时根据提示输入,不同平台管理密码方法如下:
平台 | 方法 |
---|---|
Windows | Windows Credential Manager |
Linux | Keyrings |
macOS | Keychain |
对于不支持密码管理的 Linux 发行版,会回退到明文密码。
在 WSL 上保存的密码会在 WSL 重启后消失。
请不要在不信任的电脑上保存密码。可以在图形界面点击“删除并退出”,或在命令行使用如下命令删除:
./tunet deletecred
netstatus
针对 Windows, Linux, macOS 使用了平台特定的方式尝试获得当前的网络连接方式,如果是无线网连接还会获取 SSID。 如果无法获取,则尝试连接特定的网址来判断。
平台 | 方法 |
---|---|
Windows | Windows::Networking::Connectivity |
Linux | Netlink |
macOS | System Configuration 与 Core WLAN |
平台支持
至少支持如下目标编译命令行程序:
- i686-unknown-linux-gnu
- x86_64-unknown-linux-gnu
- arm-unknown-linux-gnueabihf
- aarch64-unknown-linux-gnu
- riscv64gc-unknown-linux-gnu
- mips-unknown-linux-gnu
- mipsel-unknown-linux-gnu
- mips64-unknown-linux-gnuabi64
- mips64el-unknown-linux-gnuabi64
- powerpc-unknown-linux-gnu
- powerpc64le-unknown-linux-gnu
- s390x-unknown-linux-gnu
- x86_64-apple-darwin
- aarch64-apple-darwin
- i686-pc-windows-msvc
- x86_64-pc-windows-msvc
- aarch64-pc-windows-msvc
但是大部分目标并不提供预编译程序,如有需要请自行编译。
编译说明
如果只需要命令行程序,使用 cargo
直接编译:
cargo build --release
即可在 target/release
下找到编译好的程序。
如果需要图形界面程序,应首先安装 Qt5/6 与 cmake,之后运行:
mkdir build
cd build
# Qt6
cmake ..
# Qt5
cmake .. -DUSE_QT5=on
cmake --build .
有关交叉编译的说明,参考 cargo
文档以及 Corrosion。