
Proxy transparente de reescrita HTTP(S) com suporte aos modos HTTP, SOCKS5, TPROXY, REDIRECT e NFQUEUE, MitM de HTTPS, reescrita de cabeçalhos/corpo baseada em regras e desync de DPI.
English | 简体中文
UA3F é um proxy de reescrita HTTP(S) que atua como serviço HTTP, SOCKS5, TPROXY, REDIRECT e NFQUEUE para reescrever de forma eficiente e transparente o tráfego HTTP(S) (por exemplo, User-Agent).
UA3F suporta várias formas de instalação:
Arquivos binários e pacotes de instalação
A página de Release já disponibiliza arquivos binários e pacotes de instalação opkg/apk para arquiteturas comuns; basta baixar o pacote correspondente à sua plataforma e instalá-lo manualmente.
Implantação com Docker:
Executando como proxy SOCKS5:
docker run -p 1080:1080 sunbk201/ua3f -f FFF
Compilação a partir do código-fonte:
Compilar e construir o binário UA3F:
git clone https://github.com/SunBK201/UA3F.git && cd UA3F
go build -o ua3f main.go
Compilação e instalação no OpenWrt:
git clone https://github.com/openwrt/openwrt.git && cd openwrt
git checkout openwrt-24.10
./scripts/feeds update -a && ./scripts/feeds install -a
git clone https://github.com/SunBK201/UA3F.git package/UA3F
make menuconfig # 勾选 Network->Web Servers/Proxies->ua3f
make download -j$(nproc) V=s
make -j$(nproc) || make -j1 || make -j1 V=sc
# make package/UA3F/openwrt/compile -j1 V=sc # 单独编译 UA3F 安装包
Documentação detalhada em UA3F
Iniciar o UA3F com a configuração padrão:
ua3f
Iniciar com o arquivo de configuração especificado:
ua3f -c /path/to/config.yaml
Gerar arquivo de configuração de template:
ua3f -g
Configuração detalhada dos parâmetros de linha de comando em Configuração, exemplos de arquivos de configuração em Exemplos de Configuração
UA3F suporta a página Web OpenWrt LuCI, você pode abrir Services -> UA3F para realizar as configurações relacionadas.
Tutorial de uso rápido em detalhes: Tutorial de uso do UA3F que até um macaco consegue entender
opkg install sudo
sudo -u nobody /usr/bin/ua3f
shellclash/shellcrash usuários são aconselhados a usar o seguinte comando para iniciar:
sudo -u shellclash /usr/bin/ua3f
# 如果上面命令报错执行下面该命令
sudo -u shellcrash /usr/bin/ua3f
Parâmetros de inicialização da linha de comando:
-c <config path>: caminho personalizado do arquivo de configuração-g: gera o arquivo de configuração de modelo config.yaml no diretório atual-m <mode>: modo de serviço, suporta HTTP, SOCKS5, TPROXY, REDIRECT, padrão SOCKS5-b <bind addr>: endereço de escuta de vinculação personalizado, padrão 127.0.0.1-p <port>: número da porta, padrão 1080-l <log level>: nível de log, padrão info, opcional: debug, localização padrão do log: /var/log/ua3f.log-x: estratégia de reescrita, suporta GLOBAL, DIRECT, RULE, padrão GLOBAL-f <UA>: UA personalizado, padrão FFF-r <regex>: correspondência personalizada de expressão regular para User-Agent, padrão vazio, significa que todos os User-Agents serão reescritos-s: substituição parcial, substitui apenas a parte correspondida pela expressão regular-z: regra de reescrita, formato json string, efetivo apenas no modo de estratégia de reescrita RULEO UA3F possui um controlador API Server integrado, que fornece interfaces de consulta e controle de informações como o estado de execução do UA3F, regras de configuração, etc., e pode ser habilitado através do parâmetro --api-server:
ua3f --api-server <addr:port>
Consulte a documentação da API em Documentação da API UA3F
O UA3F suporta 5 modos de serviço diferentes; as características e os cenários de uso de cada modo são os seguintes:
| Modo de serviço | Princípio de funcionamento | Depende do Clash, etc. | Compatibilidade | Pode ser executado em conjunto com o Clash, etc. |
|---|---|---|---|---|
| HTTP | Proxy HTTP | Sim | Alta | Sim |
| SOCKS5 | Proxy SOCKS5 | Sim | Alta | Sim |
| TPROXY | netfilter TPROXY | Não | Média | Sim |
| REDIRECT | netfilter REDIRECT | Não | Média | Sim |
| NFQUEUE | netfilter NFQUEUE | Não | Baixa | Sim |
O UA3F suporta 3 políticas de reescrita diferentes:
| Política de reescrita | Comportamento de reescrita | Reescrita de Header | Modos de serviço aplicáveis |
|---|---|---|---|
| GLOBAL | Todas as requisições são reescritas | User-Agent | Aplicável a todos os modos de serviço |
| DIRECT | Sem reescrita, apenas encaminhamento | Nenhuma | Aplicável a todos os modos de serviço |
| RULE | Reescrita conforme as regras de reescrita | Personalizado | Aplicável a HTTP/SOCKS5/TPROXY/REDIRECT |
Tipos de regra: