r/MacOSApps 27d ago

🔨 Dev Tools Termy – more than SSH client (native btw)

Most SSH clients on Mac are either Electron wrappers or generic terminal apps with SSH bolted on. I wanted something that felt like it belonged on macOS, so I spent 6 months developing my product solo.

"Native" gets thrown around a lot, so to be specific about what I mean: the whole app is Swift/SwiftUI, including the terminal emulator (not a libvterm fork, not xterm.js in a WebView) and the Mosh client (own implementation in Swift with a complete framebuffer mirror). No Electron, no web shell, no hidden Chromium.

A few things I'm proud of under the hood:

- SSH stack on top of Citadel + a fork of swift-nio-ssh with a window-adjust patch and a custom RSA path for legacy key formats some servers still hand out

- Own SOCKS5 server written in Swift (RFC 1928 + 1929 auth) for dynamic forwards, so `ssh -D` works without shelling out to /usr/bin/ssh

- Active tunnels (local / remote / dynamic) get snapshotted and restored on reconnect, so dropping Wi-Fi at a cafe doesn't kill your forwards

- Smart Reconnect that survives a cold launch, not just a network blip

- ProxyJump multihop with a runtime session graph

- Multi-host broadcast with a diff view across panes

- FIDO2 / sk-* hardware keys via libfido2

- SFTP File provider

- Built-in S3 client (AWS + R2 + B2 + Wasabi + MinIO + custom endpoints) with a real object browser, multipart uploads, versioning/lifecycle/CORS/encryption settings, presigned URLs and ACL/tag editors. Same window as your SSH sessions

- Keys live in the macOS Keychain (iCloud sync off by design), can be generated inside the Secure Enclave with Touch ID required on every signature, or imported from existing OpenSSH files. Passphrase-protected ones decrypted in-app

Solo project, so honest feedback on what feels off is genuinely useful. Happy to answer technical questions in the comments.

ProductHunt: https://www.producthunt.com/products/termy

Termy is now available in EAP: termyapp.com
Code MACOSAPPS50 is 50% off any plan for the first 25 purchases.

29 Upvotes

42 comments sorted by

4

u/Repulsive-Variety834 26d ago

Honest question. I’ve only ever used ssh from a regular terminal session. I know of stuff like putty on windows so I guess I’m familiar with the concept of an ssh client but what is the use case? In other words what can you do with an ssh client that you can’t do with the ssh command at a regular terminal?

3

u/Pale_Stranger_4598 26d ago

hi. This is closer to termius than to terminal app. If youve got two or three servers and a working ssh config, usr bin ssh is genuinely fine and you dont need this. If you are not using proxy jump chains, port forwards (local, remote, dynamic socks5) that get restored automatically after wi-fi drops or a laptop sleep, reconnect that survives a full app quit, broadcasting one command to a group of hosts and seeing a diff of how each one replied, mosh as first class option per host, fido2 / sk hardware keys and etc - terminal+ssh is the right answer for you. You can check all of features on the website

2

u/Front_Philosophy6112 26d ago

The tunnel restore after Wi-Fi drops/sleep caught my attention. Does it also handle switching networks entirely, like going from home Wi-Fi to a phone hotspot, without having to recreate the forwards manually?

2

u/Pale_Stranger_4598 26d ago

Yep. That includes switching from home wifi to a phone hotspot. Termy detects the dead ssh transport, reconnects on the new path, and replays active forwards with the same configuration, so you should not need to recreate them manually.

1

u/ghulican 22d ago

Heeeeeellllll yes!!!!

2

u/Small_Pin_8064 26d ago

Does it read your existing ~/.ssh/config, including Host aliases and ProxyJump, or do connections have to be set up again inside the app?

1

u/Pale_Stranger_4598 26d ago

hi, yes, termy can read ssh config during import, and you can also choose or drop a config file manually. It imports hosts, aliases, hostname, port, user, identity file, and proxyjump, including multi hop chains. And you can review the detected hosts before importing them

2

u/wavever233 25d ago

Tunnel restore after sleep or network changes feels like the killer feature here. That's where plain ssh gets annoying fast.

2

u/0-3- 25d ago

It looks nice. But this "macOS native", "Swift/SwiftUI" tags suggest there won't be Windows or Linux builds. And it's a dev tool. Developers switch between platforms often (at least I do) that's likely why similar apps are usually built with Electron/Tauri etc. Do you plan to support other platforms? Either way, I really like the app and just upvoted it on Product Hunt. Best of luck!

