frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Tt – P2P terminal sharing over WebRTC

10•artpar•1d ago
Made this to use my laptop terminal session on mobile without data going through a server.

tt start -p mypassword → get a URL (qrcode) → open in browser → enter password → connected.

Direct webrtc datachannel between your machine and browser.

Signaling server is a cloudflare worker, exchanges ~2KB of sdp/ice metadata then gets out of the way. Password never transmitted - argon2id derives 256-bit key locally on both ends. All terminal i/o gets nacl secretbox encryption before hitting the datachannel. double encrypted with dtls underneath but I wanted the relay to see nothing useful even during signaling.

go + pion/webrtc, about 14k loc. browser is xterm.js + webcrypto for argon2id. stun default, turn for symmetric nat.

my use case: checking on claude code runs from my phone when im not at my desk. hotel wifi, spotty mobile data. spent time on turn fallback, keepalive with reconnection, buffered writes during disconnects. pwa so it works from home screen and survives app switching. holds up ok on 3g.

Trade-offs: ice gathering takes 2-5s on connect. browser cant initiate, need cli on host. codes expire 24h.

Single binary, no deps. daemon mode for multiple sessions. tests with race detector, chaos tests for disconnects, network condition simulation. crypto and webrtc at ~72% coverage.

https://github.com/artpar/terminal-tunnel

ps: default relay runs on my cloudflare free tier so no guarantees. you can self-host the worker or run tt relay locally.

Comments

Sean-Der•1d ago
That's super cool! Nice work.

I love all the 'free stuff' you get with WebRTC. My porch is just on the edge of WiFi/5G and WebRTC (or mosh) feels much nicer.

artpar•1d ago
Thanks! And wow, getting a kind word from a Pion maintainer means a lot. Your library made this whole thing possible. The datachannel API is incredibly clean to work with. Appreciate you and the team's work on it.

Show HN: An LLM response cache that's aware of dynamic data

https://blog.butter.dev/on-automatic-template-induction-for-response-caching
3•raymondtana•28m ago•0 comments

Show HN: I built a "Do not disturb" Device for my home office

https://apoorv.page/blogs/over-engineered-dnd
63•quacky_batak•4d ago•30 comments

Show HN: A to Z – A word game I built from a childhood road trip memory

https://a26z.fun/
5•jackhulbert•2h ago•0 comments

Show HN: Free and local browser tool for designing gear models for 3D printing

https://gears.dmtrkovalenko.dev
33•neogoose•12h ago•8 comments

Show HN: Tool for Testing MCP Servers

https://www.mcp-workbench.ai/
2•opiniateddev•36m ago•0 comments

Show HN: bikemap.nyc – visualization of the entire history of Citi Bike

https://github.com/freeman-jiang/bikemap.nyc
6•freemanjiang•48m ago•2 comments

Show HN: KeelTest – AI-driven VS Code unit test generator with bug discovery

https://keelcode.dev/keeltest
24•bulba4aur•8h ago•9 comments

Show HN: SMTP Tunnel – A SOCKS5 proxy disguised as email traffic to bypass DPI

https://github.com/x011/smtp-tunnel-proxy
120•lobito25•21h ago•40 comments

Show HN: Comet MCP – Give Claude Code a browser that can click

https://github.com/hanzili/comet-mcp
25•hanzili•3d ago•25 comments

Show HN: The kissing number theorem predicts particle masses from sphere packing

https://colab.research.google.com/drive/1_zDIOONfs4WvnpG7GDEH6hzSM25Fsu93?usp=sharing
1•AlekseN•7m ago•1 comments

Show HN: VaultSandbox – Test your real MailGun/SES/etc. integration

https://vaultsandbox.com/
52•vaultsandbox•1d ago•9 comments

Show HN: Seapie – a Python debugger where breakpoints drop into a REPL

https://github.com/hirsimaki-markus/seapie
7•markushirsimaki•3h ago•1 comments

Show HN: Tylax – A bidirectional LaTeX to Typst converter in Rust

https://github.com/scipenai/tylax
16•democat•5h ago•2 comments

Show HN: Mantic.sh – A structural code search engine for AI agents

https://github.com/marcoaapfortes/Mantic.sh
73•marcoaapfortes•1d ago•34 comments

Show HN: 48-digit prime numbers every git commit

https://textonly.github.io/git-prime/
65•keepamovin•6d ago•52 comments

Show HN: I built a 3D World Map and multiplayer geography game using Three.js

https://www.mixora.xyz
2•qwrwenm•4h ago•0 comments

Show HN: Make audio loops online

https://makeloops.online/
64•bilalba•2d ago•22 comments

Show HN: Prism.Tools – Free and privacy-focused developer utilities

https://blgardner.github.io/prism.tools/
362•BLGardner•1d ago•99 comments

Show HN: Stash – Sync Markdown Files with Apple Notes via CLI

https://github.com/shakedlokits/stash
68•shuka•1d ago•21 comments

Show HN: Tailsnitch – A security auditor for Tailscale

https://github.com/Adversis/tailsnitch
271•thesubtlety•2d ago•28 comments

Show HN: KektorDB – Lightweight, Embeddable Vector+Graph Database Written in Go

https://github.com/sanonone/kektordb
2•san0n•6h ago•1 comments

Show HN: DoNotNotify – Log and intelligently block notifications on Android

https://donotnotify.com/
339•awaaz•2d ago•163 comments

Show HN: Can you hit replacement? A fertility SIM with cited sources

https://www.tfrsim.com/
3•joshuafkon•6h ago•0 comments

Show HN: llmgame.ai – The Wikipedia Game but with LLMs

https://www.llmgame.ai
24•jmcallister•1d ago•21 comments

Show HN: Jax-JS, array library in JavaScript targeting WebGPU

https://ss.ekzhang.com/p/jax-js-an-ml-library-for-the-web
79•ekzhang•1d ago•21 comments

Show HN: Foundertrace – chain of YC startups founded by its employees

https://foundertrace.com/
38•loondri•3d ago•13 comments

Show HN: Arabic Calligraphy Generator – 11 styles, free, no signup

https://arabiccalligraphygenerator.online/
2•zaochen1224•7h ago•1 comments

Show HN: GPU Cuckoo Filter – faster queries than Blocked Bloom, with deletion

https://github.com/tdortman/cuckoo-filter
31•tdortman•23h ago•3 comments

Show HN: A simple way to find open source issues to contribute to

https://K-dash.github.io/contrib-fyi/
2•K-dash•7h ago•0 comments

Show HN: Milkyboard – Synth Keyboard with Milkdrop Visualizer

https://milkyboard.com/
2•amadeuspagel•7h ago•0 comments