Gratuito · open source · feito em Rust

Suas VPNs.
Uma janela.
Sem terminal.

Conecte em todos os ambientes FortiGate que você usa, veja quais túneis estão no ar e volte ao trabalho. Sem decorar comando, sem editar arquivo de configuração na mão.

Gratuito e open source Qualquer distro Linux
TunnelYard
—×

Seus túneis

3 perfis · 2 conectados

Novo perfil
HQ
Acme HQConectado · 12m 48s

vpn.acme.example:10443 · ana.souza

Desconectar
NX
Cliente NorthConectado · 04m 22s

ssl.north.example:443 · ana

Desconectar
ST
StagingDesconectado

vpn.staging.example:443 · deploy

Conectar
Console Roda sem root v3.0.9
Funciona com
LinuxFortiGate SSL VPN
Por que ele existe

Você só queria acessar a rede.
Não ficar de babá de terminal.

O openfortivpn funciona, mas pede sudo toda vez, deixa um terminal aberto para cada cliente e só te conta que a conexão caiu quando alguma coisa quebra. O TunnelYard faz o mesmo trabalho numa janela.

Antes
Terminal · bash

$ sudo openfortivpn -c cliente.conf

INFO: Connected to gateway.

INFO: Authenticated.

ERROR: pppd: The link was terminated.

$ sudo openfortivpn -c cliente.conf

_

  • sudo e senha a cada conexão
  • Um terminal aberto para cada cliente
  • Você só descobre a queda quando uma requisição falha
Com o TunnelYard
AC
Acme HQvpn.acme.example
Conectado
EntrarGateway aceitou
ConfigurarRotas e DNS
TrabalharTúnel pronto
StatusConectado
Tempo no ar12m 48s
Túneis2 conectados
  • Um clique para conectar
  • Vários túneis lado a lado
  • Aviso quando um cai, e reconexão automática
O que ele faz

Para quem vive
entre várias redes.

Um cliente ou vinte: todos os perfis ficam na mesma lista, conectam com um clique e avisam quando alguma coisa muda.

Vários túneis

Todos os clientes.
Ao mesmo tempo.

Cada perfil tem o próprio túnel. Conecte o trabalho, o lab e a VPN de um cliente juntos e veja o estado de cada um na mesma janela.

Perfis

Formulário. O mesmo .conf.

Crie, edite ou importe arquivos .conf do openfortivpn. Eles ficam em /etc/openfortivpn e funcionam mesmo sem o TunnelYard.

Notificações

Saiba quando conecta. E quando cai.

Notificações do sistema e um console ao vivo, para você nunca mais ficar olhando o terminal.

Bandeja do sistema

Feche a janela.
Os túneis continuam no ar.

Controle todas as conexões pela bandeja e, se quiser, abra o TunnelYard junto com o sistema.

Do seu jeito

Português ou inglês. Claro ou escuro.

Escolha o idioma e o tema, ou deixe o TunnelYard seguir o sistema.

Privilégio mínimo

A janela nunca roda como root.

O TunnelYard separa a interface do trabalho que precisa de privilégio. Só a etapa que sobe o túnel pede permissão de administrador, e quem pede é o seu sistema, pelo PolicyKit.

Ver como funciona no código
01
Você clica em Conectar

O app prepara só o perfil que você escolheu.

02
O sistema pede permissão

O PolicyKit pede a permissão e um helper pequeno inicia o openfortivpn.

03
O túnel roda sozinho

Cada túnel é um processo separado, então se um falhar os outros continuam no ar.

Notas de desempenho

Cada MiB,
anotado.

Uma medição numa máquina só, contada por inteiro, inclusive o que ela não prova.

Linux x64 · build de debug v2.6.0 · 08/09/2026
App com 2 túneis conectados
115,4MiB

Média de memória residenteRSS · 60 amostras, uma por segundo

Onde a memória fica

Interface
86,3 MiB 74,8%

A janela do TunnelYard (Rust e GPUI)

Processos da VPN
29,1 MiB 25,2%

Dois openfortivpn e dois pppd

Variação no minuto

0,25 MiB

A variação total nas 60 amostras. A memória ficou parada o tempo todo, então um gráfico seria só uma linha reta.

Os números vêm com contexto.
O método também.

Como medimos

Ubuntu 26.04.1 LTS, x86_64, build de desenvolvimento 2.6.0, medido em 08/09/2026: 60 leituras de VmRSS em /proc/PID/status, com um segundo de intervalo. Interface é a janela do app. Processos da VPN é a soma de dois openfortivpn e dois pppd.

Também medimos o app recém-aberto, sem túneis, em 241,9 MiB. Deixamos esse número fora da comparação de propósito: era outro processo, rodando por outro tempo, com outra tela aberta. A diferença entre os dois não diz nada sobre quanto custa conectar.

Somar valores de RSS pode contar memória compartilhada mais de uma vez. GPU, kernel, shells e serviços do desktop ficaram de fora. Nenhuma senha foi lida e as conexões que já existiam não foram tocadas. Outras máquinas e builds de release vão dar números diferentes.

Um comando

Cole no terminal.
Ele faz o resto.

O script vê o seu processador e o gerenciador de pacotes e instala o pacote certo do GitHub. Se o TunnelYard estiver aberto com túneis conectados, ele pergunta antes de desconectar e reabre o app no fim.

curl -fsSL https://tunnelyard.lucascavalheri.com.br/install.sh | bash

Precisa de root ou sudo. Funciona em x86_64 e ARM64 com apt, dnf, yum, zypper, pacman ou apk, e usa o arquivo portátil se não achar nenhum deles.

Versão 3.0.9

Escolha o seu Linux.

Escolha primeiro o processador, depois a distro. Pacote do processador errado não abre.

Seu processador

v3.0.9

Um pacote feito para o outro processador não roda nesta máquina.

Sua distro

Debian e Ubuntu · .deb

Fedora, RHEL e openSUSE · .rpm

Arch Linux · pacman

Alpine · apk

Gentoo, Void, NixOS · portátil

Escolha o processador e depois a distro.

O arquivo vem direto do GitHub.

Escolha processador e distro

Debian e Ubuntu usam .deb. Fedora, RHEL e openSUSE usam .rpm. Arch usa um pacote do pacman. Alpine usa .apk (precisa do gcompat). Gentoo, Void, NixOS e o resto usam o arquivo portátil.Ver todos os arquivos e instruções.