winload-rust-bin 0.1.7-rc.4 → 0.1.9-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin.js +2 -2
- package/index.js +8 -8
- package/package.json +14 -10
- package/readme.md +154 -17
package/bin.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* winload
|
|
4
|
+
* @vincentzyuapps/winload — CLI entry point
|
|
5
5
|
*
|
|
6
6
|
* 定位当前平台的预编译二进制并透传所有参数执行。
|
|
7
|
-
* 用户通过 `npx winload
|
|
7
|
+
* 用户通过 `npx @vincentzyuapps/winload` 或全局安装后直接 `winload` 即可运行。
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
"use strict";
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* winload
|
|
2
|
+
* @vincentzyuapps/winload — binary path resolver
|
|
3
3
|
*
|
|
4
4
|
* npm 安装时会根据 optionalDependencies 中各平台包的 os/cpu 字段,
|
|
5
5
|
* 仅下载与当前平台匹配的那一个。此模块负责定位该平台包中的二进制。
|
|
@@ -17,12 +17,12 @@ const path = require("path");
|
|
|
17
17
|
* value: npm 平台包名
|
|
18
18
|
*/
|
|
19
19
|
const PLATFORMS = {
|
|
20
|
-
"win32-x64": "winload-
|
|
21
|
-
"win32-arm64": "winload-
|
|
22
|
-
"linux-x64": "winload-
|
|
23
|
-
"linux-arm64": "winload-
|
|
24
|
-
"darwin-x64": "winload-
|
|
25
|
-
"darwin-arm64": "winload-
|
|
20
|
+
"win32-x64": "@vincentzyuapps/winload-win32-x64",
|
|
21
|
+
"win32-arm64": "@vincentzyuapps/winload-win32-arm64",
|
|
22
|
+
"linux-x64": "@vincentzyuapps/winload-linux-x64",
|
|
23
|
+
"linux-arm64": "@vincentzyuapps/winload-linux-arm64",
|
|
24
|
+
"darwin-x64": "@vincentzyuapps/winload-darwin-x64",
|
|
25
|
+
"darwin-arm64": "@vincentzyuapps/winload-darwin-arm64",
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -50,7 +50,7 @@ function getBinaryPath() {
|
|
|
50
50
|
} catch {
|
|
51
51
|
throw new Error(
|
|
52
52
|
`winload: platform package "${pkg}" not found\n` +
|
|
53
|
-
`Try reinstalling: npm install winload
|
|
53
|
+
`Try reinstalling: npm install @vincentzyuapps/winload\n` +
|
|
54
54
|
`Or download manually: https://github.com/VincentZyuApps/winload/releases`
|
|
55
55
|
);
|
|
56
56
|
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "winload-rust-bin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9-rc.2",
|
|
4
4
|
"description": "Network Load Monitor — nload-like TUI tool for Windows/Linux/macOS (prebuilt Rust binary)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://
|
|
8
|
+
"url": "https://github.com/VincentZyuApps/winload"
|
|
9
9
|
},
|
|
10
|
-
"homepage": "https://
|
|
10
|
+
"homepage": "https://gitee.com/vincent-zyu/winload",
|
|
11
11
|
"author": "VincentZyu <1830540513zyu@gmail.com>",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"network",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"rust"
|
|
21
21
|
],
|
|
22
22
|
"bin": {
|
|
23
|
-
"winload": "bin.js"
|
|
23
|
+
"winload": "bin.js",
|
|
24
|
+
"win-nload": "bin.js"
|
|
24
25
|
},
|
|
25
26
|
"main": "index.js",
|
|
26
27
|
"files": [
|
|
@@ -28,12 +29,15 @@
|
|
|
28
29
|
"index.js",
|
|
29
30
|
"readme.md"
|
|
30
31
|
],
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public"
|
|
34
|
+
},
|
|
31
35
|
"optionalDependencies": {
|
|
32
|
-
"winload-
|
|
33
|
-
"winload-
|
|
34
|
-
"winload-
|
|
35
|
-
"winload-
|
|
36
|
-
"winload-
|
|
37
|
-
"winload-
|
|
36
|
+
"@vincentzyuapps/winload-win32-x64": "0.1.9-rc.2",
|
|
37
|
+
"@vincentzyuapps/winload-win32-arm64": "0.1.9-rc.2",
|
|
38
|
+
"@vincentzyuapps/winload-linux-x64": "0.1.9-rc.2",
|
|
39
|
+
"@vincentzyuapps/winload-linux-arm64": "0.1.9-rc.2",
|
|
40
|
+
"@vincentzyuapps/winload-darwin-x64": "0.1.9-rc.2",
|
|
41
|
+
"@vincentzyuapps/winload-darwin-arm64": "0.1.9-rc.2"
|
|
38
42
|
}
|
|
39
43
|
}
|
package/readme.md
CHANGED
|
@@ -1,39 +1,42 @@
|
|
|
1
1
|

