Crates.io | bitsrun |
lib.rs | bitsrun |
version | 0.4.0 |
source | src |
created_at | 2023-11-27 11:36:50.814795 |
updated_at | 2024-04-26 08:56:36.872343 |
description | A headless login and logout CLI for 10.0.0.55 at BIT |
homepage | https://github.com/spencerwooo/bitsrun-rs |
repository | https://github.com/spencerwooo/bitsrun-rs |
max_upload_size | |
id | 1050368 |
size | 120,233 |
🌐 A headless login and logout CLI for 10.0.0.55 at BIT, now in Rust.
curl -fsSL https://cdn.jsdelivr.net/gh/spencerwooo/bitsrun-rs@main/install.sh | sh -
systemd
support).deb
package from Releases.sudo apt install </path/to/file>.deb
If bitsrun.service
systemd service required:
/lib/systemd/system/bitsrun.service
to specify absolute config pathsudo systemctl start bitsrun
cargo install bitsrun
tar -xvf <file>.tar.gz
$PATH
, such as: mv <file>/bitsrun ~/.local/bin/
To log into or out of the campus network, simply:
$ bitsrun login -u <username> -p <password>
bitsrun: <ip> (<username>) logged in
$ bitsrun logout -u <username>
bitsrun: <ip> logged out
To check device login status:
$ bitsrun status
bitsrun: <ip> (<username>) is online
┌────────────────┬───────────────┬───────────────┬─────────┐
│ Traffic Used │ Online Time │ User Balance │ Wallet │
├────────────────┼───────────────┼───────────────┼─────────┤
│ 188.10 GiB │ 2 months │ 10.00 │ 0.00 │
└────────────────┴───────────────┴───────────────┴─────────┘
To keep the session alive, use 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] Use available system service managers to run
bitsrun keep-alive
as a daemon. (e.g.,systemd
for Linux,launchd
for macOS, and Windows Service for 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] Use environment variable
NO_COLOR=true
to disable colored output.
To save your credentials and configurations, create config file bit-user.json
under an available config path as:
{
"username": "<username>",
"password": "<password>",
"dm": true,
"poll_interval": 3600
}
dm
is for specifying whether the current device is a dumb terminal, and requires logging out through the alternative endpoint. Set to true
(no quotes!) if the device you are working with is a dumb terminal.poll_interval
is an optional field for specifying the interval (in seconds) of polling login requests. Default is 3600
seconds (1 hour). Used by bitsrun keep-alive
only.Available config file paths can be listed with:
$ 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 │
└──────────┴─────────────────────────────────────────────────────────────┘
[!NOTE] The config file location is OS-dependent. Run the command to check the accepted locations on your system.
Set permissions of this file to 600
on Linux and macOS, or bitsrun
will refuse to read it.
$ chmod 600 <path/to/bit-user.json>
zu1k/srun
- Srun authentication system login tools. (Rust)Mmx233/BitSrunLoginGo
- 深澜校园网登录脚本 Go 语言版 (Go)vouv/srun
- An efficient client for BIT campus network. (Go)BITNP/bitsrun
- A headless login / logout script for 10.0.0.55 at BIT. (Python)