A aba Túneis da barra lateral guarda encaminhamentos de portas que rodam sobre uma sessão SSH salva, cada um com sua própria conexão:
- Local (-L): escuta nesta máquina e encaminha cada conexão, pelo servidor, até o destino (visto a partir do servidor).
- Remoto (-R): o servidor escuta na porta e encaminha cada conexão de volta até o destino, visto a partir desta máquina.
- Dinâmico (-D): um proxy SOCKS5 nesta máquina (sem autenticação, somente CONNECT, destinos IPv4/IPv6/domínio); o servidor abre as conexões. Um cliente que não conclui o handshake SOCKS em 10 segundos é desconectado.
Por padrão, os listeners se vinculam a 127.0.0.1; qualquer outro endereço precisa ser digitado explicitamente, e o editor avisa que outras máquinas podem alcançá-lo.
Cada túnel mostra seu estado (parado, iniciando, em execução, ou o erro) e um botão Iniciar/Parar; Iniciar todos e Parar todos agem sobre todos os túneis.
Iniciar um túnel cuja sessão usa senha tenta suas chaves, depois a senha salva no chaveiro, e só pede a senha se o servidor ainda precisar dela (veja Senhas salvas), e um host desconhecido pede para confiar na impressão digital dele, como fazem as abas SSH. Um túnel excluído ou alterado enquanto um desses pedidos está aberto não é iniciado.
Parar fecha o listener, as conexões abertas e a conexão SSH; os túneis em execução param quando o app é encerrado.
Os túneis são armazenados em ~/.config/dev.plexusterm.app/tunnels.json com as mesmas regras das sessões (atômico, modo 0600, sem segredos, edição desativada se o arquivo não puder ser lido).