Abrir terminal com um clique em iOS usando o scheme neoserver://

Author: Neo Huang
ÚLTIMA ATUALIZAÇÃO: 2026-08-17 00:00:33
Etiqueta: NeoServer

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.

Um link neoserver://, com um clique, o NeoServer é ativado automaticamente, conecta-se ao servidor e abre o terminal exatamente onde você deseja — pode ser em uma máquina específica, uma sessão tmux ou um diretório.

Salve-o nos Favoritos do Safari, Notas, como ícone na área de trabalho, nos Atalhos da Siri, ou envie via AirDrop para um colega, tudo funciona.


I. Como escrever o link do terminal

Todos os links de terminal têm este formato:

neoserver://terminal?host=<servidor>&port=<porta>&user=<usuario>&name=<nota_do_terminal>&tmuxName=<sessao_tmux>&zellijName=<sessao_zellij>&workdir=<diretorio>&command=<comando>
Parâmetro Obrigatório O que preencher
host IP ou domínio do servidor. Obrigatório, se deixar vazio o link será invalidado.
port Porta SSH, se não for preenchido o padrão é 22. O intervalo válido é 1–65535, preencher com valores inválidos invalida o link.
user Nome de usuário de login, se não for preenchido o padrão é root.
name O nome de exibição deste terminal (apenas para visualização, não participa da correspondência de servidores).
tmuxName Entra automaticamente nesta sessão tmux após conectar.
zellijName Entra automaticamente nesta sessão zellij após conectar.
workdir Executa cd automaticamente para este diretório remoto após conectar.
command Executa automaticamente um comando após conectar (com Enter). Use %0A para múltiplas linhas.

⚠️ Prioridade: tmuxName > zellijName > command > workdir.

  • tmuxName / zellijName e command não combinam: se incluir o nome de uma sessão, ele apenas fará o attach dessa sessão e o command será ignorado (o attach ocupa a entrada do terminal, então o comando não pode ser inserido).
  • command pode ser usado com workdir: primeiro faz cd para o diretório e, em seguida, executa o comando.
  • tmuxName / zellijName / workdir ainda são mutuamente exclusivos entre si.
  • name é apenas um nome de exibição e pode coexistir com qualquer um deles, sem afetar a lógica acima.

Basta copiar e alterar para os seus dados:

# O mais simples: apenas o host
neoserver://terminal?host=1.2.3.4

# Especificando porta e usuário
neoserver://terminal?host=1.2.3.4&port=2222&user=deploy

# Conecta e entra direto na sessão tmux "main"
neoserver://terminal?host=1.2.3.4&user=root&tmuxName=main

# Conecta e entra direto na sessão zellij "dev"
neoserver://terminal?host=1.2.3.4&user=root&zellijName=dev

# Conecta e faz cd automaticamente para o diretório de logs
neoserver://terminal?host=1.2.3.4&user=root&workdir=/var/log/nginx

# Dá um nome de exibição para este terminal (mostrado na lista, não usado para correspondência)
neoserver://terminal?host=1.2.3.4&user=root&name=servidor_produção

# Conecta e executa automaticamente ls -la (%20 = espaço)
neoserver://terminal?host=1.2.3.4&user=root&command=ls%20-la

# Primeiro faz cd para /var/log, depois executa tail -f syslog
neoserver://terminal?host=1.2.3.4&user=root&workdir=/var/log&command=tail%20-f%20syslog

# Comando em várias linhas: primeiro cd /tmp depois pwd (%0A = nova linha)
neoserver://terminal?host=1.2.3.4&user=root&command=cd%20%2Ftmp%0Apwd

II. Após conectar, onde o terminal vai parar

Esta é a parte mais útil do link do terminal — preencher parâmetros diferentes fará com que o terminal abra em lugares diferentes após a conexão:

Parâmetros preenchidos Estado do terminal após conectar
Apenas host (+ opcional port/user) Abre um terminal comum, parando no diretório inicial do usuário
tmuxName=main Faz tmux attach automaticamente na sessão main, voltando exatamente de onde você saiu da última vez
zellijName=dev Entra automaticamente na sessão zellij dev
workdir=/var/log Faz cd automaticamente para o diretório /var/log
command=ls -la Assim que o terminal está pronto, digita e executa automaticamente este comando
workdir=/var/log&command=tail -f syslog Primeiro faz cd para /var/log, depois executa tail -f syslog

