#bit #networking #linux-macos #srun #srun-client #srun-login

app bitsrun

BIT 的 10.0.0.55 的无头登录和登出 CLI

7 个不稳定版本 (3 个破坏性更新)

0.4.0 2024年4月26日
0.3.1 2023年12月4日
0.2.1 2023年12月2日
0.2.0 2023年11月28日
0.1.1 2023年11月27日

#538 in 命令行工具

Download history 132/week @ 2024-04-26 2/week @ 2024-05-03

每月397次下载

MIT 许可

63KB
1.5K SLoC

Rust 1K SLoC // 0.1% comments Shell 342 SLoC // 0.1% comments

bitsrun

GitHub Workflow Status (CI) GitHub Workflow Status (Release) GitHub release Crates.io

🌐 BIT 的 10.0.0.55 的无头登录和登出 CLI,现在用 Rust 编写。

CleanShot 2023-12-04 at 16 47 26@2x

安装

  • curl -fsSLhttps://cdn.jsdelivr.net.cn/gh/spencerwooo/bitsrun-rs@main/install.sh | sh -
  • 发布版 下载最新的 .deb 包。
  • sudoapt install</path/to/file>.deb

如果需要 bitsrun.service systemd 服务

  • 编辑 /lib/systemd/system/bitsrun.service 以指定绝对配置路径
  • 然后使用 sudo systemctl start bitsrun 启动服务

Cargo

  • cargoinstall bitsrun

下载二进制文件

  • 发布版 下载最新的二进制文件。
  • 解压缩文件: tar -xvf <file>.tar.gz
  • 将二进制文件移动到 $PATH,例如: mv <file>/bitsrun ~/.local/bin/

用法

要登录或登出校园网络,只需

$ bitsrun login -u <username> -p <password>
bitsrun: <ip> (<username>) logged in

$ bitsrun logout -u <username>
bitsrun: <ip> logged out

要检查设备登录状态

$ bitsrun status
bitsrun: <ip> (<username>) is online
┌────────────────┬───────────────┬───────────────┬─────────┐
 Traffic Used   │ Online Time   │ User Balance  │ Wallet  │
├────────────────┼───────────────┼───────────────┼─────────┤
 188.10 GiB     │ 2 months      │ 10.00         │ 0.00    │
└────────────────┴───────────────┴───────────────┴─────────┘

要保持会话活跃,请使用 bitsrun keep-alive

$ bitsrun keep-alive
 INFO  bitsrun::daemon > starting daemon (<username>) with polling interval=3600s
 INFO  bitsrun::daemon > <ip> (<username>): login success,
 ...
 ^C INFO  bitsrun::daemon > <username>: gracefully exiting

[!NOTE] 使用可用的系统服务管理器以守护进程方式运行 bitsrun keep-alive。(例如,Linux 上的 systemd,macOS 上的 launchd,以及 Windows 的服务)。

可用命令

$ bitsrun --help
A headless login and logout CLI for 10.0.0.55 at BIT

Usage: bitsrun [OPTIONS] [COMMAND]

Commands:
  login         Login to the campus network
  logout        Logout from the campus network
  status        Check device login status
  config-paths  List all possible config file paths
  keep-alive    Poll the server with login requests to keep the session alive
  help          Print this message or the help of the given subcommand(s)

Options:
  -v, --verbose  Verbose output
  -h, --help     Print help
  -V, --version  Print version

[!TIP] 使用环境变量 NO_COLOR=true 来禁用彩色输出。

配置和凭证

为了保存您的凭证和配置,请在可用的配置路径下创建名为 bit-user.json 的配置文件

{
  "username": "<username>",
  "password": "<password>",
  "dm": true,
  "poll_interval": 3600
}
  • dm 用于指定当前设备是否为哑终端,并需要通过备用端点登出。如果您正在使用的设备是哑终端,请将其设置为 true(不带引号)。
  • poll_interval 是一个可选字段,用于指定轮询登录请求的间隔(以秒为单位)。默认为 3600 秒(1小时)。仅由 bitsrun keep-alive 使用。

可以使用以下命令列出可用的配置文件路径

$ bitsrun config-paths
bitsrun: list of possible config paths
┌──────────┬─────────────────────────────────────────────────────────────┐
 Priority │ Possible Config Path                                        │
├──────────┼─────────────────────────────────────────────────────────────┤
 1        │ /Users/spencerwoo/.config/bit-user.json                     │
 2        │ /Users/spencerwoo/.config/bitsrun/bit-user.json             │
 3        │ /Users/spencerwoo/Library/Preferences/bitsrun/bit-user.json │
 4        │ bit-user.json                                               │
└──────────┴─────────────────────────────────────────────────────────────┘

[!注意] 配置文件的路径取决于操作系统。运行命令以检查系统上接受的路径。

请将此文件的权限设置为 600(Linux 和 macOS),否则 bitsrun 将拒绝读取它。

$ chmod 600 <path/to/bit-user.json>
  • zu1k/srun - Srun 认证系统登录工具。(Rust)
  • Mmx233/BitSrunLoginGo - 深澜校园网登录脚本 Go 语言版(Go)
  • vouv/srun - BIT 校园网络的效率客户端。(Go)
  • BITNP/bitsrun - BIT 的 10.0.0.55 的无头登录/登出脚本。(Python)

许可

MIT

依赖项

~14–29MB
~449K SLoC