22 puntos por xguru 2024-03-10 | 4 comentarios | Compartir por WhatsApp
  • OpenGFW es un proyecto de código abierto para Linux que permite a los usuarios crear su propia versión del Gran Cortafuegos de China (Great Firewall of China)
  • "Ya no hace falta que solo quienes tienen poder se diviertan; es momento de hacer que la censura sea accesible para cualquiera y así dar poder a la gente"
  • Puedes empezar a filtrar en el router de tu casa como un experto y jugar a ser Big Brother
  • Precaución: este proyecto todavía está en una etapa temprana de desarrollo y debe usarse bajo la responsabilidad del usuario

Funciones

  • Reensamblado completo de IP/TCP, varios analizadores de protocolos (HTTP, TLS, QUIC, DNS, SSH, SOCKS4/5, WireGuard, etc.)
  • Detección de "tráfico completamente cifrado" como Shadowsocks
  • Detección de Trojan (protocolo proxy) basada en Trojan-killer
  • [En progreso] Clasificación de tráfico basada en aprendizaje automático
  • Soporte completo para IPv4 e IPv6
  • Balanceo de carga multinúcleo basado en flujos
  • Offloading de conexiones
  • Potente motor de reglas basado en expr
  • Reglas con hot reload (recarga mediante la señal SIGHUP)
  • Framework flexible de analizadores y modificadores
  • Implementación de IO extensible (solo compatible con NFQueue)
  • [En progreso] Interfaz web

Casos de uso

  • Bloqueo de anuncios
  • Control parental
  • Protección contra malware
  • Prevención del abuso de servicios VPN/proxy
  • Análisis de tráfico (modo solo registro)
  • Ayudarte a cumplir tus ambiciones dictatoriales (Help you fulfill your dictatorial ambitions)

Uso

Compilar

  go build  

Ejecutar

  export OPENGFW_LOG_LEVEL=debug  
  ./OpenGFW -c config.yaml rules.yaml  

OpenWrt

  • Se probó que OpenGFW funciona en OpenWrt 23.05, y se espera que también funcione en otras versiones, aunque no ha sido verificado
  • Instalar dependencias:
    opkg install kmod-nft-queue kmod-nf-conntrack-netlink

Configuración de ejemplo

Acciones compatibles

  • allow: permite la conexión, sin procesamiento adicional
  • block: bloquea la conexión, sin procesamiento adicional
  • drop: en UDP, descarta el paquete que activó la regla y sigue procesando los futuros paquetes del mismo flujo. En TCP, es igual que block
  • modify: en UDP, modifica el paquete que activó la regla usando el modificador indicado y sigue procesando los futuros paquetes del mismo flujo. En TCP, es igual que allow

4 comentarios

 
[Este comentario fue ocultado.]
 
slimeyslime 2024-03-15

jajajajajajajajajajaja

 
nemorize 2024-03-10

Jajajaja, está divertido.

 
xguru 2024-03-10

Opiniones de Hacker News

  • He visto a gente burlándose de este proyecto en Twitter, pero también hay personas que realmente lo necesitan. Intenté bloquear que un producto enviara datos sospechosos a un servidor casero, pero fracasé al sentarme frente a Wireshark para encontrar todos los servidores DoH. Espero que gracias a este proyecto llegue el día en que se pueda bloquear incluso si usa DoH, sin tener que agregar dominios a una whitelist de TLS.
  • El término "tráfico completamente cifrado" es confuso y solo puede entenderse correctamente si el contexto es preciso. Como sugerencia personal, creo que términos como "High Entropy" (HighE) son más específicos que "completamente cifrado".
  • Sería divertido que este proyecto terminara como War Thunder. Podría darse una situación en la que un funcionario chino, resentido porque no funciona como el GFW real, abra un pull request.
  • El punto de la lista de funciones que dice "satisface tus aspiraciones dictatoriales" me alegró el día.
  • Hay casos de uso reales para un producto así. Por ejemplo, en las escuelas se necesita algo así para minimizar distracciones. Sin embargo, me preocupa el malware. ¿Quién puede auditar al equipo detrás de este proyecto?
  • Tener un modelo de cómo funciona algo es muy útil para explorar métodos de mitigación.
  • Este proyecto es como un misil de código abierto para regímenes como Irán y Corea del Norte. Lo respeto, pero algunos gobiernos podrían abusar de él para reprimir la libertad.
  • Es ideal para que personas fuera de China continental puedan experimentar lo que viven los chinos en línea.
  • Ahora el gobierno iraní puede dejar de pagarle a China por usar esta tecnología para bloquear que los iraníes accedan al internet abierto. Es curioso que el código abierto, aunque apunte a la apertura, pueda producir un resultado completamente opuesto.
  • Me sorprende que a nadie parezca preocuparle que este proyecto pueda ayudar a otros gobiernos dictatoriales a reducir la barrera de implementación.