Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rill

Watch your terminal from your phone — a little stream of your shell.

rill wraps your shell (or any command) in a pseudo-terminal, mirrors it to your local terminal and broadcasts it over a WebSocket. It prints a QR code; scan it with your phone and you get a live xterm view with a touch keyboard. A cloudflared tunnel gives a public https link so it works on cellular — anywhere, not just the same Wi-Fi. When a long command finishes, your phone gets pinged.

Built as a from-scratch, own-brand take on remoto.sh.

Use

rill                 # share your shell
rill npm run build   # run a command, stream it, get pinged when it finishes
rill --local         # same Wi-Fi only (skip the public tunnel)
rill --port 7000     # pin a local port

Scan the QR, watch the live session, type on the touch keyboard. Exit the shell (Ctrl-D) — or Ctrl-C — to stop sharing.

Layout

cli/
  bin/rill.js        entry — arg parse + orchestration
  src/
    session.js       node-pty wrap + rolling scrollback buffer
    server.js        http (serves web/) + ws broker, per-run token auth
    tunnel.js        cloudflared public-URL wrapper
    net.js           LAN address pick
    ui.js            the terminal-side connect card (QR + url)
  web/               the mobile terminal (xterm.js + touch keyboard, PWA)
  scripts/postinstall.js   restores +x on node-pty's spawn-helper

Protocol (ws, JSON frames)

  • client -> {type:'auth', token} then {type:'input', data} / {type:'resize', cols, rows}
  • server -> {type:'hello', cols, rows, command}, {type:'output', data}, {type:'exit', code}, {type:'resize',...}, {type:'notify', title, body}, {type:'denied'}

Status

Core loop works end-to-end: PTY stream, QR, LAN + cloudflared tunnel, scrollback replay for late joiners, touch keyboard, in-page done-notifications.

Next: background web-push (VAPID), a hosted relay + short URLs at getrill.sh, and the landing page.

npx @hellowade/rill

About

Watch your terminal from your phone — a little stream of your shell. PTY → QR → live mobile terminal, with done-pings. Own-brand take on remoto.sh.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages