Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
algo — Set up a personal VPN in the cloud | Kitploit
Ferramentas/GitHubGitHub/trailofbits/algo
Encryption/Decryption ToolsScripting & AutomationNetwork SecurityCloud SecurityPrivacy
GitHubtrailofbits/algo

algo

Set up a personal VPN in the cloud

Ver Repositório
30.4k2.4khá 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Algo VPN

Twitter

Algo VPN é um conjunto de scripts Ansible que simplificam a configuração de uma VPN WireGuard e IPsec pessoal. Utiliza os padrões mais seguros disponíveis e funciona com provedores de nuvem comuns.

Veja nosso anúncio de lançamento para mais informações.

Funcionalidades

  • Suporta apenas IKEv2 com criptografia forte (AES-GCM, SHA2 e P-256) para iOS, macOS e Linux
  • Suporta WireGuard para todos os acima, além de Android e Windows 11
  • Gera arquivos .conf e códigos QR para clientes WireGuard em iOS, macOS, Android e Windows
  • Gera perfis Apple para configurar automaticamente dispositivos iOS e macOS para IPsec - nenhum software cliente necessário
  • Inclui scripts auxiliares para adicionar, remover e gerenciar usuários
  • Bloqueia anúncios com um resolvedor DNS local (opcional)
  • Configura usuários SSH limitados para tunelamento de tráfego (opcional)
  • Focado em privacidade com logging mínimo, rotação automática de logs e melhorias de privacidade configuráveis
  • Baseado no Ubuntu 22.04 LTS com atualizações de segurança automáticas
  • Instala em DigitalOcean, Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, OpenStack, CloudStack, Hetzner Cloud, Linode, ou seu próprio servidor Ubuntu (para usuários avançados)

Anti-funcionalidades

  • Não suporta conjuntos de cifras ou protocolos legados como L2TP, IKEv1 ou RSA
  • Não instala Tor, OpenVPN ou outros servidores arriscados
  • Não depende da segurança do TLS
  • Não afirma fornecer anonimato ou evasão de censura
  • Não afirma protegê-lo do FSB, MSS, DGSE ou FSM

Implantar o Servidor Algo

A maneira mais fácil de ter um servidor Algo rodando é executá-lo em seu sistema local ou a partir do Google Cloud Shell e deixar que ele configure uma nova máquina virtual na nuvem para você.

  1. Configure uma conta em um provedor de hospedagem em nuvem. O Algo suporta DigitalOcean (mais amigável), Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, DreamCompute, Linode, outras hospedagens baseadas em OpenStack, hospedagens baseadas em CloudStack, ou Hetzner Cloud.

  2. Obtenha uma cópia do Algo. Os scripts do Algo serão executados a partir do seu sistema local. Existem duas maneiras de obter uma cópia:

    • Baixe o arquivo ZIP. Descompacte o arquivo para criar um diretório chamado algo-master contendo os scripts do Algo.

    • Use git clone para criar um diretório chamado algo contendo os scripts do Algo:

      root@kitploit:~
      git clone https://github.com/trailofbits/algo.git
      
  3. Defina suas opções de configuração. Abra config.cfg em seu editor de texto favorito. Especifique os usuários que deseja criar na lista users. Crie um usuário único para cada dispositivo que planeja conectar à sua VPN. Você também deve revisar as outras opções antes da implantação, pois mudar de ideia mais tarde .

É isso! Agora você pode configurar clientes para se conectar à sua VPN. Prossiga para Configurar os Clientes VPN abaixo.

root@kitploit:~
    "#                          Congratulations!                            #"
    "#                     Your Algo server is running.                     #"
    "#    Config files and certificates are in the ./configs/ directory.    #"
    "#              Go to https://whoer.net/ after connecting               #"
    "#        and ensure that all your traffic passes through the VPN.      #"
    "#                     Local DNS resolver 172.16.0.1                    #"
    "#        The p12 and SSH keys password for new users is XXXXXXXX       #"
    "#        The CA key password is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       #"
    "#      Shell access: ssh -F configs/<server_ip>/ssh_config <hostname>  #"

Configurar os Clientes VPN

Os certificados e arquivos de configuração que os usuários precisarão são colocados no diretório configs. Certifique-se de proteger esses arquivos, pois muitos contêm chaves privadas. Todos os arquivos são salvos em um subdiretório nomeado com o endereço IP do seu novo servidor Algo VPN.

