Skip to content

sid-code/webtty

 
 

Repository files navigation

WebTTY

WebTTY allows you to share a terminal session from your machine using WebRTC.

This is a fork of WebTTY that caters to my use case. Some choices I made:

  • Web-based frontends (to require zero setup on client machine)
  • WebRTC with no TURN server (for minimal latency)
  • Config file over CLI arguments (no good reason, only because it simplifies the code a little)

Status

This works pretty well (for me).

I mostly use this with emacs -nw. Sometimes emacs freezes. I don't know why or if it's related to this. It didn't freeze like that when I used gotty, so I assume it's related to this somehow.

Running

Create a config.toml that contains the following: (these contents can be found in config.toml.example).

oneWay = false
verbose = true
nonInteractive = true
stunServer = "stun:stun.l.google.com:19302"
cmd = "bash"
httpPort = 3247

Then run:

webtty config.toml

or with the flake output:

nix run github:sid-code/webtty -- config.toml

Then open up localhost:3247. Add a reverse proxy and TLS.

About

Share a terminal session over WebRTC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nix 61.7%
  • Go 19.4%
  • JavaScript 12.2%
  • TypeScript 6.4%
  • HTML 0.2%
  • CSS 0.1%