2 pontos por GN⁺ 2024-04-03 | 1 comentários | Compartilhar no WhatsApp

Wireproxy: proxy Socks5/HTTP ou túnel como cliente Wireguard

  • wireproxy é uma aplicação executada inteiramente em espaço de usuário, que se conecta a um peer WireGuard e fornece à máquina um proxy socks5/http ou um túnel.
  • É útil quando você precisa se conectar a sites específicos por meio de um peer WireGuard, mas não quer o incômodo de configurar uma nova interface de rede.

Por que isso é necessário

  • Quando você quer simplesmente usar o WireGuard como proxy para encaminhar parte do tráfego.
  • Quando você não quer privilégios de root para alterar a configuração do WireGuard.
  • Atualmente, usuários executam o wireproxy conectado a um servidor WireGuard em outro país e configuram o navegador para usá-lo em sites específicos.
  • O wireproxy é completamente separado da interface de rede e não exige privilégios de root para configuração.
  • Usuários do Amnezia VPN podem usar a versão do wireproxy com fork feita por @juev.

Funcionalidades

  • Roteamento estático TCP para cliente e servidor
  • Proxy SOCKS5/HTTP (no momento, só oferece suporte a CONNECT)

A fazer

  • Suporte a UDP no SOCKS5
  • Roteamento estático UDP

Como usar

./wireproxy -c [config 경로]
  • Fornece funcionalidade de proxy como cliente WireGuard em espaço de usuário.
  • -h exibe a ajuda, -c indica o caminho do arquivo de configuração, -s ativa o modo silencioso, -d executa em segundo plano, -v mostra a versão e -n apenas valida o arquivo de configuração.

Instruções de build

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

Uso com VPN

  • No macOS, é possível encontrar no link correspondente como usar o wireproxy com abas contêiner do Firefox e inicialização automática.

Arquivo de configuração de exemplo

  • As configurações [Interface] e [Peer] seguem o mesmo significado e a mesma sintaxe da configuração do wg-quick.
  • TCPClientTunnel e TCPServerTunnel são túneis que encaminham tráfego TCP da máquina local e da rede WireGuard, respectivamente, para destinos específicos.
  • STDIOTunnel é um túnel que conecta a entrada e a saída padrão do processo wireproxy a um destino TCP específico por meio do WireGuard.
  • Socks5 e http criam um proxy socks5 e um proxy http na LAN e roteiam todo o tráfego por meio do WireGuard.
  • Se você já tiver uma configuração WireGuard, poderá importá-la para o arquivo de configuração do wireproxy.
  • Há suporte para múltiplos peers, e AllowedIPs deve ser especificado para que o wireproxy saiba para qual peer encaminhar.

Opinião do GN⁺

  • O wireproxy pode ser muito útil para usuários que desejam acesso seguro à internet por VPN sem conhecimento profundo de configuração de rede.
  • A aplicação é atraente por permitir que o usuário roteie tráfego específico pelo WireGuard sem alterar as configurações de rede em nível de sistema.
  • No entanto, se o usuário não tiver entendimento suficiente de segurança de rede, configurações incorretas podem criar vulnerabilidades, então é preciso cautela.
  • Ao adotar a tecnologia WireGuard, é importante considerar restrições legais locais e políticas de privacidade, além de verificar se o uso de VPN é permitido.
  • Outros projetos open source com funcionalidades semelhantes incluem OpenVPN e SoftEther VPN, e o usuário deve escolher a ferramenta mais adequada às suas necessidades.

1 comentários

 
GN⁺ 2024-04-03
Comentários no Hacker News
  • Discussão sobre uma pequena ferramenta útil

    • Um usuário usa essa ferramenta para fazer proxy de uma aba específica do Firefox por meio de um roteador doméstico com Wireguard. A ferramenta funciona sem protocolos de proxy na camada de aplicação nem SSH.
    • Outro usuário prefere usar soks com Wireguard. Ele reutiliza uma interface Wireguard existente, e o usuário explica isso em detalhes em uma publicação no próprio blog.
    • Outra ferramenta é o onetun.
    • Um usuário menciona o pproxy como uma ferramenta que pode substituir túneis SSH. O pproxy converte entre vários protocolos de túnel e oferece recursos de roteamento. O usuário o utiliza para converter SSH SOCKS5 em um proxy HTTP.
  • Informações sobre vários clientes de proxy

    • Vários clientes de proxy multiprotocolo oferecem suporte a essa funcionalidade. Exemplos de código aberto incluem sing-box, clash-meta e outros clientes baseados em clash, além do xray.
    • Como cliente de código fechado, há o Surge Mac/iOS.
  • Pergunta sobre implementação de servidor em espaço de usuário

    • Um usuário se pergunta se existe uma implementação de servidor que rode inteiramente em espaço de usuário, sem dispositivo tun/tap. Ele supõe que, para isso, seria necessário algum tipo de pilha IP em espaço de usuário.
  • Recomendação de ferramenta para um serviço VPN específico

    • Um usuário compartilha uma boa experiência com o mullvad-proxy como ferramenta para o Mullvad VPN. Ele incorpora a CLI do Mullvad, facilitando a troca de servidores, e é isolado da máquina host. Também é composto por nginx e alguns scripts, então espera-se um bom suporte a SOCKS5.
  • Reação positiva a uma ferramenta escrita em Go

    • Um usuário achava que seria fácil escrever uma ferramenta como essa em Go e descobriu que era exatamente o caso.
  • Discussão sobre casos de uso pessoais

    • Um usuário pensa em usar esse tipo de ferramenta para fazer proxy das conexões de e-mail do Thunderbird por meio de um nó de saída do Tailscale. Assim, seria possível encaminhar apenas as conexões de e-mail sem redirecionar todo o tráfego para o nó de saída.
  • Menção às funcionalidades do sing-box

    • Foi compartilhada a informação de que o sing-box também oferece a mesma funcionalidade.