|
|
2
|
+

|
|
2
3
|
|
|
3
|
-
# Winload <img src="
|
|
4
|
+
# Winload <img src="docs/images/miku.png" height="32px">
|
|
4
5
|
|
|
5
6
|
> A lightweight, real-time CLI tool for monitoring network bandwidth and traffic, inspired by Linux's nload.
|
|
6
7
|
|
|
7
8
|
> **[📖 English](readme.md)**
|
|
8
9
|
> **[📖 简体中文(大陆)](readme.zh-cn.md)**
|
|
9
10
|
> **[📖 繁體中文(台灣)](readme.zh-tw.md)**
|
|
11
|
+
> **[📖 文言文](readme.lzh.md)**
|
|
10
12
|
> **[📖 日本語](readme.jp.md)**
|
|
11
13
|
> **[📖 한국어](readme.ko.md)**
|
|
12
14
|
|
|
13
15
|
[](https://github.com/VincentZyuApps/winload)
|
|
14
16
|
[](https://gitee.com/vincent-zyu/winload)
|
|
15
17
|
|
|
16
|
-
[](https://github.com/VincentZyuApps/winload/releases)
|
|
19
|
+
[](https://github.com/VincentZyuApps/winload/releases)
|
|
18
20
|
[](https://github.com/VincentZyuApps/winload/releases)
|
|
19
21
|
[](https://github.com/VincentZyuApps/winload/releases)
|
|
20
22
|
|
|
21
23
|
[](https://pypi.org/project/winload/)
|
|
22
|
-
[](https://www.npmjs.com/package/winload-rust-bin)
|
|
23
24
|
[](https://crates.io/crates/winload)
|
|
24
25
|
|
|
25
|
-
[](https://www.npmjs.com/package/@vincentzyuapps/winload)
|
|
27
|
+
[](https://scoop.sh/#/apps?q=%22https%3A%2F%2Fgithub.com%2FVincentZyuApps%2Fscoop-bucket%22&o=false)
|
|
26
28
|
[](https://aur.archlinux.org/packages/winload-rust-bin)
|
|
27
29
|
[](https://github.com/VincentZyuApps/winload/releases)
|
|
28
30
|
[](https://github.com/VincentZyuApps/winload/releases)
|
|
31
|
+
[](https://github.com/VincentZyuApps/homebrew-tap/blob/main/Formula/winload.rb)
|
|
29
32
|
|
|
30
33
|
> **[📖 Build Docs](.github/workflows/build.md)**
|
|
31
34
|
|
|
32
35
|
## 🚀 Introduction
|
|
33
|
-
Winload brings an intuitive, visual network monitor to the modern terminal. It started as a Windows-focused tool to fill the nload gap, and now targets Linux and macOS as well.
|
|
36
|
+
`Winload` brings an intuitive, visual network monitor to the modern terminal. It started as a Windows-focused tool to fill the `nload` gap, and now targets Linux and macOS as well.
|
|
34
37
|
|
|
35
38
|
## 🙏 Acknowledgements
|
|
36
|
-
Winload is inspired by the classic nload project by Roland Riegel. Many thanks for the original idea and experience.
|
|
39
|
+
Winload is inspired by the classic 「[nload](https://github.com/rolandriegel/nload)」 project by Roland Riegel. Many thanks for the original idea and experience.
|
|
37
40
|
https://github.com/rolandriegel/nload
|
|
38
41
|
|
|
39
42
|
## ✨ Key Features
|
|
@@ -44,37 +47,99 @@ https://github.com/rolandriegel/nload
|
|
|
44
47
|
- **Real-time visualization**: live incoming/outgoing graphs and throughput stats.
|
|
45
48
|
- **Minimal UI**: clean TUI that mirrors nload's ergonomics.
|
|
46
49
|
|
|
47
|
-
##
|
|
50
|
+
## 📊 Performance Benchmarks
|
|
51
|
+
> ⚡ Winload (Rust) achieves **~10ms startup** and **<2MB binary size**, significantly outperforming Python and matching C++ nload in efficiency.
|
|
52
|
+
|
|
53
|
+

|
|
54
|
+
|
|
55
|
+
## 🔧 Run from Source
|
|
56
|
+
|
|
57
|
+
### Python
|
|
58
|
+
```bash
|
|
59
|
+
git clone https://github.com/VincentZyuApps/winload.git
|
|
60
|
+
# or clone from Gitee (faster in China Mainland):
|
|
61
|
+
# git clone https://gitee.com/vincent-zyu/winload.git
|
|
62
|
+
cd winload/py
|
|
63
|
+
pip install -r requirements.txt
|
|
64
|
+
python main.py
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Rust
|
|
68
|
+
```bash
|
|
69
|
+
git clone https://github.com/VincentZyuApps/winload.git
|
|
70
|
+
cd winload/rust
|
|
71
|
+
cargo run --release
|
|
72
|
+
cargo run --release -- --help # Show help
|
|
73
|
+
cargo run --release -- --version # Show version
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 🐍 Python Edition Installation
|
|
48
77
|
> 💡 **Implementation Note**: Only PyPI and GitHub/Gitee provide Python edition.
|
|
49
78
|
> Only Cargo provides Rust source code for local compilation.
|
|
50
79
|
> All other package managers (Scoop, AUR, npm, APT, RPM) and GitHub Releases distribute **Rust binaries only**.
|
|
51
80
|
### Python (pip)
|
|
52
81
|
```bash
|
|
53
82
|
pip install winload
|
|
83
|
+
# recommend use uv:
|
|
84
|
+
# https://docs.astral.sh/uv/getting-started/installation/
|
|
85
|
+
# https://gitee.com/wangnov/uv-custom/releases
|
|
86
|
+
uv venv --python 3.13
|
|
87
|
+
uv pip install winload
|
|
88
|
+
uv run winload
|
|
89
|
+
uv run python -c "import shutil; print(shutil.which('winload'))"
|
|
54
90
|
```
|
|
55
91
|
|
|
56
92
|
## 📥 Rust Edition Installation (recommended)
|
|
57
93
|
### npm (cross-platform)
|
|
58
94
|
```bash
|
|
95
|
+
# Recommended (scoped)
|
|
96
|
+
npm install -g @vincentzyuapps/winload
|
|
97
|
+
|
|
98
|
+
# Alternative (unscoped)
|
|
59
99
|
npm install -g winload-rust-bin
|
|
100
|
+
|
|
101
|
+
# Alternative (GitHub Packages)
|
|
102
|
+
npm install -g @vincentzyuapps/winload --registry https://npm.pkg.github.com
|
|
103
|
+
|
|
104
|
+
# on Windows, use win-nload to avoid conflict with System32\winload.exe
|
|
105
|
+
# on Linux/macOS, both winload and win-nload work
|
|
60
106
|
# or use npx directly
|
|
61
|
-
npx winload
|
|
107
|
+
npx @vincentzyuapps/winload
|
|
62
108
|
```
|
|
109
|
+
|
|
63
110
|
> Includes 6 precompiled binaries for x86_64 & ARM64 across Windows, Linux, and macOS.
|
|
64
111
|
|
|
65
112
|
### Cargo (Build from source)
|
|
66
113
|
```bash
|
|
67
114
|
cargo install winload
|
|
115
|
+
cargo install --list
|
|
68
116
|
```
|
|
69
117
|
### Windows (Scoop)
|
|
118
|
+
> 📄 [Scoop Bucket (GitHub)](https://github.com/VincentZyuApps/scoop-bucket/blob/main/bucket/winload.json)
|
|
119
|
+
> 📄 [Scoop Bucket (Gitee)](https://gitee.com/vincent-zyu/scoop-bucket/blob/main/bucket/winload.json)
|
|
70
120
|
```powershell
|
|
71
121
|
scoop bucket add vincentzyu https://github.com/VincentZyuApps/scoop-bucket
|
|
122
|
+
# or from Gitee:
|
|
123
|
+
# scoop bucket add vincentzyu https://gitee.com/vincent-zyu/scoop-bucket
|
|
124
|
+
scoop update # optional: manually refresh bucket list before install
|
|
72
125
|
scoop install winload
|
|
126
|
+
# execute bin file
|
|
127
|
+
win-nload
|
|
128
|
+
Get-Command win-nload # Powershell
|
|
129
|
+
where win-nload # CMD
|
|
73
130
|
```
|
|
131
|
+
> 💡 Recommended: use [Windows Terminal](https://github.com/microsoft/terminal) instead of the legacy Windows Console for correct CJK character rendering and better TUI experience.
|
|
132
|
+
> ```powershell
|
|
133
|
+
> scoop bucket add versions
|
|
134
|
+
> scoop install windows-terminal-preview
|
|
135
|
+
> wtp
|
|
136
|
+
> ```
|
|
137
|
+
> 💡 **All builds require Windows 10+** (Rust 1.77+ dropped Windows 7/8 support). Scoop and npm provide **MSVC + Npcap** for **x86_64** and **ARM64** by default. These builds now delay-load `wpcap.dll`, reducing startup failures before `--npcap` is used, but loopback capture still requires Npcap installed on the system. For other variants (MinGW, non-Npcap, i686), download from [GitHub Releases](https://github.com/VincentZyuApps/winload/releases).
|
|
74
138
|
|
|
75
139
|
### Arch Linux (AUR):
|
|
76
140
|
```bash
|
|
77
141
|
paru -S winload-rust-bin
|
|
142
|
+
which winload
|
|
78
143
|
```
|
|
79
144
|
|
|
80
145
|
### Linux (one-liner)
|
|
@@ -83,23 +148,47 @@ paru -S winload-rust-bin
|
|
|
83
148
|
> Supports Fedora/RHEL and derivatives — Rocky Linux, AlmaLinux, CentOS Stream, etc. (dnf)
|
|
84
149
|
```bash
|
|
85
150
|
curl -fsSL https://raw.githubusercontent.com/VincentZyuApps/winload/main/docs/install_scripts/install.sh | bash
|
|
151
|
+
which winload
|
|
86
152
|
```
|
|
87
153
|
> 📄 [View install script source](https://github.com/VincentZyuApps/winload/blob/main/docs/install_scripts/install.sh)
|
|
88
154
|
|
|
155
|
+
**🇨🇳 Gitee mirror (faster in China Mainland):**
|
|
156
|
+
```bash
|
|
157
|
+
curl -fsSL https://gitee.com/vincent-zyu/winload/raw/main/docs/install_scripts/install_gitee.sh | bash
|
|
158
|
+
which winload
|
|
159
|
+
```
|
|
160
|
+
> 📄 [View Gitee install script](https://gitee.com/vincent-zyu/winload/blob/main/docs/install_scripts/install_gitee.sh)
|
|
161
|
+
|
|
162
|
+
> ⚠️ The two `curl ... | bash` install scripts above support **x86_64 / aarch64** systems with **apt** (Debian/Ubuntu), **dnf** (Fedora/RHEL), or **Termux** (Android). For other platforms, use **npm** (`npm install -g @vincentzyuapps/winload`) or **Cargo** (`cargo install winload`) instead.
|
|
163
|
+
|
|
164
|
+
### macOS / Linux (Homebrew)
|
|
165
|
+
> 📄 [Homebrew Formula (GitHub)](https://github.com/VincentZyuApps/homebrew-tap/blob/main/Formula/winload.rb)
|
|
166
|
+
> 📄 [Homebrew Formula (Gitee)](https://gitee.com/vincent-zyu/homebrew-tap/blob/main/Formula/winload.rb)
|
|
167
|
+
```bash
|
|
168
|
+
brew tap vincentzyuapps/tap
|
|
169
|
+
# or from Gitee (manual tap clone):
|
|
170
|
+
# git clone https://gitee.com/vincent-zyu/homebrew-tap.git "$(brew --prefix)/Library/Taps/vincentzyuapps/homebrew-tap"
|
|
171
|
+
brew update && brew install winload
|
|
172
|
+
which winload
|
|
173
|
+
```
|
|
174
|
+
> 💡 Homebrew supports **macOS** (Intel & Apple Silicon) and **Linux** (x86_64 & ARM64).
|
|
175
|
+
|
|
89
176
|
<details>
|
|
90
177
|
<summary>Manual install</summary>
|
|
91
178
|
|
|
92
179
|
**DEB (Debian/Ubuntu):**
|
|
93
180
|
```bash
|
|
94
181
|
# Download the latest .deb from GitHub Releases
|
|
95
|
-
sudo dpkg -i ./
|
|
182
|
+
sudo dpkg -i ./winload*.deb
|
|
96
183
|
# or use apt (auto-resolves dependencies)
|
|
97
|
-
sudo apt install ./
|
|
184
|
+
sudo apt install ./winload*.deb
|
|
185
|
+
which winload
|
|
98
186
|
```
|
|
99
187
|
|
|
100
188
|
**RPM (Fedora/RHEL):**
|
|
101
189
|
```bash
|
|
102
|
-
sudo dnf install ./winload
|
|
190
|
+
sudo dnf install ./winload*.rpm
|
|
191
|
+
which winload
|
|
103
192
|
```
|
|
104
193
|
|
|
105
194
|
**Or download binaries directly from [GitHub Releases](https://github.com/VincentZyuApps/winload/releases).**
|
|
@@ -112,6 +201,9 @@ sudo dnf install ./winload-*-1.x86_64.rpm
|
|
|
112
201
|
winload # Monitor all active network interfaces
|
|
113
202
|
winload -t 200 # Set refresh interval to 200ms
|
|
114
203
|
winload -d "Wi-Fi" # Start with a specific device
|
|
204
|
+
winload --title # Show "winload <version>" as the header title
|
|
205
|
+
winload --title "My Monitor" # Use a custom header title
|
|
206
|
+
winload --title "" # Keep the default device header
|
|
115
207
|
winload -e # Enable emoji decorations 🎉
|
|
116
208
|
winload --npcap # Capture 127.0.0.1 loopback traffic (Windows, requires Npcap)
|
|
117
209
|
```
|
|
@@ -123,26 +215,39 @@ winload --npcap # Capture 127.0.0.1 loopback traffic (Windows, requires Npc
|
|
|
123
215
|
| `-t`, `--interval <MS>` | Refresh interval in milliseconds | `500` |
|
|
124
216
|
| `-a`, `--average <SEC>` | Average calculation window in seconds | `300` |
|
|
125
217
|
| `-d`, `--device <NAME>` | Default device name (partial match) | — |
|
|
218
|
+
| `--title [TITLE]` | Add a title line above device header: no value shows `winload <version>`; empty string (or omitted) shows only the default device header | — |
|
|
126
219
|
| `-e`, `--emoji` | Enable emoji decorations in TUI 🎉 | off |
|
|
127
220
|
| `-U`, `--unicode` | Use Unicode block characters for graph (█▓░·) | off |
|
|
128
221
|
| `-u`, `--unit <UNIT>` | Display unit: `bit` or `byte` | `bit` |
|
|
129
222
|
| `-b`, `--bar-style <STYLE>` | Bar style: `fill`, `color`, or `plain` | `fill` |
|
|
130
223
|
| `--in-color <HEX>` | Incoming graph color, hex RGB (e.g. `0x00d7ff`) | cyan |
|
|
131
224
|
| `--out-color <HEX>` | Outgoing graph color, hex RGB (e.g. `0xffaf00`) | gold |
|
|
132
|
-
| `-m`, `--max <VALUE>` | Fixed Y-axis max (e.g. `10M`, `1G`, `500K`) | auto |
|
|
225
|
+
| `-m`, `--max <VALUE>` | Fixed Y-axis max (e.g. `10M`, `1G`, `500K`) — *conflicts with `--smart-max`* | auto |
|
|
226
|
+
| `--smart-max [SECS]` | Smart adaptive Y-axis: auto-decays after traffic spikes (default half-life: 10s) — *conflicts with `--max`* | off |
|
|
133
227
|
| `-n`, `--no-graph` | Hide graph, show stats only | off |
|
|
134
228
|
| `--hide-separator` | Hide the separator line (row of equals signs) | off |
|
|
135
229
|
| `--no-color` | Disable all TUI colors (monochrome mode) | off |
|
|
136
230
|
| `--npcap` | **[Windows Rust Only]** Capture loopback traffic via Npcap (recommended) | off |
|
|
137
|
-
| `--debug-info` |
|
|
231
|
+
| `--debug-info` | Print network interface debug info and exit | — |
|
|
138
232
|
| `-h`, `--help` | Print help (`--help --emoji` for emoji version!) | — |
|
|
139
|
-
| `-V`, `--version` |
|
|
233
|
+
| `-V`, `--version` | Print version | — |
|
|
234
|
+
|
|
235
|
+
> **Y-axis scaling modes** — there are three mutually exclusive scenarios:
|
|
236
|
+
>
|
|
237
|
+
> | Mode | Flag | Behavior |
|
|
238
|
+
> |------|------|----------|
|
|
239
|
+
> | **Fixed max** | `--max <VALUE>` | Y-axis is locked to the specified value (e.g. `10M`, `1G`). |
|
|
240
|
+
> | **Smart max** | `--smart-max [SECS]` | Y-axis adapts automatically: jumps up on traffic spikes, then smoothly decays back down (exponential decay, default half-life 10 s). |
|
|
241
|
+
> | **History peak** | *(neither flag)* | Y-axis follows the historical maximum of each metric — the default behavior. |
|
|
242
|
+
>
|
|
243
|
+
> ⚠️ `--max` and `--smart-max` **conflict with each other** — you can only use one at a time.
|
|
140
244
|
|
|
141
245
|
### Keyboard Shortcuts
|
|
142
246
|
|
|
143
247
|
| Key | Action |
|
|
144
248
|
|-----|--------|
|
|
145
249
|
| `←` / `→` or `↑` / `↓` | Switch network device |
|
|
250
|
+
| `F3` | Toggle debug info overlay (Minecraft-style) |
|
|
146
251
|
| `=` | Toggle separator line visibility |
|
|
147
252
|
| `c` | Toggle color on/off |
|
|
148
253
|
| `q` / `Esc` | Quit |
|
|
@@ -167,7 +272,39 @@ On Linux and macOS, loopback traffic works out of the box — no extra flags nee
|
|
|
167
272
|
|
|
168
273
|
## 🖼️ Previews
|
|
169
274
|
#### Python Edition Preview
|
|
170
|
-

|
|
275
|
+

|
|
171
276
|
|
|
172
277
|
#### Rust Edition Preview
|
|
173
|
-

|
|
278
|
+

|
|
279
|
+
|
|
280
|
+
##### Rust Edition Preview GIF
|
|
281
|
+

|
|
282
|
+
|
|
283
|
+
##### Terminal Recording
|
|
284
|
+
<a href="https://asciinema.org/a/1030894?startAt=30" target="_blank"><img src="https://asciinema.org/a/1030894.svg" alt="winload demo" width="100%" /></a>
|
|
285
|
+
|
|
286
|
+
> ↑ Recorded by [asciinema](https://github.com/asciinema/asciinema)
|
|
287
|
+
|
|
288
|
+
## 📦 Dependencies
|
|
289
|
+
|
|
290
|
+
### Python Edition
|
|
291
|
+
|
|
292
|
+
| Package | Version | Description |
|
|
293
|
+
|:---|:---|:---|
|
|
294
|
+
| [](https://python.org/) | 3.13.11 | Programming language |
|
|
295
|
+
| [](https://github.com/giampaolo/psutil) | ≥7.0 | Process and system utilities |
|
|
296
|
+
| [](https://github.com/zhirui2020/windows-curses) | ≥2.0 | Windows curses support |
|
|
297
|
+
|
|
298
|
+
### Rust Edition
|
|
299
|
+
|
|
300
|
+
| Package | Version | Description |
|
|
301
|
+
|:---|:---|:---|
|
|
302
|
+
| [](https://www.rust-lang.org/) | 1.93.0 | Programming language |
|
|
303
|
+
| [](https://github.com/ratatui-org/ratatui) | 0.29 | Terminal UI framework |
|
|
304
|
+
| [](https://github.com/crossterm-rs/crossterm) | 0.28 | Cross-platform terminal library |
|
|
305
|
+
| [](https://github.com/GuillaumeGomez/sysinfo) | 0.32 | System information library |
|
|
306
|
+
| [](https://github.com/clap-rs/clap) | 4 | Command-line argument parser |
|
|
307
|
+
| [](https://github.com/pcap-parser/pcap) | 2 | Packet capture (optional, Windows) |
|
|
308
|
+
## 🧭 Epilogue
|
|
309
|
+
|
|
310
|
+
Network traffic flows formless through the void — yet Winload gives it shape. Packets traverse the terminal, silent and unseen, but through this window, every thread of throughput takes form before your eyes. If you seek to know the pulse of a machine's connection to the world, this tool is at once a humble lamp upon your desk and a guiding star for the journey ahead.
|