
Proxy trasparente di riscrittura HTTP(S) che supporta le modalità HTTP, SOCKS5, TPROXY, REDIRECT e NFQUEUE con MitM HTTPS, riscrittura di header/body basata su regole e desync DPI.
English | 简体中文
UA3F è un proxy di riscrittura HTTP(S) che, in qualità di servizio HTTP, SOCKS5, TPROXY, REDIRECT, NFQUEUE, riscrive in modo efficiente e trasparente il traffico HTTP(S) (ad esempio lo User-Agent).
UA3F supporta diversi metodi di installazione:
File binari e pacchetti di installazione
La pagina Release fornisce già file binari e pacchetti di installazione opkg/apk per le architetture più comuni; è sufficiente scaricare il pacchetto corrispondente alla propria piattaforma e installarlo manualmente.
Deployment con Docker:
Esecuzione come proxy SOCKS5:
docker run -p 1080:1080 sunbk201/ua3f -f FFF
Compilazione dal codice sorgente:
Compilazione e creazione del file binario UA3F:
git clone https://github.com/SunBK201/UA3F.git && cd UA3F
go build -o ua3f main.go
Compilazione e installazione su 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 安装包
Per la documentazione dettagliata, consultare UA3F
Avviare UA3F con la configurazione predefinita:
ua3f
Avvia con il file di configurazione specificato:
ua3f -c /path/to/config.yaml
Genera il file di configurazione del template:
ua3f -g
Per una descrizione dettagliata dei parametri della riga di comando, consulta la guida alla configurazione; per esempi di file di configurazione, consulta gli esempi di configurazione
UA3F supporta la pagina Web OpenWrt LuCI; puoi aprire Services -> UA3F per effettuare le relative configurazioni.
Per un tutorial di utilizzo rapido, consulta: Tutorial all'uso di UA3F comprensibile anche a una scimmia
opkg install sudo
sudo -u nobody /usr/bin/ua3f
Gli utenti di shellclash/shellcrash sono invitati a utilizzare il seguente comando per avviare:
sudo -u shellclash /usr/bin/ua3f
# 如果上面命令报错执行下面该命令
sudo -u shellcrash /usr/bin/ua3f
Parametri di avvio da riga di comando:
-c <config path>: percorso personalizzato del file di configurazione-g: genera il file di configurazione modello config.yaml nella directory corrente-m <mode>: modalità del servizio, supporta HTTP, SOCKS5, TPROXY, REDIRECT, predefinita SOCKS5-b <bind addr>: indirizzo di ascolto personalizzato, predefinito 127.0.0.1-p <port>: numero di porta, predefinito 1080-l <log level>: livello di log, predefinito info, opzionale: debug, posizione predefinita del log: /var/log/ua3f.log-x: strategia di riscrittura, supporta GLOBAL, DIRECT, RULE, predefinita GLOBAL-f <UA>: UA personalizzato, predefinito FFF-r <regex>: espressione regolare personalizzata per la corrispondenza dello User-Agent, predefinita vuota, indica che tutti gli User-Agent verranno riscritti-s: sostituzione parziale, sostituisce solo la parte corrispondente all'espressione regolare-z: regole di riscrittura, in formato json string, valido solo in modalità strategia di riscrittura RULEUA3F include un controller API Server integrato, che fornisce interfacce di interrogazione e controllo per lo stato di esecuzione di UA3F, le regole di configurazione e altre informazioni, attivabile tramite il parametro --api-server:
ua3f --api-server <addr:port>
Consulta la documentazione API en Documentazione API di UA3F
UA3F supporta 5 diverse modalità di servizio; le caratteristiche e gli scenari d'uso di ciascuna modalità sono i seguenti:
| Modalità di servizio | Principio di funzionamento | Dipende da Clash ecc. | Compatibilità | Può funzionare insieme a Clash ecc. |
|---|---|---|---|---|
| HTTP | Proxy HTTP | Sì | Alta | Sì |
| SOCKS5 | Proxy SOCKS5 | Sì | Alta | Sì |
| TPROXY | netfilter TPROXY | No | Media | Sì |
| REDIRECT | netfilter REDIRECT | No | Media | Sì |
| NFQUEUE | netfilter NFQUEUE | No | Bassa | Sì |
UA3F supporta 3 diverse strategie di riscrittura: