frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Ts-SSH – SSH over Tailscale without running the daemon

https://github.com/derekg/ts-ssh
103•i8code•7mo ago
ts-ssh solves a specific problem: accessing machines on your Tailnet from environments where you can't install the full Tailscale daemon (like CI/CD runners or restricted systems).

  It uses Tailscale's tsnet library to establish userspace connectivity, then provides
  a standard SSH experience. Works with existing workflows since it supports normal SSH
   features like ProxyCommand, key auth, and terminal handling.

  Some features that proved useful:
  • Parallel command execution across multiple hosts
  • Built-in tmux session management for multi-host work
  • SCP-style file transfers
  • Works on Linux/macOS/Windows (AMD64 and ARM64)

  The codebase is interesting from a development perspective - it was written almost
  entirely using AI tools (mainly Claude Code, with some OpenAI and Jules). Not as an
  experiment, but because it actually worked well for this kind of systems programming.
   Happy to discuss the workflow if anyone's curious about that aspect.

  Source and binaries are on GitHub. Would appreciate feedback from anyone dealing with
   similar connectivity challenges.

Comments

_9y71•7mo ago
This is why you don't let Claude handle versioning and the release process. From v0.1.0 to v1.0.0 to v2.0.0, and then suddenly 1.2.0? Semantic versioning isn't quantum mechanics. (Even then, I'll admit it's sometimes hard for me too to decide the right increment when tagging versions. :)
ape4•7mo ago
In general, maybe security code (which is what this is) might not be the best place for AI.
KomoD•7mo ago
> This is why you don't let Claude handle versioning and the release process.

Or anything else without reviewing it.

lol @ the issue in the repo: "module declares its path as: github.com/yourusername/ts-ssh"

ramon156•7mo ago
- 0.0.1 -> improvements

- 0.1.0 -> breaking changes

- 1.0.0 -> overhaul/refactor needed

I know not every case is easy but this is my rule of thumb. I've honestly never needed a major version change

Timon3•7mo ago
That kind of goes counter to semantic versioning, where:

- x.y.Z (patch) -> backward compatible bug fixes

- x.Y.z (minor) -> backward compatible new features

- X.y.z (major) -> breaking changes

But of course it's fine to use whatever versioning scheme you like, as long as you communicate it to your consumers.

https://semver.org/

Edit: updated the version strings for clarity.

zamadatix•7mo ago
Minor note, but since the topic is accurate semvar: rule 4 specifies 0.x.y is a special case where anything may change at any time.
_9y71•7mo ago
Relevant section: https://semver.org/#:~:text=How%20should%20I,next%20major%20...
Timon3•7mo ago
Good point, if we're already being pedantic we should be accurate. I've updated the version strings in my comment, thanks!
chrisweekly•7mo ago
Using a 3-digit version like semver, while assigning different semantics, is a recipe for confusion if anyone except you ever refers to a package using this "rule of thumb".
indrora•7mo ago
0.0.1 - I fixed a bug

0.1.0 - I rearchitected the bug

1.0.0 - The bug is integral to the codebase.

i8code•7mo ago
I agree, the initial set of releases were all over the place. I took the feedback from this thread and fed it to Claude along with the semver.org references that were linked here for more detailed (and pedantic) context. Makes way more sense now. Thanks for the feedback! Claude handled the cleanup. Here's the updated releases: https://github.com/derekg/ts-ssh/releases
0x457•7mo ago
https://preview.redd.it/ou8h9owirmme1.png?width=1024&auto=we...
cedws•7mo ago
Semantic versioning isn’t the only way of versioning. Linus Torvalds versions Linux how he sees fit.
anotherpaulg•7mo ago
Looks very interesting. I was hoping it would solve a problem I’ve had recently:

I want to ssh into a windows box that I only have a normal user account on. So I can’t (and don’t want to) change any admin settings or install anything as admin.

All the obvious approaches hit roadblocks.

Seems like this tool solves the opposite problem: sshing out from a minimally privledged environment.

