
HTTP、SOCKS5、TPROXY、REDIRECT、NFQUEUEモードをサポートし、HTTPS MitM、ルールベースのヘッダー/ボディ書き換え、DPIデシンクを備えた透過型HTTP(S)書き換えプロキシ。
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 Web ページをサポートしており、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 形式で、RULE 書き換えポリシーモードでのみ有効ですUA3F には API Server コントローラが内蔵されており、UA3F の稼働状態や設定ルールなどの情報の照会・制御インターフェースを提供します。--api-server パラメータで有効化できます:
ua3f --api-server <addr:port>
API ドキュメントは UA3F API ドキュメント を参照してください
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 に適用 |
ルールタイプ:
| ルールタイプ | 説明 |
|---|---|
| DOMAIN | ドメイン名でマッチング |
| DOMAIN-SUFFIX | ドメイン名のサフィックスでマッチング |
| DOMAIN-KEYWORD | ドメイン名のキーワードでマッチング |
| DOMAIN-SET | ドメイン名の集合でマッチング |
| IP-CIDR | IP アドレス範囲でマッチング |
| SRC-IP | 送信元 IP アドレスでマッチング |
| DST-PORT | 宛先ポートでマッチング |
| HEADER-KEYWORD | リクエスト Header のキーワードでマッチング |
| HEADER-REGEX | リクエスト Header を正規表現でマッチング |
| URL-REGEX | リクエスト URL を正規表現でマッチング |
書き換えアクション:
| アクションタイプ | 説明 |
|---|---|
| DIRECT | そのまま通過させ、書き換えを行わない |
| DELETE | 指定した Header を削除 |
| ADD | 指定した Header を指定内容として追加 |
| REPLACE | 指定した Header を指定内容に置換 |
| REPLACE-REGEX | 正規表現にマッチした部分を指定内容に置換 |
| REJECT | そのリクエストを拒否 |
| DROP | そのリクエストを破棄 |
URL リダイレクトアクション:
| アクションタイプ | 説明 |
|---|---|
| REDIRECT-302 | 302 リダイレクトレスポンスを返す |
| REDIRECT-307 | 307 リダイレクトレスポンスを返す |
| REDIRECT-HEADER | リクエスト Header を変更してリダイレクトし、クライアントには感知されない |
詳細は Desync 紹介 を参照してください
他のプロキシとの連携 を参照してください