207 lines
11 KiB
Markdown
207 lines
11 KiB
Markdown
# Como eludir la censura de Venezuela en contra de Whatsapp, Signal o Twitter
|
|
|
|
Como ya muchos sabrán, Maduro ha ejercido una regla la cual es bloquear WhatsApp, Signal y Twitter (X.com) de Venezuela. No sé realmente cuál es el método que Venezuela emplea para bloquear servicios, pero de seguro es uno de estos dos métodos:
|
|
|
|
- Bloquear por DNS
|
|
- Bloquear usando DPI (Deep Packet Inspection o Inspección Profunda de Paquetes)
|
|
(Hay más métodos, como el bloqueo por dirección IP, pero se usa muy poco por lo que tengo entendido)
|
|
|
|
No entraré en detalles sobre esos dos métodos, pero los explicaré de manera breve para que tengan una idea:
|
|
|
|
## Que es DNS (en palabras simples)
|
|
Es el bloqueo más común, pero también el más simple de eludir.
|
|
Cada página web a la que accedes tiene una dirección IP, como por ejemplo: `199.195.254.68`. Lo que hace el DNS es básicamente ponerle un nombre (llamado "**dominio**" de forma técnica) a esa dirección IP haciendo que no tengas que recordar números, si no, nombres (porque obviamente son mucho más fácil de recordar). Así que cuando entras a `google.com`, por detrás de ese dominio, está su dirección IP.
|
|
|
|
Si no lo entendiste, el mejor ejemplo es tu lista de contactos. Todos tus contactos tienen un **número de teléfono** y **nombre del contacto**. El número de teléfono sería la dirección IP y el nombre del contacto sería el dominio
|
|
|
|
## Que es la Inspección Profunda de Paquetes
|
|
Los “paquetes” son la forma en la cual el servidor (Un servicio o página web) se comunican con el cliente (tu computadora, celular o cualquier dispositivo que se conecte a internet) o viceversa. Todo lo que se transmite en internet son “paquetes”.
|
|
Lo que hace la inspección profunda de paquetes es inspeccionar los paquetes que se intercambian entre el servidor y el cliente para poder detectar y bloquear lo que haya dentro de ese paquete.
|
|
|
|
Es como un detector de metales, si el paquete contiene algo peligroso o no deseado, no llegará a su destino (en este caso el cliente).
|
|
|
|
---
|
|
|
|
Ahora que he explicado eso enseñaré formas eludir estos dos métodos de censura que el gobierno de Venezuela puede o no usar:
|
|
|
|
- [Usando DNS Encriptado](#usando-dns-encriptado-gratis)
|
|
- [Usando TOR](#usando-tor-gratis-y-fcil)
|
|
- [Usando VPN](#usando-vpn-de-pago)
|
|
|
|
## Usando DNS encriptado (gratis)
|
|
La información de la mayoría de las páginas a las que entras está encriptada, cuando entras a una página, te darás cuenta que tiene `https://` como prefijo; esto indica que la conexión está encriptada entre ti y la página o servicio al cual te estás conectando.
|
|
Este no es el caso con DNS, la mayoría (y yo diría que el 99%) de las conexiones DNS no están encriptadas. Esto hace que tu proveedor de internet o compañía pueda bloquear páginas web fácilmente. Para solucionar esto, puedes usar DNS encriptado, la mayoría de los celulares Android lo soportan, Windows 10 y Linux. No tengo idea si los iPhone lo soporta así que tendrán que buscar por ustedes mismos.
|
|
|
|
Nota: Este metodo puede no funcionar si tu gobierno emplea DPI. Dependera de que tan sofisticado
|
|
|
|
### Verificación Previa (IMPORTANTE)
|
|
Testea que DNS estás usando ahora mismo usando [dnsleaktest](https://www.dnsleaktest.com/), dale click a "Standard Test". Te saldrá una lista de servidores DNS, los cuales lo más probable sean los que tu proveedor de internet controla:
|
|
|
|
![aa0fcf30fbbdd8538b815316bd77842e.png](../images/aa0fcf30fbbdd8538b815316bd77842e.png)
|
|
|
|
### Android
|
|
Anda a los ajustes de tu celular, apartado de **Conexiones** > **Más ajustes de conexión** > **DNS Privado** > **Nombre de host de proveedor de DNS privado** (O la opción que te deje escribir)
|
|
|
|
Ahí puedes ingresar cualquier DNS privado que quieras usar. Dejaré una lista para que elijas el que quieras:
|
|
|
|
- `p0.freedns.controld.com`
|
|
- `dns.adguard-dns.com`
|
|
- `dns.nextdns.io`
|
|
- `dns.mullvad.net`
|
|
|
|
Ahora verifica que estés usando el DNS privado que ingresaste usando [dnsleaktest](https://www.dnsleaktest.com/) y dándole click a "Standard Test". Deberías darte cuenta que es diferente a el test de la [verificación previa](#verificación-previa):
|
|
|
|
![ea4b1949ab4dd5919af45efebdbfc6ed.png](../images/ea4b1949ab4dd5919af45efebdbfc6ed.png)
|
|
|
|
Si es así, ya quedo listo. Intenta usar Whatsapp, Twitter, o una página web censurada.
|
|
|
|
### Windows
|
|
(POR COMPLETAR)
|
|
|
|
### Linux
|
|
|
|
#### Verificación previa
|
|
Revisa lo que hay dentro del archivo `/etc/resolv.conf` usando tu editor de texto de preferencia.
|
|
Si el archivo contiene `generated by networkmanager` salta a []()[Sin systemd-resolved](#sin-systemd-resolved).
|
|
Si el archivo contiene `# This file belongs to man:systemd-resolved(8). Do not edit.` salta a [systemd-resolved](#systemd-resolved)
|
|
|
|
#### systemd-resolved
|
|
Crea el archivo `/etc/systemd/resolved.conf.d/dns_over_tls.conf` con este contenido:
|
|
|
|
```toml
|
|
[Resolve]
|
|
DNS=76.76.2.0#p0.freedns.controld.com
|
|
DNSOverTLS=yes
|
|
```
|
|
|
|
Ahí puedes ingresar cualquier DNS privado que quieras usar. Dejaré una lista para que elijas el que quieras (Reemplazando `76.76.2.0#p0.freedns.controld.com` por el cual tu quieras usar):
|
|
|
|
- `76.76.2.0#p0.freedns.controld.com`
|
|
- `94.140.14.14#dns.adguard-dns.com`
|
|
- `45.90.28.88#dns.nextdns.io`
|
|
- `194.242.2.2#dns.mullvad.net`
|
|
|
|
Guarda el archivo y reinicia `systemd-resolved` usando `systemctl restart systemd-resolved`
|
|
|
|
Ahora verifica que estés usando el DNS privado que ingresaste usando [dnsleaktest](https://www.dnsleaktest.com/) y dándole click a "Standard Test". Deberías darte cuenta que es diferente a el test de la [verificación previa](#verificación-previa):
|
|
|
|
![ea4b1949ab4dd5919af45efebdbfc6ed.png](../images/ea4b1949ab4dd5919af45efebdbfc6ed.png)
|
|
|
|
Si es así, ya quedo listo. Intenta usar Whatsapp, Twitter, o una página web censurada.
|
|
|
|
#### Sin systemd-resolved
|
|
1. Instala [dnsproxy](https://github.com/AdguardTeam/dnsproxy) descargando https://github.com/AdguardTeam/dnsproxy/releases/download/v0.72.3/dnsproxy-linux-amd64-v0.72.3.tar.gz
|
|
2. Descomprímelo y ábrelo
|
|
3. Copia el programa `dnsproxy` a `/usr/bin/dnsproxy` usando `sudo cp dnsproxy /usr/bin/dnsproxy`
|
|
4. Crea la carpeta de configuración de dnsproxy usando `sudo mkdir /etc/dnsproxy`
|
|
5. Crea el archivo `/etc/dnsproxy/dnsproxy.yaml` con este contenido:
|
|
|
|
```yaml
|
|
# Any command-line options specified will override the values from the
|
|
# config file
|
|
|
|
---
|
|
## Required
|
|
upstream: # At least one upstream is required
|
|
- quic://p0.freedns.controld.com
|
|
- quic://dns.nextdns.io
|
|
|
|
bootstrap:
|
|
- "tls://1.1.1.1:853"
|
|
|
|
tls-min-version: 1.2
|
|
http3: true
|
|
ipv6-disabled: true
|
|
fastest-addr: true
|
|
cache: true
|
|
cache-optimistic: true
|
|
verbose: false
|
|
|
|
listen-addrs:
|
|
- 127.0.0.1
|
|
```
|
|
|
|
6. Crea el archivo `/etc/systemd/system/dnsproxy.service` con este contenido:
|
|
|
|
```toml
|
|
[Unit]
|
|
Description=Simple DNS proxy with DoH, DoT, and DNSCrypt support
|
|
Documentation=https://github.com/AdguardTeam/dnsproxy#readme
|
|
After=network.target
|
|
Before=network-online.target
|
|
|
|
[Service]
|
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
|
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
|
DynamicUser=yes
|
|
ExecStart=/usr/bin/dnsproxy --config-path=/etc/dnsproxy/dnsproxy.yaml
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
```
|
|
|
|
7. Crea el archivo `/etc/NetworkManager/conf.d/dns.conf` con este contenido:
|
|
|
|
```toml
|
|
[main]
|
|
dns=none
|
|
```
|
|
|
|
8. Reinicia NetworkManager usando `systemctl restart NetworkManager.service`
|
|
9. Modifica el archivo `/etc/resolv.conf` con este contenido:
|
|
```
|
|
nameserver 127.0.0.1
|
|
```
|
|
(`nameserver 127.0.0.1` Tiene que estar de los primeros, si hay otra linea que contenga `nameserver` puedes comentarla usando `#` como prefijo)
|
|
|
|
Ahora verifica que estés usando el DNS privado que ingresaste usando [dnsleaktest](https://www.dnsleaktest.com/) y dándole click a "Standard Test". Deberías darte cuenta que es diferente a el test de la [verificación previa](#verificación-previa):
|
|
|
|
![ea4b1949ab4dd5919af45efebdbfc6ed.png](../images/ea4b1949ab4dd5919af45efebdbfc6ed.png)
|
|
|
|
Si es así, ya quedo listo. Intenta usar Whatsapp, Twitter, o una pagina web censurada.
|
|
|
|
_Si usas Arch Linux, puedes instalar un paquete que esta mantenido por mi usando `yay -S dnsproxy-git`._
|
|
|
|
## Usando Tor (gratis y fácil)
|
|
Tor es la mejor de las mejores maneras para evitar la censura ejercida por los proveedores de internet y gobiernos. La velocidad claramente es lenta pero te asegura privacidad y seguridad (siempre y cuando postees y uses servicios de forma anónima o con poca información personal). Te permitirá usar Whatsapp y Twitter sin problemas pero no esperes poder usar Youtube o TikTok de forma fluida.
|
|
**Nota: La red de Tor esta alojada por voluntarios, personas normales como tu y yo. No abuses de la red y utilizalo solo para cosas esenciales como la comunicación entre amigos y familiares. No para entretención (Juegos, TikTok, Reels, etc)**
|
|
|
|
### Android
|
|
Descarga [Orbot](https://orbot.app/es/), lo abres y le das a Iniciar VPN. Puedes elegir las aplicaciones que quieres que pasen por la red de Tor. Para hacerle la vida más difícil a los proveedores de internet y al gobierno, yo recomendaría elegir Whatsapp, Twitter, y tu navegador de Internet favorito.
|
|
|
|
### Windows
|
|
(POR COMPLETAR)
|
|
|
|
### Linux
|
|
Instala Tor y el navegador de Tor en tu distribución:
|
|
|
|
- Ubuntu/Debian: `sudo apt install tor torbrowser-launcher`
|
|
- Arch Linux: `sudo pacman -S tor torbrowser-launcher`
|
|
- Fedora: `sudo dnf install tor torbrowser-launcher`
|
|
- OpenSuse `sudo zypper install tor torbrowser-launcher`
|
|
|
|
Ahora puedes usar tanto el Navegador de Tor para navegar e iniciar sesión en Whatsapp o Twitter.
|
|
|
|
_Nota: Hay otros métodos que sirven para poder usar Tor con programas que no sean solo el navegador, pero no quiero complicar la guía aún más_
|
|
|
|
## Usando VPN (de pago)
|
|
El clásico VPN, es una de las mejores formas para evitar la censura porque redirige todo tu tráfico de internet a los servidores de la VPN que te conectas. No existe una aplicación y servicio específico para VPN pero si puedo recomendar algunos proveedores:
|
|
|
|
- [Mullvad](https://mullvad.net/es)
|
|
- [IVPN](https://www.ivpn.net/en)
|
|
|
|
No requieren que te registres usando un Correo electrónico ni Contraseña, pero aun así debes pagar mensualmente usando criptomonedas o tarjetas de crédito. No le compartas la ID de tu cuenta a que no sea de confianza.
|
|
|
|
### Y que tal las VPNs gratis?
|
|
**Son mierda**, lentos como Tor, 0% confiables, funcionan horribles, nadie ha verificado su seguridad y lo más probable es que ganen dinero utilizando los datos que consiguen sobre tu tráfico en internet. Usa Tor si quieres algo gratis.
|
|
|
|
---
|
|
|
|
Bueno es lo que tengo que decir por ahora. Actualizaré la guía cuando tenga más tiempo.
|
|
TODO:
|
|
- Agregar plataformas alternativas casi imposibles de censurar (Matrix o XMPP como reemplazo a Whatsapp; usando Mastodon como reemplazo a Twitter)
|
|
- Signal tiene metodos para evitar la censura dentro de la app, usando un proxy existente de signal en un servidor cualquiera.
|
|
|
|
---
|
|
|
|
![View Count](https://count.ayaya.beauty/get/@venzuelacensorshitgitnadekonet?theme=asoul)
|