paxys•7mo ago
You can start your own ssh daemon from the unprivileged account pointing to a random port.
anotherpaulg•7mo ago
Ya, you would think so. But when you connect to it and sshd tries to fork a process to handle the session… you get a privileges error.
huslage•7mo ago
I am scared that this is vibe coded and not audited in any way. tsnet is good software, but wrapping it in this way is a recipe for disaster. Please reconsider.
KetoManx64•7mo ago
Can you explain what the possible risks are?
mystifyingpoi•7mo ago
> I am scared that this is vibe coded

Totally serious question: would you feel better about this piece of software, if you didn't know that it was vibe coded?

Do we need "build without AI" stickers on every piece of software created these days?

huslage•7mo ago
I looked at the code and the documentation and it's definitely vibe coded. Also the presence of CLAUDE.md is pretty telling. I have no issue with vibe coding in general, but I am skeptical of the usefulness of LLMs with security code.

Yes, I think projects that are coded wholly or in part by LLMs should be noted as such.

eddd-ddde•7mo ago
Why would you trust a random person's project anymore than an AI project? I'd say the vast majority of the population is vastly less skilled than Claude Code.

I.e. just because it's human doesn't mean it's any more secure.

isatty•7mo ago
I agree and had the same thought. Tailscale ssh is good and I was interested in something like this but absolutely not if it’s AI generated garbage.
rsync•7mo ago
Tangential ... I think I read somewhere that I cannot become a customer of tailscale without FAANG credentials ?

As in, I cannot simply sign up with my own personal identifiers (email, phone, etc.) but need to participate in a google auth or FB auth mechanism ?

I found it hard to believe - is this, indeed, the case ?

erinnh•7mo ago
You need one of the following:

Google, Microsoft, Github, Apple or your own OIDC Provider.

They do not have their own account backend.

So you dont technically need a FAANG account if you have a Gitea, Gitlab, Authentik Account or something like that.

Deathmax•7mo ago
Since April 2023 they support custom OIDC providers[1], and as of April 2024 that was extended to the free plan as well[2], so you can bring your own auth.

[1]: https://tailscale.com/kb/1240/sso-custom-oidc

[2]: https://tailscale.com/blog/sso-tax-cut

_ks3e•7mo ago
It's possible to use Tailscale with just a passkey [0], but it's a weird process because they don't let you create a tailnet and a passkey account at the same time. Instead, you need to create an account with a throwaway FAANG credential and send yourself an invite to that account's tailnet, and then use that invite to create a passkey-linked Tailscale account. This account can then create its own tailnet, at which point the original tailnet (and the throwaway FAANG account) can be discarded.

It's a weird process and not particularly user friendly (passkey accounts are tied to a specific passkey and can't have additional ones added, so you need to create a new account if you, say, migrate from one hardware key to another). Hopefully they improve the process before passkey support goes out of beta.

[0] https://tailscale.com/kb/1269/passkeys

xeonmc•7mo ago
I feel like maybe they should allow adding SSH keys as a login method instead of passkeys.

Though I suppose there is the potential problem of identitiy collision due to public key resuse unless the keys were generated serverside to guarantee uniqueness.

seized•7mo ago
You can also use Codeberg.
amacneil•7mo ago
Meta question: How does a HN post like this come to exist with _both_ a link and a body?

Anytime I've submitted with both url + body the body is posted as a comment.

ambigious7777•7mo ago
not sure, but i think this may be a special feature for Show HNs
pvg•7mo ago
Show HN's get to have text and a link, most other things don't.

What rare disease AI teaches us about longitudinal health

https://myaether.live/blog/what-rare-disease-ai-teaches-us-about-longitudinal-health
1•takmak007•23s ago•0 comments

The Brand Savior Complex and the New Age of Self Censorship

https://thesocialjuice.substack.com/p/the-brand-savior-complex-and-the
1•jaskaransainiz•2m ago•0 comments

Show HN: A Prompting Framework for Non-Vibe-Coders

https://github.com/No3371/projex
1•3371•2m ago•0 comments

Kilroy is a local-first "software factory" CLI

https://github.com/danshapiro/kilroy
1•ukuina•12m ago•0 comments

