
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 웹 페이지를 지원하며, 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 소개를 참조하세요
다른 프록시와의 연동을 참조하세요