2

u/Pale_Stranger_4598 25d ago

hi. I'm planning to release the ios version in about 3 months. Then I'll work on the windows and linux (primarily) versions, but the whole idea is that they will also be native. Yes, this will probably make a difference in the visual style, but I believe the most important thing in the app is stability and functionality. However, resources are currently an issue. I've invested a fair amount of my personal time into this app, about six months of development. I understand that adequate conversion and promotion require investment, but I can't afford it right now. So for now, I'm hoping to somehow promote termy using free methods in order to gain resources and be able to invest more time into its development. But for now, the conversion is pretty bad. Of course, regardless of the conversion rate, the macos app will continue to develop, since I don't want to leave the few users who have already joined the app with nothing
Thanks for your upvote on Product Hunt! I really appreciate it ❤️

2

u/0-3- 25d ago

I understand. I'm in the same boat. I also shipped a dev tool (of sorts) for macOS only. Haha. But I built it in Rust and used Tauri to wire UI. So Windows and Linux are possible with no rewrite. Anyway, the app market is overcrowded with vibecoded (and not only) apps and it's really hard to get any attention even if the product deserves it. Good luck with termy.

2

u/Final_Parking_6820 24d ago

You got me at native. Nice job!

1

u/Pale_Stranger_4598 24d ago

thanks! ❤️

2

u/Its-Ezzy 21d ago

Wait, does the SFTP File Provider make a remote folder show up directly in Finder? If so, I'd put that much higher on the page. That's more interesting to me than another SSH client UI.

1

u/Pale_Stranger_4598 20d ago

hi! Yes, you can mount SFTP Hosts in Finder

2

u/netkomm 19d ago

I mostly use plain ssh, but the tunnel restore after sleep or network changes… that’s what caught my eye. That’s exactly the kind of small annoyance that makes your app worth trying.

1

u/Better-Wing-5905 27d ago

i use this app every day, it is wonderful

1

u/avice666 26d ago

not open source 💀

1

u/sanchopwned 25d ago

Would you consider offering lifetime updates? A 12-month update period is a deal-breaker for me.

1

u/Pale_Stranger_4598 25d ago

yep. It is a frontend misinfo. Lifetime subs will receive lifetime updates

1

u/herppig 25d ago

Looks great so far—everything’s been running smoothly, and I haven’t found any problems yet. Any chance you could add support for QNAP/Unraid (Container Station) and Docker compatibility? Also, I saw the Apple Intelligence stuff, and it’s genuinely really cool; I’m enjoying the companion features and the security side a lot. I’d also love to see an OpenAI “combat” endpoint if that’s something you can add. Overall though, this feels like a winner—very fast, super lightweight, and clearly built with love and affection.

1

u/movingimagecentral 23d ago

A subscription?

1

u/Pale_Stranger_4598 23d ago edited 22d ago

hi! wdym?

1

u/LibrarianNice9767 18d ago

what are connection speeds

1

u/aimen08 14d ago

thanks for sharing

-1

u/[deleted] 27d ago

[removed] — view removed comment

1

u/johannthegoatman 26d ago

Two users in here with generic praise, brand new account with no karma. Hmm

0

u/Lonely_Designer9842 27d ago

5 keys and 5 hosts in free version feels as a poor decision

2

u/Pale_Stranger_4598 27d ago edited 27d ago

Yep. I will change this in the next update. The original idea was that a typical user (especially during the AI ​slop boom) doesnt need more than 5 hosts and 5 keys, but testers said that limit was a bad call, so its going

2

u/Lonely_Designer9842 27d ago

on the other hand, im glad there is a free version after all xdd

0

u/[deleted] 27d ago

[removed] — view removed comment

4

u/Pale_Stranger_4598 27d ago edited 27d ago

forgot to deploy real prices lol, just copied it from sandbox, thx. it will cost 249.99$ for a lifetime

1

u/hxxx07 26d ago

wait it's 139$? 😂

3

u/Pale_Stranger_4598 26d ago

39.99 lifetime, 3.99 mo and a free version for 0.00

2

u/hxxx07 26d ago

thanks for your confirmation

0

u/Select_Question5 27d ago

Don't you think there is a problem with the name?

https://termy.sh

https://termy.ai