TUI tunnel manager — start, stop, and monitor SSH, kubectl, and Docker port-forward tunnels from your terminal.
-
Forward ports from Kubernetes or remote servers for dev and troubleshooting. No one wants to remember 100 different hosts and ports, especially 6 months later when something breaks.
-
What's a fella to do? Save your configs in connections.yaml and toggle away. Great for poking databases through Dadbod (especially behind a jump host).
-
Tools like this can feel scary, you want to know what it's actually doing. So diglet shows a preview of the exact command. Even if you don't remember the syntax, it's one button press away.
go install github.com/kylar514/diglet@latestOr build from source:
git clone https://github.com/kylar514/diglet.git
cd diglet
go build -o diglet .Run diglet. On first launch it scaffolds a config file at
~/.config/diglet/connections.yaml.
| Key | Action |
|---|---|
j/k |
Navigate list |
Enter |
Toggle tunnel on/off |
/ |
Fuzzy-filter connections |
t |
Filter by tunnel type |
e |
Edit config in $EDITOR |
K |
Kill all tunnels |
q |
Quit |
~/.config/diglet/connections.yaml:
connections:
- name: my-server
tunnel_type: ssh
ssh_host: user@example.com
local_port: 9000
remote_port: 8080
- name: my-pod
tunnel_type: kubectl
resource: deployment/my-app
namespace: default
local_port: 3000
remote_port: 80- SSH —
ssh -Lreverse forwarding - kubectl —
kubectl port-forward - Docker — (not yet implemented)
Adding a new type: create a file in tunnel/ with an init() that calls
tunnel.Register().
Active tunnels are persisted to /tmp/diglet-state.json and automatically
restored on restart. Zombie processes are detected and cleaned up.
MIT