[HN Gopher] Show HN: uvx ptn, scan a QR, get a terminal in your ...
___________________________________________________________________
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.
Author : yxl448
Score : 87 points
Date : 2026-01-03 04:22 UTC (18 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| phs318u wrote:
| Love it.
|
| Laziness - the mother of (most) invention.
| arisylafeta wrote:
| Love 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.
| yxl448 wrote:
| I actually thought about it. will be added in a future release.
| yxl448 wrote:
| uvx ptn -p for a one-time disposable pwd!
| simonw wrote:
| "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 wrote:
| it 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 wrote:
| I would argue that it should be the default option. Cool
| idea!
| thomasht86 wrote:
| I wanted a secure solution, that still can be run in one command,
| and came up with this,
| https://gist.github.com/thomasht86/86f0f8f62db1839054abd8a7e...
| kosolam wrote:
| I'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 which works great for development.
| hrimfaxi wrote:
| Can you speak more to the code server and domain set up? How do
| you get it to auto provision subdomains?
| kosolam wrote:
| Sure, 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
|
| From the docs: code-server --proxy-domain <domain>
| ballpug1xtr wrote:
| Further information concerning tunneling protocols, sshd/ ssh is
| accessible in the man site:
|
| [1]:https://man.openbsd.org/sshd.8
|
| [2]:https://man.freebsd.org/cgi/man.cgi?ssh
| reimuwu wrote:
| > 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 wrote:
| Yes 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.
| sa-code wrote:
| I 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 wrote:
| tailscale has a much better chance to work when you need it
| most. WireGuard is blocked by too much stuff.
| roflchoppa wrote:
| I've never noticed wireguard be blocked by something, have
| you experienced this?
| baq wrote:
| many 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 wrote:
| Tailscale 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 wrote:
| > 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.
| ffsm8 wrote:
| I was just pointing out that the statement wrt "wireguard
| being blocked while tailscale works" is nonsensical.
|
| It remains nonsensical no matter how uninformed the user
| may be - even if he's proud of being such, as you seem to
| be.
|
| This was not a discussion about what tool to use if the
| person doesn't know about networking and is generally ...
| "less technical".
| solarkraft wrote:
| Right, it's that specific person's Wireguard
| configuration, which is likely a typical one as a result
| of Wireguard's defaults. Tailscale's defaults work
| better, hence the surface-level impression that plain
| Wireguard does not work in cases in which Tailscale does.
| bonsai_spool wrote:
| Head scale is a good middle option - it uses Tailscale's DNS
| system but you are able to control your network as you would
| with Wireguard
| brap wrote:
| I 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 wrote:
| It's the tool's use case, which provides valuable background
| information about its technical choices.
| gschizas wrote:
| This 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/*
| yxl448 wrote:
| Try again. I don't have mint instance to test, but should work
| now.
| gschizas wrote:
| I had already fixed the sources file manually, but the "any"
| distro should probably work as well (I put "noble" when I did
| the manual edit).
|
| Thanks though for the fix.
| smithclay wrote:
| This 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 wrote:
| Very 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 wrote:
| Genuine question here: How is this better than a mobile SSH
| client + something like Tailscale or Yggdrasil?
| yxl448 wrote:
| fast and disposable? (btw it also works like a tmux with UI)
| rubslopes wrote:
| Agreed. I already use Termux for Claude code via ssh in my
| phone, but I'm nevertheless excited to try this.
___________________________________________________________________
(page generated 2026-01-03 23:01 UTC)