What does HackerNews think of ttyd?

Share your terminal over the web

Language: C

#25 in Terminal
Super cool. Our students are using ttdy[0] and tmux for providing shared access to a configured environment, but your solution seems much more flexible :) I'm going to start experimenting with it for our next courses, thanks!

[0] https://github.com/tsl0922/ttyd

ttyd is a nice little web terminal: https://github.com/tsl0922/ttyd Just a small, fast, low fuss C-based executable.

wetty is another good option if you want to run a nodejs server: https://github.com/butlerx/wetty

Both use xterm.js for the client terminal, which is these days the only game in town for a web terminal (it's what VS code and many other electron apps use too). It's quite good.

Do be aware though that running a web-accessible terminal is a huge security headache. You're opening up a websocket to effectively allow commands and code to run on your server. Pay attention to security and authentication options any web terminal gives you, and use them. Most are not very secure out of the box or just following their readme examples.

And watch out as many rootkits use web terminals as payloads so smart organizations and security policies will be looking for them or their traffic and you might get a very concerned IT person asking you questions if you use these on a network or machine you don't control.

> Complete control over my visual environment is like using noise-canceling headphones for my eyes.

Could not agree more. I tried out a much simpler setup on my friend's Oculus Go (predecessor to the Quest 2, since abandoned by Facebook), and was amazed at how well I was able to focus.

For my setup, I used the a web browser on the headset itself to connect to ttyd [0] running on my computer for doing programming homework when I was in college, and it worked really well. I wrote about my experience, and drew similar conclusions. [1]

When I looked into immersive coding environments at that time, I didn't find much. I guess I didn't look hard enough...

[0] https://github.com/tsl0922/ttyd

[1] https://jstrieb.github.io/posts/vr-programming/

I spent a weekend recently comparing GoTTY to similar solutions and GoTTY/ttyd (the C port) are the best projects. Ultimately, I chose ttyd (https://github.com/tsl0922/ttyd), because the main GoTTY project was abandoned 4 years ago. ttyd works very well for my use case, which is sharing a server to test some experimental security software. So far I've gotten thousands of more attempts by running a webserver than sharing SSH credentials. If you'd like to try the server, it's here: http://challenge.whitebeamsec.com/. The font/style are all configurable. The only downside is mobile browsers have difficulty typing.
I‘m using ttyd (https://github.com/tsl0922/ttyd) behind an nginx reverse proxy with client certificates. This gives me access from locations where ports other than https are blocked.