Importante para usuários IPsec: Se quiser adicionar ou excluir usuários posteriormente, você deve selecionar yes no prompt Do you want to retain the keys (PKI)? durante a implantação do servidor. Isso preserva a autoridade certificadora necessária para o gerenciamento de usuários.

Apple

O WireGuard é usado para fornecer serviços VPN em dispositivos Apple. O Algo gera um arquivo de configuração WireGuard, wireguard/<username>.conf, e um código QR, wireguard/<username>.png, para cada usuário definido em config.cfg.

No iOS, instale o aplicativo WireGuard da App Store do iOS. Em seguida, use o aplicativo WireGuard para escanear o código QR ou enviar o arquivo de configuração via AirDrop para o dispositivo.

No macOS, instale o aplicativo WireGuard da Mac App Store. O WireGuard aparecerá na barra de menu assim que você executar o aplicativo. Clique no ícone do WireGuard, escolha Importar túnel(néis) do arquivo..., depois selecione o arquivo de configuração WireGuard apropriado.

No iOS ou macOS, você pode ativar "Conectar sob Demanda" e/ou excluir certas redes Wi-Fi confiáveis (como sua casa ou trabalho) editando a configuração do túnel no aplicativo WireGuard. (O Algo não pode fazer isso automaticamente por você.)

Se preferir usar a VPN IPsec integrada em dispositivos Apple, ou precisar de "Conectar sob Demanda" ou redes Wi-Fi excluídas configuradas automaticamente, consulte o guia de configuração do cliente Apple IPsec para instruções detalhadas de configuração.

Android

O WireGuard é usado para fornecer serviços VPN no Android. Instale o Cliente VPN WireGuard. Importe o arquivo wireguard/<name>.conf correspondente para seu dispositivo e, em seguida, configure uma nova conexão com ele. Consulte o guia de configuração do Android para instruções detalhadas de instalação e configuração.

Windows

O WireGuard é usado para fornecer serviços VPN no Windows. O Algo gera um arquivo de configuração WireGuard, wireguard/<username>.conf, para cada usuário definido em config.cfg.

Instale o Cliente VPN WireGuard. Importe o arquivo wireguard/<username>.conf gerado para seu dispositivo e, em seguida, configure uma nova conexão com ele. Consulte as instruções de configuração do Windows para um passo a passo mais detalhado e solução de problemas.

Linux

Clientes Linux podem usar WireGuard ou IPsec:

WireGuard: O WireGuard funciona muito bem com clientes Linux. Consulte o guia de configuração do Linux WireGuard para instruções passo a passo sobre como configurar o WireGuard no Ubuntu e outras distribuições.

IPsec: Para clientes IPsec strongSwan (incluindo OpenWrt, Ubuntu Server e outras distribuições), consulte o guia de configuração do Linux IPsec para instruções detalhadas de configuração.

OpenWrt

Para roteadores OpenWrt usando WireGuard, consulte o guia de configuração do OpenWrt WireGuard para instruções de configuração específicas do roteador.

Outros Dispositivos