Por que dividir nestes três tipos?

  • Sessões tmux / zellij: se a internet cair, você fechar o App ou trocar de celular e reconectar, a sessão continua lá e os processos não são perdidos. Compartilhar a sessão tmux de um servidor com um colega permite que vocês entrem na mesma tela para solucionar problemas juntos.
  • Diretório: em vez de toda vez ter que digitar cd /opt/app/logs após conectar, é melhor deixar o link colocá-lo diretamente lá.
  • Comando: executa automaticamente um comando ao conectar, como puxar logs, ver o status ou rodar um script de implantação. Pode ser combinado com workdir (primeiro entra no diretório, depois executa).

O name não afeta o comportamento após a conexão, serve apenas para dar um nome fácil de reconhecer a este terminal, facilitando a busca na lista.


III. Copiar o link dentro do App (sem precisar escrever à mão)

Escrever links manualmente é propenso a erros. O NeoServer permite copiar com um clique em três lugares; basta colar onde desejar.

1. Copiar o link de "este servidor"

Aba Servidores · Lista de ServidoresDeslize para a esquerda em um servidor → Copy Scheme Link

O resultado copiado será:

neoserver://terminal?host=...&port=...&user=...

2. Copiar no modo quick do terminal

Aba Terminal · Lista de Servidores (modo quick) → Pressione e segure um servidor → Copy Scheme Link

3. Copiar o link de "esta sessão" ⭐ O mais útil

Aba Terminal · Lista de SessõesPressione e segure uma sessão → Copy Scheme Link

Este link empacotará a "conexão à sessão Y do servidor X":

  • Se a sessão for tmux → adiciona automaticamente &tmuxName=...
  • Se a sessão for zellij → adiciona automaticamente &zellijName=...
  • Sessão comum → apenas host/port/user

Quando copiado com sucesso, aparecerá Link Copied, e o link estará na área de transferência.

✏️ O link copiado contém apenas host/port/user (links de sessão também incluem tmuxName ou zellijName). Quer adicionar name (nota) ou command (comando executado automaticamente)? Basta acrescentar manualmente ao final do link, o App não gera esses dois por enquanto.

💡 Pressione e segure para copiar uma sessão tmux em execução e envie a um colega. Ao abri-la com o NeoServer, ele fará attach diretamente na mesma sessão — vocês dois entrarão na mesma tela do terminal.


IV. Como abrir este link

neoserver:// é um protocolo de link do iOS, em qualquer lugar onde você possa clicar em um link, ele ativará o NeoServer:

  • Safari: cole na barra de endereços e pressione Enter, ou salve nos favoritos e clique.
  • Notas / Lembretes: salve uma nota, clique uma vez para acessar diretamente.
  • Atalhos: insira o link na ação "Abrir URL" → pode ser vinculado à voz da Siri, ícones da área de trabalho e automações.
  • AirDrop: envie um link entre dois iPhones, e a pessoa que receber só precisa clicar para se conectar.
  • E-mail: envie o link como texto, o destinatário copia para o Safari para abrir.

📱 No primeiro clique em um link neoserver:// no dispositivo, o iOS exibirá um pop-up "Abrir no NeoServer?", basta confirmar e ele não perguntará novamente.


V. Três cenários práticos

🏠 Cenário 1: Transformar "conectar ao tmux de produção" em um ícone na tela inicial

Todos os dias você precisa se conectar à sessão tmux main do servidor de produção. Em vez de sempre abrir o App → encontrar o servidor → conectar → fazer attach, é melhor transformar isso em um ícone:

  1. No App, copie o link deste servidor e adicione manualmente &tmuxName=main;
  2. Abra o Atalhos do iOS → Criar novo → adicione a ação "URL", colando este link;
  3. Adicione a ação "Abrir URL";
  4. Clique em Compartilhar → Adicionar à Tela de Início, dê o nome "Conectar Produção" e escolha um ícone.

Agora, basta clicar neste ícone na tela inicial e o NeoServer conectará automaticamente e entrará na sessão main, tudo sem nenhuma ação manual.

