About Termphin, by Mikołaj Badyl
I am Mikołaj Badyl. I make Termphin, an SSH client with one deliberate difference: when your connection drops, the shell on the other end keeps running. You reattach to the same session, with the scrollback intact.
Why it exists
I kept losing work because my phone could not hold a connection. A lift, a tunnel, the screen locking in the middle of a deploy. The client reconnects to a fresh prompt and whatever was running is gone. You can only guess how far it got.
The usual advice is to run tmux first. That is correct
advice, and everyone forgets it exactly when it matters. So I made
Termphin do it automatically. A small helper binary is uploaded to
your server over SSH. Your shell runs as a child of that helper.
When the network drops, the helper keeps your shell alive. When you
reconnect, you get the same session back, history and all.
What you can verify
An SSH client holds the keys to every machine you own. "Trust me" is not a good enough reason to use one, so I have made the security claims verifiable. Here is what you can check yourself.
- The server helper is open source: the termphin-agent repository.
- The terminal renderer is also open source: the terminal_view repository.
- Your device connects directly to your server. Nothing is relayed or proxied through me. Terminal contents, keys, and transferred files never pass through a server I own, because no such server exists in the path.
- Keys and profiles are stored encrypted on your device, unlocked by your PIN or fingerprint. They are never uploaded.
- Host key verification works the way it should. Termphin shows a fingerprint on first connect and remembers it. If the key later changes, the app stops and asks instead of connecting to whatever answered.
- Analytics are off until you give consent. What may be sent is a fixed, closed list, documented in the privacy policy. It contains no hostnames, usernames, or terminal contents.
The money part
Termphin is free. No ads, no in-app purchases, no paid tier. Nothing is gated. It earns nothing today. If that changes, I will say so plainly in the changelog.
Getting in touch
Bugs and ideas go in the public issue tracker, which is the quickest route and lets everyone else see the answer. For anything you would rather not write in the open, including a security report, mail [email protected] and it reaches me directly. The privacy policy and terms name me as the responsible party, which is the same person writing this.