
Прозрачный прокси-сервер для перезаписи HTTP(S), поддерживающий режимы HTTP, SOCKS5, TPROXY, REDIRECT и NFQUEUE с HTTPS MitM, перезаписью заголовков и тела на основе правил и обходом DPI (desync).
English | 简体中文
UA3F — это прокси-сервер для перезаписи HTTP(S), который работает как служба HTTP, SOCKS5, TPROXY, REDIRECT, NFQUEUE и обеспечивает эффективную прозрачную перезапись трафика HTTP(S) (например, User-Agent).
UA3F поддерживает несколько способов установки:
Бинарные файлы и установочные пакеты
На странице Release уже доступны бинарные файлы и установочные пакеты opkg/apk для распространённых архитектур — достаточно скачать пакет для соответствующей платформы и установить его вручную.
Развёртывание в Docker:
Запуск в качестве SOCKS5-прокси:
docker run -p 1080:1080 sunbk201/ua3f -f FFF
Сборка из исходного кода:
Компиляция и сборка бинарного файла UA3F:
git clone https://github.com/SunBK201/UA3F.git && cd UA3F
go build -o ua3f main.go
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 安装包
Подробная документация доступна в UA3F
Запуск UA3F с конфигурацией по умолчанию:
ua3f
Запуск с указанным файлом конфигурации:
ua3f -c /path/to/config.yaml
Создание файла конфигурации шаблона:
ua3f -g
Подробное описание параметров командной строки см. в разделе 配置说明, примеры файлов конфигурации см. в разделе 配置示例
UA3F поддерживает веб-интерфейс OpenWrt LuCI: откройте Services -> UA3F для настройки.
Краткое руководство см. здесь: 猴子也能看懂的 UA3F 使用教程
opkg install sudo
sudo -u nobody /usr/bin/ua3f
Пользователям shellclash/shellcrash рекомендуется запускать с помощью следующей команды:
sudo -u shellclash /usr/bin/ua3f
# 如果上面命令报错执行下面该命令
sudo -u shellcrash /usr/bin/ua3f
Связанные параметры запуска командной строки:
-c <config path>: пользовательский путь к файлу конфигурации-g: сгенерировать шаблонный файл конфигурации config.yaml в текущем каталоге-m <mode>: режим работы сервиса, поддерживает HTTP, SOCKS5, TPROXY, REDIRECT, по умолчанию SOCKS5-b <bind addr>: пользовательский адрес привязки для прослушивания, по умолчанию 127.0.0.1-p <port>: номер порта, по умолчанию 1080-l <log level>: уровень логирования, по умолчанию info, доступно: debug, расположение логов по умолчанию: /var/log/ua3f.log-x: стратегия перезаписи, поддерживает GLOBAL, DIRECT, RULE, по умолчанию GLOBAL-f <UA>: пользовательский UA, по умолчанию FFF-r <regex>: пользовательское регулярное выражение для сопоставления User-Agent, по умолчанию пусто, что означает, что все User-Agent будут перезаписаны-s: частичная замена, заменяется только часть, совпавшая с регулярным выражением-z: правила перезаписи, в формате json string, действует только в режиме стратегии перезаписи RULEUA3F имеет встроенный контроллер API Server, предоставляющий интерфейсы запроса и управления информацией о состоянии работы UA3F, правилах конфигурации и т. д., который можно включить с помощью параметра --api-server:
ua3f --api-server <addr:port>
Документация API см. в Документации API UA3F
UA3F поддерживает 5 различных режимов работы; особенности и сценарии использования каждого режима приведены ниже:
| Режим работы | Принцип работы | Зависит ли от Clash и т. п. | Совместимость | Может ли работать совместно с Clash и т. п. |
|---|---|---|---|---|
| HTTP | HTTP-прокси | Да | Высокая | Да |
| SOCKS5 | SOCKS5-прокси | Да | Высокая | Да |
| TPROXY | netfilter TPROXY | Нет | Средняя | Да |
| REDIRECT | netfilter REDIRECT | Нет | Средняя | Да |
| NFQUEUE | netfilter NFQUEUE | Нет | Низкая | Да |
UA3F поддерживает 3 различные стратегии перезаписи:
| Стратегия перезаписи | Поведение перезаписи | Перезапись Header | Применимые режимы работы |
|---|---|---|---|
| GLOBAL | Перезаписываются все запросы | User-Agent | Применима ко всем режимам работы |
| DIRECT | Без перезаписи, чистая пересылка | Нет | Применима ко всем режимам работы |
| RULE | Перезапись согласно правилам перезаписи | Пользовательская | Применима к HTTP/SOCKS5/TPROXY/REDIRECT |
Типы правил: