A desktop SSH / Telnet / serial / raw-socket client for the gear that doesn't care what year it is — the terminal server in the back of the rack, the PDU that only speaks Telnet, the switch whose host key your laptop refuses to touch.
Built by NetOps Field Notes and SecOps Field Notes. Windows, macOS and Linux — portable, no installer, no signup, no telemetry.
- Four transports, one terminal — SSH, Telnet (full IAC negotiation: SGA, NAWS, TERMINAL-TYPE), raw TCP for console-server redirect ports, and serial over USB/RS-232.
- Legacy crypto, per connection — a switch that adds
diffie-hellman-group1-sha1, CBC ciphers andssh-rsahost keys for that one 2009 Catalyst, without weakening anything else. Strong algorithms are still offered first, so modern peers still negotiate modern. - Jump hosts — chain through as many bastions as the path needs; the hops are part of the saved connection, not something you retype.
- Serial presets — Cisco/Juniper 9600 8N1, 115200, EdgeRouter-X 57600, MikroTik, and 9600 7E1 for genuinely old equipment.
- Backspace that works on old gear — per-connection
^Hvs DEL remapping, so you stop deleting characters sideways on IOS. - Host-key pinning — the fingerprint is recorded on first connect. If it changes later you get a loud warning in the terminal and nothing is silently re-pinned.
- Saved connections in folders, with search, tabs, a send-on-connect string, and optional per-session logging to a file.
- Keepalives on by default, and a per-connection TERM (default
xterm-256color).
Passwords and passphrases go into the OS keystore through
flutter_secure_storage — Credential Manager on Windows, the login Keychain on
macOS, libsecret on Linux. The connection list itself is plain JSON in the app's
support directory, and it holds no secrets. Nothing is synced anywhere; there is
no account and no cloud side.
Grab the latest build from the releases page. SHA256SUMS is
published with every release if you want to verify the download.
- Windows / macOS — extract the zip anywhere and run. No installer, no admin rights, nothing written to the system. Delete the folder and it's gone.
- Linux —
sudo apt install ./fieldconsole_<version>_amd64.debon Debian/Ubuntu-family (desktop entry and icon included), or the tarball's./install.shfor everything else — it stays inside~/.local, no root.
These builds aren't code-signed yet, so the first launch asks for a click:
- Windows — SmartScreen will interject. Click More info → Run anyway. That's it, once.
- macOS — right-click the app → Open (macOS 14 and earlier), or go to
System Settings → Privacy & Security and hit Open Anyway (macOS 15+).
Terminal people:
xattr -dr com.apple.quarantine "Field Console.app"does the same thing.
Only the connections you open, to the hosts you point them at. There is no analytics, no update check, no phone-home. Serial doesn't touch the network at all.
It's a standard Flutter desktop app. Linux builds need libserialport-dev.
flutter pub get
flutter test # core + widget tests; the live transport tests need a local sshd
flutter build linux # or: windows / macostest/live_test.dart opens real sockets: Telnet and raw run against an echo
server the test binds itself, and the SSH cases run against 127.0.0.1 when
~/.field-console-test/id_rsa exists — otherwise they skip cleanly.
linux/packaging/build-linux-release.sh produces the .deb and the portable
tarball, checksums included.
MIT. Do whatever you want with it.