Sobre o projeto

## Visão Geral do GoProxy GoProxy é um servidor proxy de alto desempenho implementado em Go, suportando uma ampla gama de protocolos, incluindo HTTP(S), SOCKS5, TCP, UDP, Websocket e Shadowsocks (SS). Ele é projetado para cenários de proxy direto e reverso, permitindo comunicação segura, travessia NAT e gerenciamento flexível de tráfego. ### Principais Recursos - **Proxies Encadeados**: Pode atuar como um único proxy ou ser encadeado para formar redes de proxy de múltiplos níveis. - **Comunicação Criptografada**: Suporta TLS e criptografia AES256 personalizada para transmissão segura de dados entre nós de proxy. - **Proxy Inteligente**: Roteia automaticamente sites bloqueados através de proxies upstream, enquanto permite acesso direto a sites não bloqueados para velocidade. - **Listas de Domínios em Preto/Branco**: Controla o acesso com base em padrões de domínio com suporte a curingas. - **Listas de IPs de Clientes em Preto/Branco**: Restringe o acesso por endereços IP de clientes. - **Encaminhamento de Portas**: Mapeamento de portas TCP e UDP para vários casos de uso. - **Travessia NAT**: Expõe servidores locais atrás de NAT ou firewalls para a internet. - **Retransmissão SSH**: Usa SSH como transporte para proxies HTTP(S) e SOCKS5. - **Suporte KCP**: Transmissão de dados de baixa latência via protocolo KCP. - **Balanceamento de Carga e Alta Disponibilidade**: Múltiplos proxies upstream com estratégias como round-robin, menos conexões e seleção ponderada. - **Limites de Velocidade e Conexão**: Controla largura de banda e conexões concorrentes por usuário ou IP. - **Conversão de Protocolo**: Converte entre proxies HTTP(S), SOCKS5 e SS em uma única porta. - **Proxy DNS**: Consultas DNS seguras através de canais de proxy criptografados. - **Proxy Transparente**: Funciona com iptables para proxy transparente em nível de gateway. - **Multiplataforma**: Roda em Windows, Linux, macOS e dispositivos ARM como Raspberry Pi. - **Autenticação de API**: Suporta autenticação baseada em usuário e seleção dinâmica de upstream via APIs externas. - **Escuta de Faixa de Portas**: Escuta em múltiplas portas ou faixas de portas sem iniciar múltiplos processos. ### Instalação Instalação rápida para sistemas Linux 64 bits: ```bash bash -c "$(curl -s -L https://raw.githubusercontent.com/snail007/goproxy/master/install_auto.sh)" ``` A instalação manual envolve baixar a versão mais recente da [página de releases](https://github.com/snail007/goproxy/releases) e executar o script de instalação fornecido. ### Exemplos de Uso **Proxy HTTP Básico:** ```bash proxy http -t tcp -p "0.0.0.0:38080" ``` **Proxy HTTP Encadeado com Criptografia:** ```bash # Nível 1 (VPS) proxy http -t tls -p ":38080" -C proxy.crt -K proxy.key # Nível 2 (Local) proxy http -t tcp -p ":8080" -T tls -P "22.22.22.22:38080" -C proxy.crt -K proxy.key ``` **Encaminhamento de Porta TCP:** ```bash proxy tcp -p ":3306" -T tcp -P "192.168.1.1:3306" ``` **Travessia NAT (Expor Servidor Local):** ```bash # No servidor (VPS) proxy server -r ":8080" -P "senha" # No cliente (local) proxy client -l ":8080" -r "22.22.22.22:8080" -P "senha" ``` ### Arquivos de Configuração Comandos podem ser carregados de arquivos de configuração usando o símbolo `@`: ```text # config.txt http -t tcp -p :33080 --forever ``` Execute com: `proxy @config.txt` ### Documentação e Recursos - [Site Oficial](https://www.goproxy.win/) - [README em Chinês](https://github.com/snail007/goproxy/blob/master/README_ZH.md) - [Manual](https://snail007.github.io/goproxy/manual/) - [Tutoriais em Vídeo (Bilibili)](https://space.bilibili.com/472844633) - [Edição Desktop (ProxyAdmin)](https://github.com/snail007/proxy_admin_free) - [Edições Android](https://github.com/snail007/goproxy-ss-plugin-android) ### Licença GoProxy é licenciado sob GPLv3. O projeto usa uma estratégia de liberação de código atrasada para proteger contra uso comercial não autorizado. Para licenciamento comercial ou desenvolvimento personalizado, contate `arraykeys@gmail.com`.