Repository navigation
Releases
v0.1.9
What's new in 0.1.9
This release makes sks3200 monitor much gentler on the switch, and fixes text that was unreadable on light terminals.
Upgrading from 0.1.7 or earlier? 0.1.8 moved the read commands under
show(sosks3200 statusis nowsks3200 show status) and added write commands that change the real switch by default. See Also in 0.1.8 below before upgrading.
Fixes
- Unreadable text on light terminals. MAC addresses, config values and footer text could render white on white (the text was there if you selected it). Each theme now paints its own background, so text stays readable whatever your terminal's colour scheme, and status colours have darker variants in the light theme. The initial theme follows
COLORFGBGwhere your terminal sets it; presstto toggle. - MAC table columns no longer clip labels such as
VLAN 100andPort 10. - Pane and switch changes (
Tab,←/→) now load data straight away, instead of showing "Waiting for data..." for up to a full refresh interval. - Partial failures no longer blank the dashboard. If system info fails to load, port statistics and the MAC table still do. Config pane fetch errors are now shown, instead of the pane silently emptying.
- Traffic rates were measured against the wrong earlier sample and read roughly twice as high as they should. Fixed.
Gentler on the switch
The embedded web server on these switches can freeze under heavy polling. The dashboard now:
- fetches the dynamic MAC table (a full hardware table dump on the switch) at most every 30 s, rather than on every refresh;
- reuses one keep-alive connection across refreshes rather than opening a new one each time;
- refreshes at most once a second from key presses, so holding a key cannot flood the switch;
- stops a refresh at the first timeout or connection failure, and after two refreshes with no answer at all, sends a single probe request per refresh until the switch responds;
- only redraws the screen when something has changed.
Behaviour change
show statistics --watchnow defaults to a 5 s interval (previously 2 s), with a 3 s minimum. Asking for less prints a warning and uses 3 s.
Also in 0.1.8
0.1.8 was published without release notes, and its prebuilt binaries were never attached because the release job failed (it was available from crates.io only). If you're upgrading from 0.1.7, these changes are new to you as well, and the first one breaks existing scripts.
Breaking: read commands moved under show
The read-only commands from 0.1.7 are now subcommands of show, so scripts written for 0.1.7 fail with unrecognized subcommand. Add show in front:
sks3200 statusbecomessks3200 show statussks3200 portsbecomessks3200 show portssks3200 statistics --watchbecomessks3200 show statistics --watch- likewise
mac,static-mac,trunk,vlan,stp,loop,igmp,storm,mirror,networkandall
monitor and config-init stay at the top level.
Read-write switch management
0.1.7 was read-only. 0.1.8 added write support across the switch's configuration:
setcommands for ports, device description, VLANs, IGMP, network settings, storm control, STP, port mirroring, trunking and loop protection, plussaveto write the running config to startup;clear statisticsandclear mac;rebootandfactory-reset, which both require--yes;backupandrestoreof the switch configuration as JSON;- a config editor in the
monitorConfig pane (Enterto edit a field,ato apply,sto save).
Writes apply to the real switch by default. Use --dry-run to preview a change against a built-in mock without touching the switch, or --mock to sandbox every command.
Dashboard
- Per-second error-rate columns and a colour-coded error ratio (green below 0.1%, yellow up to 1%, red above).
- An aggregate row totalling throughput across all ports.
- Traffic sparklines for each active port.
- A MAC churn counter and an active port count in the header.
- A dark/light theme, toggled with
t.
Switch-friendliness
- Session cookies are cached on disk (
~/.cache/sks3200/sessions/, 10-minute lifetime), so repeated commands reuse a login instead of authenticating every time. - Requests are paced, and the dashboard refreshes every 10 s by default (3 s minimum). System info refreshes every 60 s, and Config pane data loads only while that pane is open.
Dependencies
reqwest 0.13, ratatui 0.30, crossterm 0.29, toml 1.2 and md-5 0.11.
0.1.1 to 0.1.7: first release
0.1.1 was the first release, and 0.1.2 to 0.1.7 (all published the same day) only fixed the release pipeline: prebuilt binaries, the Homebrew tap (brew install planetf1/tap/sks3200) and crates.io publishing. None of them changed how the tool behaves.
That first release was read-only. It could:
- query system info (firmware, IP, MAC address, temperature), port status and settings, traffic statistics (with
--watchfor a live view), dynamic and static MAC tables, trunks, VLANs, STP, loop protection, IGMP snooping, storm control, port mirroring and network settings, or everything at once withall; - output raw JSON with
-jfor scripting; - manage several switches from one config file (
config-initwrites a template), selected with-s; - run a live
monitordashboard in the terminal.
Install sks3200 0.1.9
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.9/sks3200-installer.sh | shInstall prebuilt binaries via Homebrew
brew install planetf1/tap/sks3200Download sks3200 0.1.9
| File | Platform | Checksum |
|---|---|---|
| sks3200-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| sks3200-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| sks3200-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| sks3200-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v0.1.8
What's new in 0.1.8
These notes were added after release. The release job for 0.1.8 failed, so no prebuilt binaries are attached here; install it from crates.io (cargo install sks3200 --version 0.1.8), or use 0.1.9, which includes everything below.
Breaking: read commands moved under show
The read-only commands from 0.1.7 are now subcommands of show, so scripts written for 0.1.7 fail with unrecognized subcommand. Add show in front:
sks3200 statusbecomessks3200 show statussks3200 portsbecomessks3200 show portssks3200 statistics --watchbecomessks3200 show statistics --watch- likewise
mac,static-mac,trunk,vlan,stp,loop,igmp,storm,mirror,networkandall
monitor and config-init stay at the top level.
Read-write switch management
0.1.7 was read-only. 0.1.8 added write support across the switch's configuration:
setcommands for ports, device description, VLANs, IGMP, network settings, storm control, STP, port mirroring, trunking and loop protection, plussaveto write the running config to startup;clear statisticsandclear mac;rebootandfactory-reset, which both require--yes;backupandrestoreof the switch configuration as JSON;- a config editor in the
monitorConfig pane (Enterto edit a field,ato apply,sto save).
Writes apply to the real switch by default. Use --dry-run to preview a change against a built-in mock without touching the switch, or --mock to sandbox every command.
Dashboard
- Per-second error-rate columns and a colour-coded error ratio (green below 0.1%, yellow up to 1%, red above).
- An aggregate row totalling throughput across all ports.
- Traffic sparklines for each active port.
- A MAC churn counter and an active port count in the header.
- A dark/light theme, toggled with
t.
Switch-friendliness
- Session cookies are cached on disk (
~/.cache/sks3200/sessions/, 10-minute lifetime), so repeated commands reuse a login instead of authenticating every time. - Requests are paced, and the dashboard refreshes every 10 s by default (3 s minimum). System info refreshes every 60 s, and Config pane data loads only while that pane is open.
Dependencies
reqwest 0.13, ratatui 0.30, crossterm 0.29, toml 1.2 and md-5 0.11.
Full Changelog: v0.1.7...v0.1.8
v0.1.7
Install sks3200 0.1.7
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.7/sks3200-installer.sh | shInstall prebuilt binaries via Homebrew
brew install planetf1/tap/sks3200Download sks3200 0.1.7
| File | Platform | Checksum |
|---|---|---|
| sks3200-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| sks3200-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| sks3200-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| sks3200-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v0.1.6
Install sks3200 0.1.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.6/sks3200-installer.sh | shInstall prebuilt binaries via Homebrew
brew install planetf1/tap/sks3200Download sks3200 0.1.6
| File | Platform | Checksum |
|---|---|---|
| sks3200-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| sks3200-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| sks3200-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| sks3200-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v0.1.5
Install sks3200 0.1.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.5/sks3200-installer.sh | shInstall prebuilt binaries via Homebrew
brew install planetf1/tap/sks3200Download sks3200 0.1.5
| File | Platform | Checksum |
|---|---|---|
| sks3200-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| sks3200-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| sks3200-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| sks3200-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v0.1.4
Install sks3200 0.1.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.4/sks3200-installer.sh | shInstall prebuilt binaries via Homebrew
brew install planetf1/tap/sks3200Download sks3200 0.1.4
| File | Platform | Checksum |
|---|---|---|
| sks3200-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| sks3200-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| sks3200-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| sks3200-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |