Nos últimos meses, o Proton VPN vem trabalhando nos protocolos Proton, uma nova base de código de protocolo VPN do lado do cliente. Conhecida internamente pelo codinome ProTUN, essa nova arquitetura de código é escrita em Rust. Embora tenhamos feito um fork do código de criptografia do projeto BoringTun(nova janela) da Cloudflare, a arquitetura totalmente reprojetada é da Proton.

Por que precisamos de um novo núcleo de VPN

WireGuard® é um protocolo VPN de última geração que é tão seguro quanto o OpenVPN, mas mais rápido e mais potente. É por isso que estamos começando a remover o suporte ao OpenVPN dos nossos aplicativos oficiais, para focar no WireGuard.

No entanto, atualmente nossos aplicativos usam a implementação oficial wireguard-go do WireGuard. E ela é uma ótima implementação, com um design elegantemente minimalista que a torna rápida, segura e mais fácil de auditar do que os protocolos VPN tradicionais.

No entanto, o wireguard-go não se integra bem com as linguagens que usamos nativamente para desenvolver o Proton VPN nas diversas plataformas que suportamos (como Kotlin no Android e Swift no iOS). Isso desacelera o desenvolvimento, complica a depuração e traz desafios de estabilidade.

Os protocolos Proton resolvem esses problemas.

Os protocolos Proton são um novo framework de VPN do lado do cliente baseado em WireGuard. Por ser escrito em Rust e projetado como um núcleo compartilhado e extensível, o ProTUN pode ser implantado de forma consistente em várias plataformas e adaptado a diferentes ambientes de rede. Isso nos permitirá diagnosticar problemas mais rapidamente, melhorar a estabilidade e criar funcionalidades avançadas diretamente na pilha de VPN.

O mais importante é que os protocolos Proton nos dão flexibilidade para responder rapidamente à censura e à interferência de rede, que é uma área onde esperamos obter os maiores ganhos a longo prazo.

Por trás dos panos

Criptografando o tráfego com um novo núcleo do WireGuard

No coração do projeto de protocolos Proton está a libpvpnclient, uma implementação limpa e autônoma do protocolo WireGuard escrita em Rust. Seu trabalho é simples, mas essencial: criptografar o seu tráfego de internet e manter a sua conexão segura.

O que difere do wireguard-go é a forma como ela é construída. Enquanto o wireguard-go é um cliente WireGuard simples, a libpvpnclient é um framework totalmente novo sobre o qual podemos desenvolver novos recursos e funcionalidades avançadas.

E em vez de estar fortemente vinculada a um sistema operacional específico, a libpvpnclient foi projetada como um núcleo puro e independente de plataforma. Isso nos permite reutilizar a mesma implementação de alta qualidade em qualquer lugar — no desktop, em dispositivos móveis e muito mais. Essa separação faz uma grande diferença nos bastidores. Ela nos permite:

  • Testar e depurar casos limítrofes complexos em ambientes controlados e reproduzíveis
  • Lançar melhorias de forma mais rápida e consistente em todas as plataformas
  • Experimentar novas técnicas para resistir à censura e ao bloqueio de tráfego

Para você, isso se traduz em atualizações mais rápidas, menos problemas específicos de plataforma e uma VPN que se adapta mais rapidamente à medida que as condições de rede e os métodos de censura mudam. O próprio ProTUN é o nosso nome para o wrapper em torno da libpvpnclient que adapta a biblioteca baseada em Rust para cada sistema operacional que suportamos.

Ele funciona lado a lado com o LocalAgent. Este é o nosso canal de controle interno que nos permite implementar a autenticação baseada em certificados, e que também acabamos de simplificar e reescrever em Rust.

Este novo núcleo de VPN está disponível para testes agora como um recurso beta (acesso antecipado) nas seguintes plataformas:

  • Windows
  • Android
  • iOS e iPadOS (trazendo suporte para o kill switch avançado)
  • Aplicativo de interface gráfica para Linux (trazendo suporte ao nosso protocolo Stealth resistente à censura)

Tornando mais fácil alcançar os servidores do Proton VPN

Também estamos trabalhando na fase dois dos protocolos Proton. Codinome muon, esta é uma camada de rede flexível que conecta com segurança nossos aplicativos à API de VPN da Proton, mesmo em situações onde a própria API da Proton está sendo censurada.

Antes que uma VPN possa proteger seu tráfego, ela precisa, primeiramente, se conectar com segurança à API da Proton. E isso está se tornando cada vez mais difícil. Em alguns países e redes, as conexões de API são bloqueadas ou monitoradas no nível de DNS ou identificadas pela inspeção dos nomes dos servidores (uma técnica conhecida como SNI snooping).

Para resolver isso, estamos desenvolvendo o muon, um novo gateway entre nossos aplicativos e a API da Proton. Também escrito em Rust para segurança e desempenho, o muon gerencia as primeiras solicitações de rede que seu aplicativo faz e, então, pode roteá-las com segurança para o protocolo WireGuard do Proton VPN (a longo prazo, essa funcionalidade substituirá nossa solução anticensura de roteamento alternativo(nova janela) existente).

Em termos práticos, isso significa que a partir do momento em que você abre o aplicativo Proton VPN em um país onde o acesso é comprovadamente censurado, sua comunicação com a API da Proton já estará protegida (mesmo antes que uma conexão VPN em nível de sistema seja totalmente estabelecida). And em países restritivos, o seu ISP nem saberá que você está se conectando às APIs da Proton.

Essa proteção será automática e invisível para você, o que significa que será mais provável conseguir uma conexão que funcione em países com censura. Na verdade, o muon é tão útil para combater a censura que vamos usá-lo em todos os aplicativos da Proton (não apenas na VPN), oferecendo proteção integrada contra censura em todo o nosso ecossistema desde o início. Nós o lançaremos em breve, então fique de olho.

Uma base sólida para o que vem a seguir

A libpvpnclient (com o wrapper dos protocolos Proton) e o muon formam juntos uma nova plataforma que dá aos nossos engenheiros muito mais flexibilidade. Isso nos permite experimentar com segurança melhorias na estabilidade da conexão, no uso da bateria e na resiliência, além de preparar o terreno para tecnologias futuras, como técnicas anticensura mais robustas e criptografia pós-quântica.

Vemos isso como um grande passo à frente para tornar a internet mais acessível, confiável e privada para todos. E este é apenas o começo. Estamos animados para ver aonde essa nova base levará o Proton VPN em 2026 e nos anos seguintes.

“WireGuard” é uma marca registrada(nova janela) de Jason A. Donenfeld.