Para dispositivos não cobertos acima ou configuração manual, você precisará de arquivos de certificado e configuração específicos. Os arquivos necessários dependem da plataforma do seu dispositivo e do protocolo VPN (WireGuard ou IPsec).

  • ipsec/manual/cacert.pem: Certificado CA
  • ipsec/manual/.p12: Certificado do Usuário e Chave Privada (no formato PKCS#12)
  • ipsec/manual/.conf: configuração do cliente strongSwan
  • ipsec/manual/.secrets: configuração do cliente strongSwan
  • ipsec/apple/.mobileconfig: Perfil Apple
  • wireguard/.conf: perfil de configuração WireGuard
  • wireguard/.png: código QR de configuração WireGuard

Configurar um Túnel SSH

Se você ativou a função opcional de tunelamento SSH, contas de usuário locais serão criadas para cada usuário em config.cfg, e arquivos de chave autorizada SSH para eles estarão no diretório configs (user.pem). As contas de usuário SSH não têm acesso ao shell, não podem autenticar com senha e têm apenas opções limitadas de tunelamento (por exemplo, ssh -N é obrigatório). Isso garante que os usuários SSH tenham o menor acesso necessário para configurar um túnel e não possam realizar outras ações no servidor Algo.

Use o comando de exemplo abaixo para iniciar um túnel SSH substituindo <user> e <ip> pelos seus próprios. Uma vez configurado o túnel, você pode configurar um navegador ou outra aplicação para usar 127.0.0.1:1080 como proxy SOCKS para rotear o tráfego através do servidor Algo:

root@kitploit:~
ssh -D 127.0.0.1:1080 -f -q -C -N <user>@algo -i configs/<ip>/ssh-tunnel/<user>.pem -F configs/<ip>/ssh_config

SSH no Servidor Algo

Seu servidor Algo está configurado para acesso SSH apenas com chave para fins administrativos. Abra o aplicativo Terminal, cd para o diretório algo-master onde você baixou originalmente o Algo e, em seguida, use o comando listado na mensagem de sucesso:

root@kitploit:~
ssh -F configs/<ip>/ssh_config <hostname>

onde <ip> é o endereço IP do seu servidor Algo. Se você acessar o servidor regularmente, será útil carregar sua chave SSH do Algo automaticamente. Adicione o seguinte trecho ao final de ~/.bash_profile para adicioná-la permanentemente ao seu ambiente de shell:

root@kitploit:~
ssh-add ~/.ssh/algo > /dev/null 2>&1

Alternativamente, você pode optar por incluir a configuração gerada para quaisquer servidores Algo criados em sua configuração SSH. Edite o arquivo ~/.ssh/config para incluir esta diretiva no topo:

root@kitploit:~
Include <algodirectory>/configs/*/ssh_config

onde <algodirectory> é o diretório onde você clonou o Algo.

Adicionar ou Remover Usuários

O Algo facilita adicionar ou remover usuários do seu servidor VPN após a implantação inicial.

Para usuários IPsec: Você deve ter selecionado yes no prompt Do you want to retain the keys (PKI)? durante a implantação inicial do servidor. Isso preserva a autoridade certificadora necessária para o gerenciamento de usuários. Você também deve salvar as senhas da chave p12 e CA exibidas durante a implantação, pois elas são mostradas apenas uma vez.

Para adicionar ou remover usuários, primeiro edite a lista users no seu arquivo config.cfg. Adicione novos nomes de usuário ou remova os existentes conforme necessário. Em seguida, navegue até o diretório algo no seu terminal e execute:

macOS/Linux:

root@kitploit:~
./algo update-users

Windows:

root@kitploit:~
.\algo.ps1 update-users

Após a conclusão do processo, novos arquivos de configuração serão gerados no diretório configs para quaisquer novos usuários. O servidor VPN Algo será atualizado para conter apenas os usuários listados no arquivo config.cfg. Usuários removidos não poderão mais se conectar, e novos usuários terão certificados e arquivos de configuração novos prontos para uso.

Privacidade e Logging

O Algo adota uma abordagem pragmática em relação à privacidade. Por padrão, minimizamos o logging enquanto mantemos informações suficientes para segurança e solução de problemas.

O que É registrado por padrão:

  • Eventos de segurança do sistema (tentativas de SSH falhas, bloqueios de firewall, atualizações do sistema)
  • Mensagens do kernel e diagnósticos de inicialização (com verbosidade reduzida)
  • Estado do cliente WireGuard (visível via sudo wg - mostra último endpoint e tempo de handshake)
  • Status básico do serviço (inícios/paradas/erros do serviço)
  • Todos os logs são rotacionados automaticamente e excluídos após 7 dias

A privacidade é controlada por duas configurações principais em config.cfg:

  • strongswan_log_level: -1 - Controla o logging de conexão do StrongSwan (-1 = desabilitado, 2 = debug)
  • privacy_enhancements_enabled: true - Chave mestre para rotação de logs, limpeza de histórico, filtragem de logs e limpeza

Para ativar a depuração completa ao solucionar problemas, defina tanto strongswan_log_level: 2 quanto privacy_enhancements_enabled: false. Isso capturará logs detalhados de conexão e desabilitará todos os recursos de privacidade. Lembre-se de reverter essas alterações após a depuração.

Após a implantação, verifique suas configurações de privacidade:

root@kitploit:~
ssh -F configs/<server_ip>/ssh_config <hostname>
sudo /usr/local/bin/privacy-monitor.sh

A privacidade perfeita é impossível com qualquer solução VPN. Seu provedor de nuvem vê e registra metadados de tráfego de rede independentemente da configuração do servidor. E, claro, sua ISP sabe que você está se conectando a um servidor VPN, mesmo que não possa ver o que você está fazendo através dele.

Para o mais alto nível de privacidade, trate seus servidores Algo como descartáveis. Inicie uma nova instância quando precisar, use-a para seu propósito específico e, em seguida, destrua-a completamente. A natureza efêmera da infraestrutura em nuvem pode ser um recurso de privacidade se você a usar intencionalmente.

Documentação Adicional

  • FAQ
  • Solução de Problemas
  • Como o Algo usa Firewalls

Instruções de Configuração para Provedores de Nuvem Específicos

  • Configurar Amazon EC2
  • Configurar Azure
  • Configurar DigitalOcean
  • Configurar Google Cloud Platform
  • Configurar Vultr
  • Configurar CloudStack
  • Configurar Hetzner Cloud

Instalar e Implantar a partir de Plataformas Comuns

  • Implantar a partir do macOS
  • Implantar a partir do Windows
  • Implantar a partir do Google Cloud Shell
  • Implantar a partir de um contêiner Docker

Configurar Clientes VPN para Conectar ao Servidor

  • Configurar clientes Windows
  • Configurar clientes Android
  • Configurar clientes Linux com Ansible
  • Configurar clientes Ubuntu para usar WireGuard
  • Configurar clientes Linux para usar IPsec
  • Configurar dispositivos Apple para usar IPsec
  • Configurar Macs rodando macOS 10.13 ou mais antigo para usar WireGuard

Implantação Avançada

  • Implantar em seu próprio servidor Ubuntu e configuração road warrior
  • Implantar a partir do Ansible de forma não interativa
  • Implantar em um servidor em nuvem no momento da criação com script shell ou cloud-init
  • Implantar em um provedor de nuvem não suportado

Se você leu toda a documentação e ainda tem dúvidas, crie uma nova discussão.

Endossos

Estou reclamando sobre o estado lastimável dos serviços VPN há tanto tempo, que já é hora de dar uma palestra adequada sobre o assunto. Resumo: use Algo.

-- Kenn White

Antes de escolher um provedor/aplicativo VPN, certifique-se de fazer algumas pesquisas https://research.csiro.au/ng/wp-content/uploads/sites/106/2016/08/paper-1.pdf ... – ou considere Algo

-- The Register

Algo é realmente fácil e seguro.

-- the grugq

Brinquei com o Algo VPN, um conjunto de scripts que permite configurar uma VPN na nuvem em muito pouco tempo, mesmo que você não saiba muito sobre desenvolvimento. Devo dizer que fiquei bastante impressionado com a abordagem da Trail of Bits.

-- Romain Dillet para TechCrunch

Se você não se sente confortável em pagar para um provedor VPN anônimo e aleatório, esta é a melhor solução.

-- Thorin Klosowski para Lifehacker

Contribuindo

Consulte nosso Guia de Desenvolvimento para informações sobre:

  • Configuração do seu ambiente de desenvolvimento
  • Uso de pre-commit hooks para qualidade de código
  • Execução de testes e linters
  • Contribuição de código via pull requests

Apoie o Algo VPN

PayPal Patreon

Todas as doações apoiam o desenvolvimento contínuo. Obrigado!

  • Aceitamos doações via PayPal e Patreon.
  • Use nosso código de referência ao se inscrever no Digital Ocean para obter um crédito de $10.
  • Também aceitamos e apreciamos contribuições de novo código e correções de bugs via Pull Requests no Github.

O Algo é licenciado e distribuído sob a AGPLv3. Se você deseja distribuir uma modificação ou serviço de código fechado baseado no Algo, por favor considere comprar uma exceção. Assim como os métodos acima, isso ajudará a apoiar o desenvolvimento contínuo.

Baixar ferramenta
pode exigir a implantação de um novo servidor
  • Inicie a implantação. Volte ao seu terminal. No diretório do Algo, execute o script apropriado para sua plataforma:

    macOS/Linux:

    root@kitploit:~
    ./algo
    

    Windows:

    root@kitploit:~
    .\algo.ps1
    

    Na primeira vez que executar o script, ele instalará automaticamente o ambiente Python necessário (Python 3.11+). Nas execuções subsequentes, inicia imediatamente e funciona em todas as plataformas (macOS, Linux, Windows via WSL). O script PowerShell do Windows usa automaticamente o WSL quando necessário, já que o Ansible requer um ambiente Unix-like. Existem vários recursos opcionais disponíveis, nenhum dos quais é necessário para um servidor VPN totalmente funcional. Esses recursos opcionais são descritos na documentação de implantação.