Jan 17, 2024

Como fazer sua própria VPN 100% privada [Guia Detalhado]

Um guia detalhado de como fazer sua própria VPN de forma privada e barata.

Se você reside no Brasil, certamente percebe os avanços de medidas autoritárias e ditatoriais. Diante desse cenário, torna-se cada vez mais crucial o emprego de ferramentas que assegurem a privacidade e a anonimização. Aqui, no NOSTR (onde originalmente publico este artigo), já temos integração nativa com o TOR, a principal forma de anonimato digital atualmente. Entretanto, em outros serviços, esse privilégio não está disponível. Neste contexto, vou orientar você sobre como criar sua própria VPN totalmente privada por menos de 8000 sats, ou 3,70 dólares.

Vantagens

Privacidade

Com este método, você não depende de nenhum provedor de VPN, ou seja, bem mais privado, além de 0 KYC.

Preço

Este foi o jeito mais barato que eu achei de fazer uma VPN, você até consegue encontrar VPNs mais baratas que essa, porém elas exigem KYC, ou não aceitam pagamento o cripto, oque nós buscamos aqui.

Anonimidade

Por estarmos fazendo nossa própria VPN, não dividimos o IP com outras milhares de pessoas, isso faz com que os sites não detectem que estamos usando VPN e conseguimos navegar livres de captchas e avisos.

Flexibilidade

Para esta VPN usaremos uma VPS, então não ficaremos presos só a VPN, existem milhões de serviços que podemos colocar junto, desde gerenciador de senhas á um gerenciador de mídia.

Desvantagens

Ip fixo

Como já mencionado, utilizaremos uma VPS, por isso diferente das VPNs tradicionais, só teremos acesso a um ip fixo infelizmente.

Localização

Pelo menos motivo também não conseguimos alterar a localização da VPN.

Pré-requisitos

  • Carteira Lightning (Custodial ou não)

1 - Escolhendo a VPS

Vamos começar escolhendo a VPS, você pode utilizar qualquer uma, mas nosso objetivo aqui é tentar ser o mais barato e privado possível, existe uma lista no site KYCnot.me sinta-se a vontade para fazer suas pesquisas. A que eu achei com melhor preço e privacidade foi a Cryptohost, ela não exige KYC, aceita Lightning e tem planos apartir de 3,70 dólares, que é oque utilizaremos nesse guia.

2 - Criando a Máquina

Primeiro vamos entrar no site e clicar na seção de VPS:

VPS

Depois iremos na única opção disponível, onde customizaremos nossa máquina:

seção

Aqui você escolhe a frequência de pagamentos, isso é pessoal, mas recomendo na primeira vez deixar mensal para caso você tenha algum problema. Lembrando que como o pagamento é via BTC, NÃO tem reembolso, então fique ligado.

payment_cycle

Em Hostname você escolhe um nome para a máquina, não precisa necessáriamente ser um domínio seu. E em Root Password coloque uma senha forte.

Hostname

Na seção Configurable Options vamos mudar o Operating System para Ubuntu 20.04 e podemos deixar o resto das configurações padrão, porém, caso você tenha interesse em futuramente colocar outros serviços rodando na VPS também, é interessante você aumentar o espaço em disco e RAM, mas se quiser somente fazer a VPN estas configurações servirão tranquilamente.

configurable_options

Agora vamos para o Checkout e faremos o pagamento:

checkout

Nesse área ele pede para preenchermos com dados, porém vamos colocar qualquer coisa. ATENÇÃO - Utilize um email real que você tenha acesso, ele será utilizado para fazer login na sua conta, além de colocar uma senha forte também.

personal

Agora é só fazer o pagamento via BTCpay com Lightining⚡ e pronto.

3 - Logando na Máquina

Vá em Services depois My services:

services

E escolha sua máquina:

máquina

Este é o IP da sua máquina, guarde-o, usaremos para fazer login nela

IP