🎙️ Cenário 2: Conectar com a voz

Integre o atalho acima à Siri e defina a frase "E aí Siri, conectar produção". Após falar, o celular se conectará automaticamente.

🤝 Cenário 3: Enviar uma sessão para um colega

  1. Terminal · Lista de sessões → Pressione e segure nesta sessão → Copy Scheme Link;
  2. Envie para o colega (via AirDrop / WeChat, tanto faz);
  3. Ele abre com o NeoServer → faz o attach automaticamente na mesma sessão tmux.

(Pré-requisito: a biblioteca de servidores do NeoServer no iPhone dele também deve ser capaz de se conectar ao mesmo host.)

🖥️ Cenário 4: Executar um comando com um clique num ícone na tela inicial

Se você precisa verificar o status dos contêineres de uma máquina todos os dias e não quer digitar docker ps toda vez que se conectar:

  1. Copie o link do servidor e adicione manualmente &command=docker%20ps;
  2. Siga o Cenário 1 para transformá-lo num ícone na tela inicial, chamando-o de "Status Contêiner".

Agora, basta clicar no ícone → o NeoServer se conecta → executa automaticamente o docker ps, e o resultado aparece diretamente no terminal.


VI. Perguntas frequentes sobre links de terminal

P: Cliquei no link, mas ele se conectou ao servidor errado? R: O NeoServer encontra o servidor pelo host (+ port se preenchido + user se preenchido). Se você tiver dois servidores com o mesmo host em sua biblioteca, ele se conectará ao primeiro que der match. Preencher a port ou o user permite distinguir com precisão.

P: E se eu não tiver este servidor na minha biblioteca, o que acontece ao clicar no link? R: A página "Novo Servidor" não aparecerá mais. Agora, ele abre diretamente um terminal temporário usando o host/port/user do link:

  • Primeiramente, tenta a autenticação sem credenciais (ideal para cenários como Tailscale SSH, onde a própria conexão já atesta a identidade);
  • Se o servidor exigir senha, recuará para a autenticação por senha / keyboard-interactive padrão do NeoServer;
  • O servidor temporário não é salvo na sua biblioteca de servidores, e é liberado assim que é fechado;
  • No entanto, ele deixará um instantâneo na lista de "Sessões Recentes" sem conter senhas ou chaves privadas, e você poderá clicar nele para se reconectar após reiniciar o App.

Os parâmetros name / tmuxName / zellijName / workdir / command do link original funcionam normalmente.

P: Posso colocar a senha diretamente no link para não ter que digitá-la toda vez? R: Não. Esta é uma restrição de segurança — os links nunca contêm senhas. Mesmo que você adicione manualmente password=xxx, será ignorado. A senha só trafega pelo chaveiro (Keychain) dentro do App.

P: Para que serve o name? R: É apenas um nome de exibição para este terminal, para facilitar a identificação na lista. Ele não participa da correspondência de servidores — dois links com o mesmo host, porém com nomes diferentes, ainda se conectarão ao mesmo servidor.

P: O command apresenta risco de segurança? R: Um pouco, é importante saber. O command será executado automaticamente (com Enter) após a conexão. Qualquer App ou página da web pode enviar um link neoserver://...&command=..., portanto, não clique em links desconhecidos que contenham command. O iOS mostrará o pop-up "Abrir no NeoServer?" como a única interceptação na primeira vez; além disso, ele não conseguirá levar a senha para servidores que exijam, apenas recuará para a autenticação normal.

P: Posso colocar diretórios com caracteres chineses ou espaços no workdir? R: Pode. Escreva diretamente, por exemplo workdir=/home/me/my logs. O App lidará com os caracteres especiais automaticamente. A maneira mais segura é usar a função de copiar do App, em vez de escrever manualmente.

P: Cliquei e não aconteceu nada? R: ① Confirme se começa com neoserver://; ② Na primeira vez, aparecerá um pop-up de confirmação "Abrir no NeoServer"; ③ Verifique se o host não foi deixado em branco; ④ Não tem problema se o App não estiver em primeiro plano, ele será ativado automaticamente.

P: Posso abrir no Android / Windows? R: Não. O neoserver:// só é reconhecido por iPhones / iPads que tenham o NeoServer instalado.


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