SSH Terminal

Full interactive shell access to your router via a built-in SSH terminal.

WRTune includes a fully functional SSH terminal that connects directly to your router using stored credentials.

How It Works 🔗

The terminal runs SSH in a Dart Isolate — a separate execution thread — so the UI remains smooth and responsive regardless of terminal output volume.

Architecture 🔗

  1. TerminalService spawns a Dart Isolate
  2. The isolate runs sshWorker using the dartssh2 library
  3. All terminal I/O (keystrokes, output) streams between the main isolate and SSH isolate via SendPort / ReceivePort
  4. The xterm terminal emulator widget renders the output in the app

Features 🔗

  • Full shell access — Any command available on your router
  • Auto-connect — Uses stored router credentials (same as login)
  • xterm emulation — Proper terminal rendering including colors and cursor positioning
  • Resize support — Terminal dimensions adapt to your screen
  • Non-blocking — SSH runs off the main thread; the UI never freezes

Access 🔗

Open the terminal from the Dashboard → Quick Actions → Terminal shortcut, or navigate via the app’s navigation.

Security 🔗

The terminal connection uses the same SSH credentials stored in FlutterSecureStorage. No additional authentication is needed — your router password is never transmitted outside your local network.