Agora vá em Additional Information:

Additional Information

Essa é a senha root da máquina, também utilizaremos para fazer login IMPORTANTE - NÃO compartilhe essa senha com ninguém, qualquer um como ela pode ter acesso a sua VPS.

Password

Agora vamos logar na nossa máquina usando SSH, no Windows usaremos o Powershell, pois tem a ferramenta SSH do linux. No linux vamos usar o terminal normalmente.

Vamos nos conectar com esse comando:

user@host:~$ ssh root@ip

Em IP você coloca o IP Público que pegamos agora pouco, ficando assim:

user@host:~$ ssh root@192.168.1.1

Ele irá perguntar a senha, então você cola a rootpassword que acabamos de pegar também.

E pronto, agora você está conectado na máquina!

AVISO - Este método que utilizamos usando senha é pouco seguro e não é recomendado para se conectar, O ideal é você utilizar chaves SSH, e desabilitar o login com root e senha, porém para o tutorial não ficar muito longo não irei ensinar aqui, existem vários tutoriais no youtube sobre isso, mas se quiserem posso ensinar depois também.

4 - Instalando a VPN

Antes de instalarmos, vamos atualizar o sistema.

root@seudomino.com:~$ apt update && apt upgrade

Ele irá mostrar algo assim:

root@seudomino.com:~$ apt update && apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  binutils binutils-common binutils-x86-64-linux-gnu containerd.io libbinutils
  libctf-nobfd0 libctf0 tzdata
8 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 32.2 MB of archives.
After this operation, 33.8 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

Digite Y para atualizar

Agora vamos instalar a VPN que vamos utilizar, usaremos o Wireguard, um protocolo open-source de VPN, também poderiamos utilizar o OpenVPN, porém o Wireguard é mais moderno e seguro. Para isso, vamos usar um projeto do Github que automatiza a instalação, facilitando nossa vida.

Só precisamos executar esses comandos, só colar no seu terminal e deixar a mágica acontecer:

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
./wireguard-install.sh

Ele perguntará alguns dados, a maioria é coletada de forma automática, então só ir dando enter:

root@seudomino.com:~$ curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
./wireguard-install.sh
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 18422  100 18422    0     0  13720      0  0:00:01  0:00:01 --:--:-- 13717
Welcome to the WireGuard installer!
The git repository is available at: https://github.com/angristan/wireguard-install

I need to ask you a few questions before starting the setup.
You can keep the default options and just press enter if you are ok with them.

IPv4 or IPv6 public address: 192.168.1.1
Public interface: enp1s0
WireGuard interface name: wg0
Server WireGuard IPv4: 10.66.66.1
Server WireGuard IPv6: fd10:10:10::1

Aqui é importante prestar atenção, ele perguntará qual porta queremos usar para a VPN, você pode alterar, porém recomendo deixar a padrão que ele escolher, por enquanto só anote ela e continue dando enter:

Server WireGuard port [1-65535]: 58474

Agora ele vai avisar que já tem tudo para fazer a instalação, só dê enter para confirmar:

Okay, that was all I needed. We are ready to setup your WireGuard server now.
You will be able to generate a client at the end of the installation.
Press any key to continue...

Ele vai pedir o nome para o primeiro client, coloque oque você quiser, Ex: Pc_1, Celular_mae, etc:

The client name must consist of alphanumeric character(s). It may also include underscores or dashes and can't exceed 15 chars.
Client name: Celular_tia

Novamente ele vai perguntar os IPs, só dar enter:

Client WireGuard IPv4: 10.66.66.2
Client WireGuard IPv6: fd10:10:10::2

Pronto, agora ele irá mostrar um QRcode com o arquivo de configuração do cliente:

Here is your client config file as a QR Code:

█▀▀▀▀▀█ █  ▄▄██▀▄ █▀▀▀▀▀█  
█ ███ █ ██▄ █▄▄▀▄ █ ███ █  
█ ▀▀▀ █ ▄██ ▀█▀▀█ █ ▀▀▀ █  
▀▀▀▀▀▀▀ ▀ █▄▀ █▄▀ ▀▀▀▀▀▀▀  
█▀ ▄█▀▀▄  ▀ ▀▄ ▄▄  █▄██▀▀  
 ▄█▄ █▀█▄█▀ ▄▀▄█ █ █  █ ▄  
█▀▄▄▀▀▀█ ▄▄▀█▄▄▄█▀▀ ▄ █▀   
  ██▄▀▀ ▄▄███▀▄█▄▄ ▀▀▄█ ▄  
▀▀▀ ▀▀▀ █▄▀▄ ▄▄▄█▀▀▀█ ▀ █  
█▀▀▀▀▀█ ▄▀▀▀█ ▄ █ ▀ █▀█▄▄  
█ ███ █ ▀ ▀█▀ ▄ ▀███▀▄█▄▄  
█ ▀▀▀ █ ▄████▀▀█▀▀▀▀ ▄▄█   
▀▀▀▀▀▀▀ ▀   ▀    ▀▀▀▀ ▀▀▀

Your client config file is in /home/yourdomain/wg0-client-Celular_tia.conf
If you want to add more clients, you simply need to run this script another time!

WireGuard is running.
You can check the status of WireGuard with: systemctl status wg-quick@wg0


If you don't have internet connectivity from your client, try to reboot the server.

Vamos nos conectar agora:

Android

No android você pode usar o aplicativo Wireguard disponível na Play Store:

Wireguard

Agora vamos abrir-lo e clicar no + para adicionar uma nova conexão:

+

Escolha QRcode e escaneie o código exibido anteriormente:

Qrcode

Agora é só habilitar a VPN e pronto, você está protegido no seu celular!

Windows

No Windows precisamos pegar o arquivo de configuração primeiro, para isso podemos escanear o QRcode de antes usando o celular e mandar o texto para o PC.

Agora pegue esse texto e coloque num arquivo do bloco de notas, o texto deve ficar mais ou menos assim:

[Interface]
PrivateKey = TvRFQXntycsHoipJsMKyks3KbKiEK5Fn0xSc35B5hIp=
Address = 10.66.66.2/32,fd10:10:10::2/128
DNS = 1.1.1.1,1.0.0.1

[Peer]
PublicKey = G/qd2Taz8/kVC9BqM868fNNXD8UjUKL5FOAiwPzv1ZX=
PresharedKey = yy5mA1NPqeq08rp1DOr2wIj6DyDTHebgxHDw9S16p4Y=
Endpoint = 192.168.1.1:58474
AllowedIPs = 0.0.0.0/0,::/0

Agora é só salvar esse arquivo com o final .wg0.conf, ficando assim:

vpn.wg0.conf

Caso você não tenha um celular a disposição, basta você printar o QRcode, e usar algum site que leia para você. No exemplo estou utilizando o 4qrcode, mas serve qualquer um

Scanner

Agora só precisamos baixar o Wireguard neste site, nessa área aqui:

Windows

E importar o arquivo que acabamos de criar:

Agora é só habilitar a VPN e pronto, você está protegido no seu pc!

Espero que esse Guia seja útil para você e te ajude de alguma forma, se tiver alguma pode me contatar no Nostr ou SimpleX

SimpleX

https://simplex.chat/contact#/?v=1-4&smp=smp%3A%2F%2FUkMFNAXLXeAAe0beCa4w6X_zp18PwxSaSjY17BKUGXQ%3D%40smp12.simplex.im%2F_iONnIjArXTqQp2HkqAq32e5jQHxavl9%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEACmF-CGd7yD42bBdXZtAKU5b-Tjnb-iQPWyyYrjUfbTc%253D%26srv%3Die42b5weq7zdkghocs3mgxdjeuycheeqqmksntj57rmejagmg4eor5yd.onion