6 ms·
Show HN: uvx ptn, scan a QR, get a terminal in your phone
Scan QR → web terminal → vibe coding in bed.
Mobile-first terminal via Cloudflare Quick Tunnel. No port forwarding. Feedback welcome.
- phs318u 10mo agoLove it. Laziness - the mother of (most) invention.
- arisylafeta 10mo agoLove it, I've been looking for something like this for a while now. But please add a password to it if you have the time. I might chip in by next if you're open to contributions.
- simonw 10mo ago"Warning: The URL is the only authentication. Anyone with the link has full terminal access." Could you make it so the URL is one-use only, such that once you've scanned it with your phone you can stop worrying because anyone else who uses it won't be able to start a session?
- yxl448 10mo agoit is indeed disposable and the prefix is like your secure key. it is safe unless someone has access to your screen. I can add an option to permit a single session.
- stogot 10mo agoI would argue that it should be the default option. Cool idea!
- gruez 10mo ago>it is safe unless someone has access to your screen It's not, because the "secure key" is only in the domain name, which is transmitted in the clear via SNI. That means anyone along the network path can get the key, and therefore can get access in your terminal.
- KomoD 9mo agoAnd the domain shows up in CT logs too.
- thomasht86 10mo agoI wanted a secure solution, that still can be run in one command, and came up with this, https://gist.github.com/thomasht86/86f0f8f62db1839054abd8a7e501ff7d https://gist.github.com/thomasht86/86f0f8f62db1839054abd8a7e...
- kosolam 10mo agoI’m also vibing from the iphone. Termius connects via ssh to remote server where I run claude code. Ssh connects also over a wireguard connection. So ports are not an issue because they are all available via wg in a secure way. Additionally I have code server running there automatically port forwards and giving me ssl. So when I run “pnpm dev” in tmux in ssh then I access it via https://3000.dev.mydomain.com https://3000.dev.mydomain.com which works great for development.
- hrimfaxi 10mo agoCan you speak more to the code server and domain set up? How do you get it to auto provision subdomains?
- kosolam 10mo agoSure, code-server is a web version of vscode, like the github spaces thing only selfhosted. I have acme.sh creating the certs using let’s encrypt. I have a reverse proxy (haproxy) in front of code server. This handles ssl. The port forwarding and mapping to a subdomain is automatic - it’s a feature of code server: https://coder.com/docs/code-server/guide https://coder.com/docs/code-server/guide From the docs: code-server --proxy-domain <domain>
- hrimfaxi 9mo agoThanks for the details!
- ballpug1xtr 10mo agoFurther information concerning tunneling protocols, sshd/ ssh is accessible in the man site: [1]:https://man.openbsd.org/sshd.8 https://man.openbsd.org/sshd.8 [2]:https://man.freebsd.org/cgi/man.cgi?ssh https://man.freebsd.org/cgi/man.cgi?ssh
- reimuwu 10mo ago> I wanted to vibe code from bed. In this case, I think using Termux + SSH would be more convenient and compatible with all devices running sshd.
- stoneforger 10mo agoYes but that's boring. Look at this it has cool ASCII and a QR. At this point no typing, just vibe-voice ask to build the thing and fix the error. Then we can have some tea, earl grey, hot.
- viraptor 9mo agoAlso https://github.com/chriswritescode-dev/opencode-manager https://github.com/chriswritescode-dev/opencode-manager is getting there with a proper interface.
- yukinon 9mo agoI don't know if "more convenient" would be the words I would use. Setup on this project is very easy, it has very straightforward instructions. Meanwhile, I did a quick 5 minute pressure test of what you suggested and found myself with more questions than answers. I am not saying one way is better than the other, I am just thinking that for those that don't breathe SSH/VPN/Wireguard/Terminal Emulators/etc.. this project is actually far easier to understand. Also, funny enough on compatibility, but "Termux" is not on iOS, so it fails that basic check. But there's alternatives, of course. Just an observation.
- sa-code 10mo agoI can recommend tailscale for creating private networks. It has a generous free tier and would reduce the attack surface considerably compared to ngrok Better yet would be setting up your own wireguard instance and not relying on free lunches. But as far as free lunches go tailscale would be my preferred option
- baq 10mo agotailscale has a much better chance to work when you need it most. WireGuard is blocked by too much stuff.
- roflchoppa 10mo agoI’ve never noticed wireguard be blocked by something, have you experienced this?
- baq 10mo agomany times in public/hotel wifis. it's usually places which blanket ban UDP and allow TCP 80 and 443 exclusively. tailscale somehow manages to get a connection.
- ffsm8 10mo agoTailscale uses wireguard. What it provides is a opinionated configuration management - which is admittedly great which is why I use it as well, but it's nonsensical to say tailscale works in places where wireguard is blocked. You're likely just noticing the preconfigured nat traversal which tailscale provides and never set one up yourself, as you'd need a static IP for that and it's unconfigured by default.
- BrandoElFollito 10mo ago> it's nonsensical to say tailscale works in places where wireguard is blocked I have two machines on my desk, I configure a wg service on both. I also configure tailscale on both. Everything works. I move one machine to another network, at a friend's place. Wg does not work anymore. Tailscale works. So this is very much sensible to say what GP said. Now, you can have all kinds of explanations about why wg dos not work and ts does, you know STUN, DERP, ts using wg under the hood, and whatnot but the facts are cruel: I cannot wg to my machine, but I can ts.
- brap 10mo agoI like this but I hate how everything has to be tied to AI now to get attention. “I wanted to vibe code-“ who cares? It’s a neat tool, do we have to force AI into it?
- solarkraft 10mo agoIt’s the tool‘s use case, which provides valuable background information about its technical choices.
- viraptor 9mo agoNormally we get a few "but why would you make this?" comments. Maybe let's not discourage people who actually give us the answer upfront.
- gschizas 10mo agoThis command: lsb_release -cs Doesn't work for Linux Mint 22.2 What you want is UBUNTU_CODENAME from /etc/os-release (in the case of Linux Mint 22.2, it's "noble") EDIT: Actually, I'm not even sure you can do $(command) inside /etc/apt/sources.list.d/*
- smithclay 10mo agoThis is great. If you’re skeptical, vibe coding in the go is great because of how async the agentic coding workflows can be. Nothing like fixing a bug in the dentist office. Lots of different technical solutions for how to do this, including the Claude and ChatGPT mobile apps nowadays. I use Tailscale. Choose what works best for you and enjoy.
- mark_l_watson 10mo agoVery cool, indeed. One nit-pick: Terminus requiring a lot of setup work: Terminus is trivial to use with a rented VPS. But, ptn solves a different problem
- MarsIronPI 10mo agoGenuine question here: How is this better than a mobile SSH client + something like Tailscale or Yggdrasil?
- DNSZLSK 9mo ago[dead]