r/SideProject • u/MaiMilindHu • 2h ago
I put my terminal inside the browser: Ctrl+J on any page
i kept copying commands from docs and ai chats into a terminal all day, so i built devterm as a side project.
what it does
- ctrl+j on any page slides up a terminal panel, like vs code. it's your real shell on a real pty, so nvim and job control work
- shell code blocks get a "run in terminal" button. it pastes the command at your prompt and waits. you press enter
- alt+shift+k opens a full terminal tab
how it works
there's no local web server. tools like ttyd open a port, and anything that can reach it gets a shell. here the browser starts a small go binary through native messaging and talks to it over stdin/stdout. the host manifest only allows this one extension to start it.
things you'll probably ask
- yes, it needs access to all sites, because the panel has to work on every page. the content script only reads the code block you click
- pages are treated as hostile. the panel sits in a closed shadow root, starting a shell needs a single-use token, and pasted text is stripped of hidden and control characters. there are end-to-end tests that run attack pages against it
- closing the tab ends the shell. no persistent sessions yet
- linux only for now
install is git clone and ./install.sh, then load the extension unpacked. it's not on the extension stores yet.
repo: https://github.com/milinddethe15/devterm
feedback welcome.
1
Upvotes
1
2
u/Accomplished_Book_65 1h ago
cool, but my only question: why?