mobux 0.1.0

A touch-friendly tmux web UI for unhinged people who run terminal sessions from their phone while walking the dog
mobux-0.1.0 is not a library.

🤖 mobux

tmux on your phone. Yes, really.

For the clinically unhinged among us who think "I should SSH into my server" while picking up dog poop in the park. For people who can't stop thinking about that one running process even though the sun is shining and the birds are singing. For those who believe the best time to talk to your favorite LLM is while your golden retriever is sniffing a fire hydrant for the eleventh time.

If you're a sane person who puts their phone away and touches grass — this is not for you. Close this tab. Go outside. You're doing great.

Still here? Of course you are. Welcome home.

What this cursed thing does

  • Lists your tmux sessions in a fat-finger-friendly mobile UI
  • Tap a session to get a full live terminal on your phone
  • Create, kill, split panes, switch windows — all from touch gestures
  • Long-press for a tmux command menu (new pane, close pane, split, zoom, etc.)
  • Swipe left/right to switch windows
  • Pinch to zoom the font size because your eyes aren't what they used to be
  • Two-finger pull to reload because why not
  • Double-tap to focus and bring up the keyboard
  • Voice input so you can dictate shell commands to your phone while your dog judges you silently
  • Self-signed HTTPS out of the box — no nginx, no certbot, no suffering
  • Optional auth via HTTP Basic or a simple PIN

Install

From crates.io (recommended for fellow degenerates)

cargo install mobux

That's it. You now have mobux in your PATH. You need tmux installed too, obviously. If you don't have tmux, what are you even doing here?

From source (for the extra unhinged)

git clone https://github.com/mvhenten/mobux.git
cd mobux
cargo build --release
# Binary is at target/release/mobux

Requirements

  • tmux in your PATH (the whole point)
  • Rust toolchain if building from source
  • A phone, a dog (optional but recommended), and questionable life choices

Run

# With auth (you probably want this unless you enjoy strangers in your shell)
MOBUX_AUTH_USER="$USER" MOBUX_AUTH_PASS="change-me" mobux

# PIN mode (username defaults to 'mobux')
MOBUX_PIN="123456" mobux

# Custom port
PORT=5151 mobux

# Disable TLS if you like living dangerously
MOBUX_TLS=0 mobux

# Extra SANs for Tailscale or whatever
MOBUX_TLS_HOSTS="myhost.tailnet.ts.net,100.64.0.1" mobux

Then open on your phone:

  • Local: https://localhost:8080
  • Over Tailscale: https://<your-tailscale-ip>:8080

Your browser will scream about the self-signed cert. In Chrome, type thisisunsafe on the warning page. Yes that's a real thing. No I didn't make it up.

Touch gestures

Gesture Action
Swipe up/down Scroll with momentum
Swipe left/right Switch tmux windows
Double-tap Focus terminal + keyboard
Long-press (~600ms) Open tmux command menu
Pinch Zoom font size
Two-finger pull down Reload page

TLS details

HTTPS is on by default with a self-signed cert generated at startup via rcgen (pure Rust, no openssl needed). Cached in ~/.local/share/mobux/ssl/, auto-regenerates after 30 days.

SANs include localhost, 127.0.0.1, ::1, 0.0.0.0, and your hostname. Add more with MOBUX_TLS_HOSTS. Override the cert dir with MOBUX_CERT_DIR.

The dog walking workflow

  1. Start mobux on your server
  2. Leash up your dog
  3. Open mobux on your phone
  4. Ask your LLM to refactor that module while Barkley does his business
  5. Review the diff while waiting at the crosswalk
  6. Deploy from the dog park
  7. Question your life choices
  8. Repeat tomorrow

License

MIT — because even bad ideas deserve to be free.