Mathscapes – Jan 2026 [pdf]

https://momath.org/wp-content/uploads/2026/02/1.-Mathscapes-January-2026-with-Solution.pdf
1•vismit2000•14m ago•0 comments

80386 Barrel Shifter

https://nand2mario.github.io/posts/2026/80386_barrel_shifter/
2•jamesbowman•15m ago•0 comments

Training Foundation Models Directly on Human Brain Data

https://arxiv.org/abs/2601.12053
1•helloplanets•15m ago•0 comments

Web Speech API on HN Threads

https://toulas.ch/projects/hn-readaloud/
1•etoulas•18m ago•0 comments

ArtisanForge: Learn Laravel through a gamified RPG adventure – 100% free

https://artisanforge.online/
1•grazulex•18m ago•1 comments

Your phone edits all your photos with AI – is it changing your view of reality?

https://www.bbc.com/future/article/20260203-the-ai-that-quietly-edits-all-of-your-photos
1•breve•19m ago•0 comments

DStack, a small Bash tool for managing Docker Compose projects

https://github.com/KyanJeuring/dstack
1•kppjeuring•20m ago•1 comments

Hop – Fast SSH connection manager with TUI dashboard

https://github.com/danmartuszewski/hop
1•danmartuszewski•21m ago•1 comments

Turning books to courses using AI

https://www.book2course.org/
2•syukursyakir•22m ago•0 comments

Top #1 AI Video Agent: Free All in One AI Video and Image Agent by Vidzoo AI

https://vidzoo.ai
1•Evan233•23m ago•1 comments

Ask HN: How would you design an LLM-unfriendly language?

1•sph•24m ago•0 comments

Show HN: MuxPod – A mobile tmux client for monitoring AI agents on the go

https://github.com/moezakura/mux-pod
1•moezakura•25m ago•0 comments

March for Billionaires

https://marchforbillionaires.org/
1•gscott•25m ago•0 comments

Turn Claude Code/OpenClaw into Your Local Lovart – AI Design MCP Server

https://github.com/jau123/MeiGen-Art
1•jaujaujau•26m ago•0 comments

An Nginx Engineer Took over AI's Benchmark Tool

https://github.com/hongzhidao/jsbench/tree/main/docs
1•zhidao9•28m ago•0 comments

Use fn-keys as fn-keys for chosen apps in OS X

https://www.balanci.ng/tools/karabiner-function-key-generator.html
1•thelollies•28m ago•1 comments

Sir/SIEN: A communication protocol for production outages

https://getsimul.com/blog/communicate-outage-to-ceo
1•pingananth•29m ago•1 comments

Show HN: OpenCode for Meetings

https://getscripta.app
2•whitemyrat•30m ago•1 comments

The chaos in the US is affecting open source software and its developers

https://www.osnews.com/story/144348/the-chaos-in-the-us-is-affecting-open-source-software-and-its...
1•pjmlp•32m ago•0 comments

The world heard JD Vance being booed at the Olympics. Except for viewers in USA

https://www.theguardian.com/sport/2026/feb/07/jd-vance-boos-winter-olympics
66•treetalker•34m ago•14 comments

The original vi is a product of its time (and its time has passed)

https://utcc.utoronto.ca/~cks/space/blog/unix/ViIsAProductOfItsTime
1•ingve•41m ago•0 comments

Circumstantial Complexity, LLMs and Large Scale Architecture

https://www.datagubbe.se/aiarch/
1•ingve•48m ago•0 comments

Tech Bro Saga: big tech critique essay series

1•dikobraz•51m ago•0 comments

Show HN: A calculus course with an AI tutor watching the lectures with you

https://calculus.academa.ai/
1•apoogdk•54m ago•0 comments

Show HN: 83K lines of C++ – cryptocurrency written from scratch, not a fork

https://github.com/Kristian5013/flow-protocol
1•kristianXXI•59m ago•0 comments

Show HN: SAA – A minimal shell-as-chat agent using only Bash

https://github.com/moravy-mochi/saa
1•mrvmochi•1h ago•0 comments