2 puntos por GN⁺ 2024-04-03 | 1 comentarios | Compartir por WhatsApp

Wireproxy: proxy Socks5/HTTP o túnel como cliente de WireGuard

  • wireproxy es una aplicación que se ejecuta completamente en espacio de usuario, se conecta a un peer de WireGuard y proporciona a la máquina un proxy socks5/http o un túnel.
  • Es útil si necesitas conectarte a ciertos sitios a través de un peer de WireGuard, pero no quieres lidiar con la molestia de configurar una nueva interfaz de red.

Por qué esto es necesario

  • Cuando simplemente quieres usar WireGuard como proxy para enviar parte del tráfico.
  • Cuando no quieres privilegios de root para cambiar la configuración de WireGuard.
  • Actualmente, los usuarios ejecutan wireproxy conectado a un servidor WireGuard en otro país y configuran el navegador para usarlo en sitios específicos.
  • wireproxy está completamente separado de la interfaz de red y no requiere privilegios de root para configurarse.
  • Los usuarios de Amnezia VPN pueden usar una versión de wireproxy con fork hecha por @juev.

Funciones

  • Enrutamiento estático TCP para cliente y servidor
  • Proxy SOCKS5/HTTP (por ahora solo compatible con CONNECT)

Pendiente

  • Soporte de UDP en SOCKS5
  • Enrutamiento estático UDP

Uso

./wireproxy -c [ruta del config]
  • Proporciona funciones de proxy como cliente de WireGuard en espacio de usuario.
  • -h es ayuda, -c es la ruta del archivo de configuración, -s es modo silencioso, -d ejecuta en segundo plano, -v muestra la versión y -n solo valida el archivo de configuración.

Instrucciones de compilación

git clone https://github.com/octeep/wireproxy
cd wireproxy
make

Uso junto con VPN

  • En el enlace correspondiente se puede encontrar cómo usar wireproxy con pestañas contenedor de Firefox y arranque automático en macOS.

Archivo de configuración de ejemplo

  • La configuración de [Interface] y [Peer] sigue el mismo significado y sintaxis que la configuración de wg-quick.
  • TCPClientTunnel y TCPServerTunnel son túneles que envían tráfico TCP a un destino específico desde la máquina local y desde la red WireGuard, respectivamente.
  • STDIOTunnel es un túnel que conecta la entrada y salida estándar del proceso wireproxy con un destino TCP específico a través de WireGuard.
  • Socks5 y http crean un proxy socks5 y un proxy http en la LAN y enrutan todo el tráfico a través de WireGuard.
  • Si ya tienes una configuración de WireGuard, puedes importarla al archivo de configuración de wireproxy.
  • Soporta varios peers, y AllowedIPs debe especificarse para que wireproxy sepa a qué peer reenviar.

Opinión de GN⁺

  • wireproxy puede ser muy útil para usuarios que quieren acceso seguro a internet a través de una VPN sin necesidad de conocimientos profundos sobre configuración de red.
  • Esta aplicación resulta atractiva porque permite enrutar tráfico específico por WireGuard sin cambiar la configuración de red a nivel del sistema.
  • Sin embargo, si el usuario no tiene suficiente comprensión de la seguridad de red, debe tener cuidado, ya que una configuración incorrecta puede generar vulnerabilidades de seguridad.
  • Al adoptar la tecnología WireGuard, hay que considerar las restricciones legales y las políticas de privacidad de la región correspondiente, y verificar si el uso de VPN está permitido.
  • Otros proyectos open source con funciones similares incluyen OpenVPN y SoftEther VPN; los usuarios deben elegir la herramienta que mejor se adapte a sus necesidades.

1 comentarios

 
GN⁺ 2024-04-03
Opiniones en Hacker News
  • Debate sobre una pequeña herramienta útil

    • Un usuario usa esta herramienta para hacer proxy de una pestaña específica de Firefox hacia su router doméstico que usa Wireguard. Esta herramienta funciona sin necesidad de protocolos proxy de capa de aplicación ni SSH.
    • Otro usuario prefiere soks para usarlo con Wireguard. Reutiliza una interfaz existente de Wireguard, y el usuario explica esto en detalle en una publicación de su blog.
    • Otra herramienta es onetun.
    • Un usuario menciona pproxy como una herramienta que puede reemplazar los túneles SSH. pproxy convierte entre varios protocolos de túnel y ofrece funciones de enrutamiento. El usuario la usa para convertir SSH SOCKS5 en un proxy HTTP.
  • Información sobre varios clientes proxy

    • Varios clientes proxy multiprotocolo admiten esta función. Algunos ejemplos de código abierto son sing-box, clash-meta y otros clientes basados en clash, además de xray.
    • Como cliente de código cerrado está Surge Mac/iOS.
  • Pregunta sobre implementaciones de servidor en espacio de usuario

    • Un usuario se pregunta si existe una implementación de servidor que funcione completamente en espacio de usuario, sin dispositivos tun/tap. Supone que para ello haría falta algún tipo de stack IP en espacio de usuario.
  • Recomendación de una herramienta para un servicio VPN específico

    • Se comparte una buena experiencia usando mullvad-proxy para Mullvad VPN. Incluye la herramienta CLI de Mullvad, lo que facilita cambiar de servidor, y está aislada de la máquina host. Además, está compuesta por nginx y algunos scripts, así que se espera que el soporte de SOCKS5 sea bueno.
  • Reacción positiva a una herramienta escrita en Go

    • Un usuario pensó que sería fácil escribir una herramienta así en Go, y descubrió que efectivamente ya estaba hecho.
  • Debate sobre casos de uso personales

    • Un usuario piensa en usar una herramienta de este tipo para hacer proxy de las conexiones de correo de Thunderbird a través de un nodo de salida de Tailscale. Así podría enviar solo las conexiones de correo por el proxy sin redirigir todo el tráfico al nodo de salida.
  • Mención de la funcionalidad de sing-box

    • Se comparte la información de que sing-box también ofrece la misma funcionalidad.