HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
tsl0922
ttyd
C2016–2026
tsl0922 / ttyd

ttyd

Share your terminal over the web

14Distinct people
17Mentions
0Explicit recommenders
12.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Share your terminal over the web

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year17 dated mentions

Observed mentions: 2016-09-14 10:56:21 UTC to 2026-07-07 16:13:35 UTC.

01232016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 3 submissions, 0 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC330
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC110
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC211
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC211
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC211

What Hacker News says

17 sources
One issue I always run into with browser-based terminal emulators or remote desktop clients is that common keyboard shortcuts like Ctrl-W might be used by the browser instead. Accidentally closing your browser tab and thus losing all your state when you just wanted to remove the previous word is quite annoying. It could be nice if a web app was able "capture" the keyboard somehow so that the browser doesn't react to any of its normal shortcuts, which is also commonly done in VM software and remote desktop apps, or I guess similar to input mode in Vim. An open issue here[1] mentions that PWAs can actually define shortcuts that override browser ones which could be a solution. And someone also mentions using extensions that redefine the Ctrl-W shortcut as a workaround. But afaik both of these solutions rely on defining keyboard shortcuts bef
Read the rest
orehand which doesn't seem easy to do, given that you'd have to somehow define all of the shortcuts possibly used by your shell, editor, or any other terminal apps. [1] https://github.com/tsl0922/ttyd/issues/1181
In Ttyd – Share your terminal over the web
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
Read the rest
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.
In Charm – Tools to make the command line glamorous
> 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/
In What it's like to spend 40-50 hours in VR every week
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.
In GoTTY – Share your terminal as a web application
Nice find! Thanks. I have some other tools for being productive from "constrained" environments. I'm running ttyd [1] exposed trough nginx (to deal with auth and ssl) which gives me a terminal in the browser (using xtermjs). It's pretty good. Another option I used before was shellinabox [2] (also trough nginx). Terminal emulation is not the greatest. For GUI access i use NoVNC (exposed trough nginx) and have a systemd unit starting vncserver session. [1] https://github.com/tsl0922/ttyd [2] https://github.com/shellinabox/shellinabox [3] https://github.com/novnc/noVNC
In CorkScrew: A tool for tunneling SSH through HTTP proxies

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.