{"repo":"millionco/localterm","free":true,"listed":false,"github":"https://github.com/millionco/localterm","clone":"git clone https://github.com/millionco/localterm.git","description":"A terminal in your browser","language":"TypeScript","stars":166,"topics":["browser","terminal","localterm"],"license":"MIT","category":"cli-tools","readme_excerpt":"localterm Your terminal should just be a browser tab. Run npx localterm@latest start and every browser tab is one shell. Open a new tab to spawn another. Close the tab to kill it. That's the whole product. Install Run this command anywhere: This boots a local daemon and opens http://localterm.localhost:3417 in your browser. ( .localhost is reserved by RFC 6761 and resolves to 127.0.0.1 in every modern browser, so no /etc/hosts edit needed.) To install globally: Usage The mental model is shell = browser tab : - New tab → new shell - Close tab → shell dies immediately - Reload tab → fresh shell (the prior one is gone) No session ids, no URL slugs, no reconnects. If you want a long-lived shell that survives reloads, run tmux inside localterm. CLI State lives in /.localterm/ (PID, port, server log at /.localterm/server.log ). Security - Binds loopback hosts only: 127.0.0.1 , localhost , .localhost , ::1 . Non-loopback values are rejected. - /api/ and /ws enforce loopback Host and Origin headers to defeat DNS-rebinding attacks. - One PTY per WebSocket. Closing the tab kills the shell — no orphaned processes. Resources & Contributing Back Looking to contribute back? Check out the Contributing Guide and AGENTS.md for code style. Find a bug? Head over to our issue tracker and we'll do our best to help. We love pull requests, too! → Start contributing on GitHub License localterm is MIT-licensed open-source software.","default_branch":null,"files":null,"tree":[],"storefront":"/r/millionco","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/millionco/localterm/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}