Ouvrir le terminal en un clic sur iOS avec le lien neoserver:// scheme
Index
NeoServer
NeoServer offers a comprehensive management solution for your servers, NAS (Network Attached Storage), and Linux-based routers across iPhone, iPad, and Mac platforms.

Un lien neoserver://, un clic, et NeoServer se réveille automatiquement, se connecte au serveur et ouvre le terminal exactement là où vous le souhaitez —
que ce soit sur une machine spécifique, dans une session tmux, ou dans un dossier précis.
Vous pouvez le sauvegarder dans les favoris de Safari, dans Notes, sous forme d'icône sur le bureau, dans un raccourci Siri, ou même l'envoyer via AirDrop à un collègue.
1. Comment écrire le lien du terminal
Tous les liens de terminal ressemblent à ceci :
neoserver://terminal?host=<server>&port=<port>&user=<utilisateur>&name=<alias_terminal>&tmuxName=<session_tmux>&zellijName=<session_zellij>&workdir=<dossier>&command=<commande>
| Paramètre | Requis | Que remplir |
|---|---|---|
host |
✅ | IP ou nom de domaine du serveur. Obligatoire, si laissé vide, le lien est invalide. |
port |
❌ | Port SSH, 22 par défaut si non spécifié. Plage valide 1–65535, toute valeur invalide annule le lien. |
user |
❌ | Nom d'utilisateur pour la connexion, root par défaut si non spécifié. |
name |
❌ | Nom d'alias de ce terminal (pour l'affichage, n'intervient pas dans la correspondance du serveur). |
tmuxName |
❌ | Entre automatiquement dans cette session tmux après la connexion. |
zellijName |
❌ | Entre automatiquement dans cette session zellij après la connexion. |
workdir |
❌ | Exécute automatiquement cd vers ce dossier distant après la connexion. |
command |
❌ | Exécute une commande automatiquement après la connexion (avec un retour à la ligne). Séparez les lignes multiples avec %0A. |
⚠️ Priorité :
tmuxName>zellijName>command>workdir.
tmuxName/zellijNameetcommandne se combinent pas : si un nom de session est fourni, le lien s'attachera uniquement à cette session etcommandsera ignoré (s'attacher à une session monopolise l'entrée du terminal, impossible d'y injecter une commande).commandpeut être utilisé avecworkdir: fait d'abord uncdvers le dossier, puis exécute la commande.tmuxName/zellijName/workdirrestent mutuellement exclusifs.nameest un simple nom d'affichage, il peut coexister avec n'importe quel autre paramètre sans affecter la logique ci-dessus.
Copiez ceci et adaptez-le selon vos besoins :
# Le plus simple : fournir uniquement le host
neoserver://terminal?host=1.2.3.4
# Spécifier le port et l'utilisateur
neoserver://terminal?host=1.2.3.4&port=2222&user=deploy
# Se connecter et entrer directement dans la session tmux "main"
neoserver://terminal?host=1.2.3.4&user=root&tmuxName=main
# Se connecter et entrer directement dans la session zellij "dev"
neoserver://terminal?host=1.2.3.4&user=root&zellijName=dev
# Se connecter et faire un cd automatique dans le dossier des logs
neoserver://terminal?host=1.2.3.4&user=root&workdir=/var/log/nginx
# Donner un nom d'alias à ce terminal (pour l'affichage dans la liste, n'intervient pas dans la correspondance)
neoserver://terminal?host=1.2.3.4&user=root&name=Serveur de production
# Exécuter automatiquement ls -la après la connexion (%20 = espace)
neoserver://terminal?host=1.2.3.4&user=root&command=ls%20-la
# D'abord cd dans /var/log, puis exécuter tail -f syslog
neoserver://terminal?host=1.2.3.4&user=root&workdir=/var/log&command=tail%20-f%20syslog
# Commandes multiples : d'abord cd /tmp puis pwd (%0A = saut de ligne)
neoserver://terminal?host=1.2.3.4&user=root&command=cd%20%2Ftmp%0Apwd
2. Après la connexion, où s'arrête le terminal
C'est la partie la plus utile des liens de terminal — selon les paramètres saisis, le terminal s'ouvrira à des endroits différents :
| Paramètres saisis | État du terminal après connexion |
|---|---|
Uniquement host (+ port/user facultatif) |
Ouvre un terminal normal, arrêté dans le dossier personnel de l'utilisateur |
tmuxName=main |
tmux attach automatique à la session main, vous retournant à l'écran où vous vous étiez arrêté |
zellijName=dev |
Entre automatiquement dans la session zellij dev |
workdir=/var/log |
Exécute automatiquement cd dans le dossier /var/log |
command=ls -la |
Saisit et exécute automatiquement cette commande une fois le terminal prêt |
workdir=/var/log&command=tail -f syslog |
Fait d'abord un cd dans /var/log, puis exécute tail -f syslog |
Pourquoi distinguer ces trois types ?
- Sessions tmux / zellij : en cas de coupure réseau, de fermeture de l'App ou de changement de téléphone, la session reste active et les processus ne sont pas perdus. Partagez la session tmux d'un serveur avec un collègue, et vous pourrez tous les deux entrer dans le même écran pour dépanner ensemble.
- Dossiers : si vous devez faire
cd /opt/app/logsà chaque connexion, autant que le lien vous y dépose directement. - Commandes : exécute automatiquement une commande à la connexion, comme récupérer des logs, vérifier un statut ou lancer un script de déploiement. Peut être combiné avec
workdir(entrer d'abord dans le dossier, puis exécuter).
namen'affecte pas le comportement après la connexion, c'est simplement un nom facile à reconnaître pour retrouver ce terminal dans la liste.
3. Copier le lien depuis l'App (sans l'écrire à la main)
Écrire un lien à la main est propice aux erreurs. NeoServer permet de le copier en un clic à trois endroits différents. Il vous suffit ensuite de le coller où vous le souhaitez.
1. Copier le lien de « ce serveur »
Onglet Serveurs · Liste des serveurs → Balayez vers la gauche sur un serveur → Copy Scheme Link
Le lien copié sera :
neoserver://terminal?host=...&port=...&user=...
2. Copier dans le mode quick du terminal
Onglet Terminal · Liste des serveurs (mode quick) → Appui long sur un serveur → Copy Scheme Link
3. Copier le lien de « cette session » ⭐ Le plus utile
Onglet Terminal · Liste des sessions → Appui long sur une session → Copy Scheme Link
Ce lien intègre l'ensemble « se connecter au serveur X, session Y » :
- Si la session est sous tmux → inclut automatiquement
&tmuxName=... - Si la session est sous zellij → inclut automatiquement
&zellijName=... - Session normale → contient uniquement
host/port/user
Une copie réussie affiche Link Copied, le lien est déjà dans le presse-papiers.
✏️ Le lien copié ne contient que
host/port/user(les liens de session incluent en plustmuxNameouzellijName). Vous voulez ajoutername(alias) oucommand(commande auto) ? Ajoutez-les manuellement à la fin du lien, l'App ne génère pas ces deux paramètres pour le moment.💡 Faites un appui long pour copier une session tmux en cours d'exécution et envoyez-la à un collègue. S'il l'ouvre avec NeoServer, il s'attachera directement à la même session — vous vous retrouvez tous les deux dans le même écran de terminal.
4. Comment ouvrir ce lien
neoserver:// est un protocole de lien iOS, partout où vous pouvez cliquer sur un lien, vous pouvez réveiller NeoServer :
- Safari : collez-le dans la barre d'adresse et appuyez sur Entrée, ou enregistrez-le dans les favoris et cliquez dessus.
- Notes / Rappels : enregistrez-le, un simple clic vous y mène directement.
- Raccourcis : insérez le lien dans l'action « Ouvrir l'URL » → peut être lié à la voix de Siri, à une icône sur le bureau, ou à une automatisation.
- AirDrop : envoyez un lien entre deux iPhone, l'autre personne clique et se connecte instantanément.
- Mail : envoyez le lien comme du texte, le destinataire le copie dans Safari pour l'ouvrir.
📱 Sur l'appareil réel, le premier clic sur un lien
neoserver://affichera la demande « Ouvrir dans NeoServer ? », confirmez et elle ne s'affichera plus par la suite.
5. Trois scénarios concrets
🏠 Scénario 1 : Transformer la « connexion au tmux de production » en icône sur le bureau
Vous devez vous connecter tous les jours à la session tmux main du serveur de production. Au lieu d'ouvrir l'App → chercher le serveur → se connecter → s'attacher, transformez-le en icône :
- Copiez le lien de ce serveur dans l'App, puis ajoutez manuellement
&tmuxName=main; - Ouvrez l'App iOS « Raccourcis » → Nouveau → ajoutez l'action « URL », et collez ce lien ;
- Ajoutez l'action « Ouvrir l'URL » ;
- Cliquez sur Partager → Ajouter à l'écran d'accueil, nommez-le « Connexion Prod » et choisissez une icône.
Désormais, en cliquant sur cette icône depuis le bureau, NeoServer se connectera automatiquement et entrera dans la session main, le tout sans aucune manipulation.
🎙️ Scénario 2 : Se connecter à la voix
Intégrez le raccourci ci-dessus à Siri, avec une phrase comme « Dis Siri, connexion prod ». Une fois prononcée, le téléphone se connectera automatiquement.
🤝 Scénario 3 : Partager une session avec un collègue
- Terminal · Liste des sessions → Appui long sur la session → Copy Scheme Link ;
- Envoyez-le à un collègue (via AirDrop / WeChat, peu importe) ;
- Il l'ouvre avec NeoServer → s'attache automatiquement à la même session tmux.
(Condition préalable : la bibliothèque de serveurs de NeoServer sur son iPhone doit également pouvoir se connecter au même host.)
🖥️ Scénario 4 : Icône de bureau pour exécuter une commande en un clic
Vous devez vérifier tous les jours l'état des conteneurs d'une machine et vous ne voulez pas taper docker ps à chaque fois :
- Copiez le lien du serveur, ajoutez manuellement
&command=docker%20ps; - Transformez-le en icône de bureau comme dans le scénario 1, nommez-la « État conteneurs ».
Désormais, cliquez sur l'icône → NeoServer se connecte → exécute automatiquement docker ps, et le résultat s'affiche directement dans le terminal.
6. Questions fréquentes sur les liens de terminal
Q : J'ai cliqué sur le lien, mais je suis connecté au mauvais serveur ?
R : NeoServer recherche le serveur par host (+ port s'il est renseigné + user s'il est renseigné). Si vous avez deux serveurs avec le même host dans votre bibliothèque, il se connectera au premier correspondant. Indiquer le port ou le user permet de les différencier avec précision.
Q : Que se passe-t-il si je clique sur le lien alors que le serveur n'est pas dans ma bibliothèque ?
R : La page « Nouveau serveur » ne s'affiche plus. Désormais, un terminal temporaire est directement ouvert à la volée en utilisant les informations host/port/user du lien :
- Tentative d'authentification sans identifiants en priorité (idéal pour les scénarios de type Tailscale SSH où la connexion a déjà vérifié l'identité) ;
- Si le serveur exige un mot de passe, repli sur l'authentification par mot de passe / interactive au clavier native à NeoServer ;
- Le serveur temporaire n'est pas ajouté à votre bibliothèque de serveurs, il est libéré à la fermeture ;
- Cependant, un instantané ne contenant aucun mot de passe ni clé privée est conservé dans les « Sessions récentes », ce qui permet de s'y reconnecter en un clic après le redémarrage de l'App.
Les paramètres name / tmuxName / zellijName / workdir / command du lien d'origine fonctionnent normalement.
Q : Le lien peut-il contenir directement le mot de passe pour éviter de le saisir à chaque fois ?
R : Non. Il s'agit d'une restriction de sécurité — le mot de passe n'est jamais inclus dans le lien. Même si vous ajoutez manuellement password=xxx, il sera ignoré.
Le mot de passe passe uniquement par le trousseau (Keychain) de l'App.
Q : À quoi sert name ?
R : C'est simplement un nom d'alias pour ce terminal, pour vous aider à le reconnaître dans la liste. Il n'intervient pas dans la correspondance du serveur — deux liens avec le même host mais des noms différents se connecteront au même serveur.
Q : command présente-t-il un risque de sécurité ?
R : Un peu, il faut le savoir. command s'exécute automatiquement (avec retour à la ligne) après la connexion. N'importe quelle App ou page web peut générer un lien neoserver://...&command=..., donc ne cliquez pas sur des liens contenant un command d'origine inconnue. Lors de la première ouverture, iOS affichera « Ouvrir dans NeoServer ? » comme unique barrière ; de plus, il ne peut pas injecter de mot de passe pour les serveurs qui en exigent un, il fera simplement repli vers l'authentification normale.
Q : Puis-je mettre des dossiers avec des caractères chinois ou des espaces dans workdir ?
R : Oui. Écrivez-le directement, par exemple workdir=/home/me/my logs. L'App gérera automatiquement les caractères spéciaux.
La méthode la plus fiable reste de copier depuis l'App plutôt que de l'écrire à la main.
Q : Pas de réponse au clic ?
R : ① Vérifiez qu'il commence bien par neoserver:// ; ② Lors de la première ouverture, la confirmation « Ouvrir dans NeoServer » s'affichera ; ③ Vérifiez que host n'est pas vide ; ④ Même si l'App n'est pas au premier plan, ce n'est pas grave, elle se réveillera automatiquement.
Q : Peut-on l'ouvrir sur Android / Windows ?
R : Non. neoserver:// est uniquement reconnu par les iPhone / iPad sur lesquels NeoServer est installé.
Features
Multi Device
Support across multiple platforms: iPhone, iPad, Mac.
iCloud Sync
iCloud Sync ensures all your configuration information is securely stored in iCloud, facilitating seamless synchronization across your multiple devices.
Security
Security, featuring support for password and biometric (FaceID, TouchID) unlocking mechanisms.
A wealth of features.
providing support for SSH terminal, script execution, containers management, and metrics monitoring with zero server-side configuration required.
Screenshots






