À propos de SSHive
SSHive est créé par Lucas Russo et publié par NetMeSafe, une société immatriculée à Paris. Inspiré de MobaXterm, il apporte la même expérience tout-en-un au matériel Apple : SSH, SFTP, RDP et VNC dans une seule application sur le Mac, l'iPhone et l'iPad, achetée une fois sur l'App Store et utilisée sur les trois.
L'histoire
En tant que développeur et administrateur système passé de Windows à macOS, l'expérience tout-en-un de MobaXterm me manquait. Je jonglais entre Terminal, Cyberduck, Microsoft Remote Desktop et quelques autres outils. SSHive est né de cette frustration : une seule application qui réunit SSH, SFTP, RDP et VNC, et qui a sa place sur le système où elle tourne. Tout a commencé sur le Mac. L'application pour iPhone et iPad est venue ensuite, parce que le serveur qui réclame de l'attention est rarement dans la même pièce que l'ordinateur portable, et Pro est un achat universel : acheté une fois, sur l'un des trois appareils, il débloque les deux autres. Les deux applications sont vendues sur l'App Store, et nulle part ailleurs. L'application Mac parle anglais, français, allemand et espagnol ; l'application iPhone et iPad parle anglais, français et espagnol.
Stack technique
Deux bases de code, un seul produit, et la réponse honnête à une question qui revient : l'application Mac est une application Electron. C'est le compromis qui a permis de livrer SSH, SFTP, FTP, RDP, VNC, série et Telnet dans une seule fenêtre, et là où cela compte vraiment (le moteur RDP, les outils ICMP, la console série), le travail est fait par du code natif que l'application charge elle-même. L'application pour iPhone et iPad n'en est pas un portage. Elle est écrite de zéro en Swift et SwiftUI, sans la moindre webview sur le chemin d'une connexion.
Mac
- Electron 37, avec une intégration macOS native : Trousseau, notifications et apparence du système
- React et TypeScript, avec Zustand pour la gestion d'état
- xterm.js et son rendu WebGL, pour un terminal accéléré par le GPU
- ssh2, une implémentation complète de SSH et SFTP en JavaScript
- Un module natif FreeRDP 3 pour le RDP, avec NLA, CredSSP et Active Directory
- noVNC pour le VNC, avec mot de passe VNC, RSA-AES, VeNCrypt / X.509 et le Partage d'écran Apple
- Des modules natifs pour le ping ICMP, le traceroute et la console série, chacun dans le bac à sable de l'App Store
- Zod, qui valide chaque message franchissant la frontière entre les processus
iPhone et iPad
- Swift et SwiftUI sur iOS 17 et suivants : TabView sur iPhone, NavigationSplitView sur iPad
- Citadel pour SSH et SFTP, et SwiftTerm pour l'émulation du terminal
- FreeRDP 3, compilé pour l'appareil, pour le RDP avec NLA et NTLM
- RoyalVNC pour le VNC
- Le Trousseau avec SecAccessControl, derrière Face ID ou Touch ID
- CloudKit, pour les profils partagés avec le Mac
- NetworkExtension, pour les tunnels IKEv2, IPSec et OpenVPN que l'iPhone et l'iPad savent monter
Pour savoir ce que font les apps aujourd'hui, commencez par les pages de fonctionnalités, qui passent en revue chaque protocole et chaque outil ; SSHive sur iPhone et iPad présente l'app mobile, et les notes de version retracent ce qui a changé d'une version Mac à l'autre.