프록시 정책
프록시 정책은 요청을 다른 프록시 서버로 전달하는 것을 나타냅니다. Chute는 HTTP/HTTPS/SOCKS5/SOCKS5-TLS/SS/SSR/Trojan/VMess/VLESS/AnyTLS/TUIC/Hysteria2/WireGuard/ShadowTLS/SSH 프록시 프로토콜을 지원합니다.
[Proxy] 섹션은 프록시 정책을 선언합니다. 다양한 규칙에 대해 여러 프록시를 생성할 수 있습니다.
예:
[Proxy]
ProxyHTTP = http, 1.2.3.4, 443, username, password
ProxyHTTPS = https, 1.2.3.4, 443, username, password, sni=example.com, skip-cert-verify=false
ProxySOCKS5 = socks5, 1.2.3.4, 443, username, password
ProxySOCKS5TLS = socks5-tls, 1.2.3.4, 443, username, password, sni=example.com, skip-cert-verify=false
SS = ss, 1.2.3.4, 443, method, password, obfs=post
SSR = ssr, 1.2.3.4, 443, method, password, protocol=auth_chain_f, protocol_param=user:pass, obfs=http_pose, obfs_param=example.com
Trojan = trojan, 1.2.3.4, 443, password=password, sni=example.com, skip-cert-verify=false, ws=true
VMess = vmess, 1.2.3.4, 443, uuid=uuid, sni=example.com, tls=true, ws=true
VLESS = vless, 1.2.3.4, 443, uuid=uuid, sni=example.com, xtls=true
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com
TUIC = tuic, 1.2.3.4, 443, uuid=uuid, password=password, sni=example.com
Hysteria2 = hysteria2, 1.2.3.4, 443, auth=password, sni=example.com, up=10, down=100
WireGuard = wireguard, private-key=base64key, peer-public-key=base64key, section-name=wg0, self-ip=10.0.0.2
ShadowTLS = shadowtls, 1.2.3.4, 443, password=password, sni=example.com, skip-cert-verify=false, fingerprint=chrome
SSH = ssh, 1.2.3.4, 22, root, password=pw
SCHEME = scheme, ssr://....
매개변수
| 유형 | 사용자 이름 | 비밀번호 | 메서드 | TLS | XTLS | WebSocket | QUIC |
|---|---|---|---|---|---|---|---|
| HTTP | √ | √ | |||||
| HTTPS | √ | √ | TLS | ||||
| Socks | √ | √ | |||||
| Socks5-TLS | √ | √ | TLS | ||||
| Shadowsocks | √ | 메서드, OBFS | |||||
| ShadowsocksR | √ | 메서드, 프로토콜, OBFS | |||||
| Trojan | √ | √ | TLS | WS, gRPC | |||
| VMess | uuid | TLS | WS, gRPC | ||||
| VLESS | uuid | TLS | XTLS | WS, gRPC | |||
| AnyTLS | √ | TLS | |||||
| TUIC | uuid | √ | TLS | √ | |||
| Hysteria2 | auth | TLS | √ | ||||
| WireGuard | private-key | 네이티브 WireGuard | |||||
| ShadowTLS | √ | TLS, 지문 | |||||
| SSH | √ | 인증 |
TLS 프록시 매개변수
tls: 선택.
tls=true
TLS 전송을 활성화합니다.
skip-cert-verify: 선택
skip-cert-verify=true
이 옵션을 활성화하면 Chute는 서버의 인증서를 확인하지 않습니다.
sni (기본값: 호스트명)
sni=exmaple.com
TLS 핸드셰이크 중 서버 이름 표시(SNI)를 사용자 정의할 수 있습니다. sni=off를 사용하여 SNI를 완전히 끕니다. 기본적으로 Chute는 대부분의 브라우저처럼 호스트명과 함께 SNI를 보냅니다.
Shadowsocks 프록시 매개변수
method: 필수.
현재 지원:
rc4-md5
aes-128-cfb
aes-192-cfb
aes-256-cfb
aes-128-ctr
aes-192-ctr
aes-256-ctr
bf-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
salsa20
chacha20
chacha20-ietf
aes-128-gcm
aes-192-gcm
aes-256-gcm
chacha20-ietf-poly1305
xchacha20-ietf-poly1305
Shadowsocks 2022 메서드
Chute는 BLAKE3 기반 키 파생 및 AEAD 암호를 사용하는 Shadowsocks 2022 프로토콜을 지원합니다. 메서드 이름이 암호 스위트를 결정합니다:
2022-blake3-aes-128-gcm
2022-blake3-aes-256-gcm
2022-blake3-chacha20-poly1305
비밀번호 형식:
SS2022의 비밀번호 필드는 :(콜론)으로 구분된 하나 또는 두 개의 base64 인코딩 키로 구성됩니다.
단일 사용자 모드 (키 1개):
SS2022 = ss, 1.2.3.4, 443, 2022-blake3-aes-256-gcm, "base64-key"
ID 헤더가 있는 다중 사용자 모드 (키 2개):
2022-blake3-aes-128-gcm 및 2022-blake3-aes-256-gcm의 경우, :으로 구분하여 ID 헤더 키와 사용자 키를 제공할 수 있습니다:
SS2022 = ss, 1.2.3.4, 443, 2022-blake3-aes-256-gcm, "header-base64-key:user-base64-key"
각 키는 base64로 인코딩된 문자열입니다(표준 및 URL-safe base64 모두 지원). 필요한 키 길이:
| 메서드 | 사용자 키 길이 | 헤더 키 길이 |
|---|---|---|
2022-blake3-aes-128-gcm |
16 바이트 | 16 바이트 |
2022-blake3-aes-256-gcm |
32 바이트 | 32 바이트 |
2022-blake3-chacha20-poly1305 |
32 바이트 | N/A (ID 헤더 지원 없음) |
키 생성:
openssl rand -base64 32
참고: SS2022 메서드는
obfs매개변수를 지원하지 않습니다.2022-blake3-chacha20-poly1305메서드는 다중 사용자 모드를 지원하지 않습니다.
obfs: 선택.
현재 지원:
tls
http
ShadowsocksR/ShadowsocksRR/ShadowsocksR-Akarin 프록시 매개변수
method: 필수.
현재 지원:
rc4
rc4-md5-6
rc4-md5
aes-128-cfb
aes-192-cfb
aes-256-cfb
aes-128-ctr
aes-192-ctr
aes-256-ctr
bf-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
cast5-cfb
des-cfb
idea-cfb
rc2-cfb
seed-cfb
salsa20
chacha20
chacha20-ietf
protocol: 선택.
현재 지원:
origin
auth_sha1
auth_sha1_v2
auth_sha1_v4
auth_aes128_md5
auth_aes128_sha1
auth_chain_a
auth_chain_b
auth_chain_c
auth_chain_d
auth_chain_e
auth_chain_f
auth_akarin_rand
auth_akarin_spec_a
protocol_param: 선택.
obfs: 선택.
현재 지원:
plain
http_simple
http_post
tls1.2_ticket_auth
obfs_param: 선택.
WebSocket 프록시 매개변수
ws: 선택.
ws=true
WebSocket 전송을 활성화합니다.
ws-path: 선택.
ws-path=/exmaple
WebSocket HTTP 요청의 경로를 변경합니다.
ws-headers: 선택.
ws-headers=Header1:Value1|Header2:Value2
WebSocket HTTP 요청의 HTTP 헤더를 수정합니다.
gRPC 프록시 매개변수
gRPC 전송은 Trojan, VMess 및 VLESS 프로토콜에서 사용할 수 있습니다. HTTP/2 기반 gRPC 프레이밍을 TLS 위에서 사용하여 특정 네트워크 제한을 우회하는 데 도움이 될 수 있습니다.
grpc: 선택.
grpc=true
gRPC 전송을 활성화합니다. TLS가 활성화되어야 합니다.
grpc-service-name: 선택.
grpc-service-name=MyService
다중화를 위한 gRPC 서비스 이름/경로를 지정합니다. 설정하지 않으면 기본 서비스 이름이 사용됩니다.
grpc-multi-mode: 선택.
grpc-multi-mode=true
gRPC의 다중 모드를 활성화하여 여러 스트림이 단일 gRPC 연결을 공유하여 더 나은 성능을 제공합니다.
VMess 및 gRPC 예:
VMess = vmess, 1.2.3.4, 443, uuid=uuid, tls=true, grpc=true, grpc-service-name=GunService, sni=example.com
XTLS 프록시 매개변수
xtls: 선택.
xtls=true
XTLS 전송을 활성화합니다. xtls-rprx-direct 흐름만 지원됩니다.
skip-cert-verify: 선택
skip-cert-verify=true
TLS와 동일합니다.
sni (기본값: 호스트명)
sni=exmaple.com
TLS와 동일합니다.
REALITY 프록시 매개변수
REALITY는 프록시 트래픽을 실제 웹사이트로의 일반 TLS 트래픽과 구별할 수 없게 만드는 TLS 기반 난독화 기술입니다. VLESS 및 Trojan 프로토콜과 함께 사용할 수 있습니다.
reality: 선택.
reality=true
REALITY 난독화를 활성화합니다. 위장 대상으로 사용될 대상 서버가 필요합니다.
short-id: 선택.
short-id=abcd1234
REALITY 인증에 사용되는 짧은 식별자입니다. 일반적으로 16진수 문자열입니다.
server-name: 선택.
server-name=www.microsoft.com
TLS 핸드셰이크 중 표시할 SNI(서버 이름 표시)입니다. 최상의 위장 효과를 위해 실제로 자주 접속되는 웹사이트여야 합니다. 대상 서버의 인증서가 이 이름과 일치해야 합니다.
fingerprint: 선택.
fingerprint=chrome
모방할 TLS 클라이언트 지문입니다. 지원되는 값으로는 chrome, firefox, safari, ios, edge, 360, qq가 있습니다. 일반적인 브라우저 지문을 사용하면 탐지를 피하는 데 도움이 됩니다.
spiderx: 선택.
spiderx=/path
REALITY 스파이더 위장을 위한 사용자 정의 경로입니다.
VLESS 예:
VLESS = vless, 1.2.3.4, 443, uuid=uuid, reality=true, server-name=www.microsoft.com, short-id=abcd, fingerprint=chrome
참고: REALITY는 기존 인증서를 사용하지 않습니다. 연결은 위장 서버의 실제 인증서를 사용합니다.
TCP Fast Open (실험적)
tfo: 선택
tfo=true
TCP Fast Open에 대한 자세한 정보는 Wikipedia에서 확인할 수 있습니다. TCP Fast Open을 활성화하면 예기치 않은 연결 실패가 발생할 수 있습니다.
AnyTLS 프록시 매개변수
AnyTLS는 패딩 난독화가 포함된 TLS 기반 프록시 프로토콜입니다.
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, skip-cert-verify=false, padding-scheme=ux
password: 필수.
인증에 사용되는 비밀번호/암호입니다.
sni (기본값: 호스트명)
sni=exmaple.com
TLS와 동일합니다.
skip-cert-verify: 선택
skip-cert-verify=true
TLS와 동일합니다.
padding-scheme: 선택
padding-scheme=ux
TLS 레코드 패딩 방식을 지정합니다. 지원되는 값: ux.
레이어 수와 레이어별 방식을 지정하여 여러 패딩 레이어를 구성할 수 있습니다:
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, stop=2, 0=ux, 1=ux
| 매개변수 | 설명 |
|---|---|
stop |
패딩 방식 레이어 수 |
0, 1, 2, ... |
각 레이어의 패딩 방식 (숫자 키) |
TUIC 프록시 매개변수
TUIC는 다중화된 TCP 및 UDP 릴레이를 제공하는 QUIC 기반 프록시 프로토콜입니다.
TUIC = tuic, 1.2.3.4, 443, uuid=uuid, password=password, sni=example.com, skip-cert-verify=false, alpn=h3
uuid: 필수.
인증을 위한 UUID입니다.
password: 필수.
인증을 위한 비밀번호입니다.
sni (기본값: 호스트명)
sni=exmaple.com
TLS와 동일합니다.
skip-cert-verify: 선택
skip-cert-verify=true
TLS와 동일합니다.
alpn: 선택
alpn=h3
QUIC 연결을 위한 ALPN 문자열을 지정합니다.
Hysteria2 프록시 매개변수
Hysteria2는 높은 처리량 시나리오를 위한 Brutal 혼잡 제어 기능이 있는 QUIC 기반 프록시 프로토콜입니다.
Hysteria2 = hysteria2, 1.2.3.4, 443, auth=password, sni=example.com, skip-cert-verify=false, up=10, down=100, alpn=h3
auth: 필수.
인증 비밀번호/토큰입니다.
sni (기본값: 호스트명)
sni=exmaple.com
TLS와 동일합니다.
skip-cert-verify: 선택
skip-cert-verify=true
TLS와 동일합니다.
up: 선택 (Mbps)
up=10
업로드 대역폭(Mbps)입니다.
down: 선택 (Mbps)
down=100
다운로드 대역폭(Mbps)입니다.
alpn: 선택
alpn=h3
QUIC 연결을 위한 ALPN 문자열을 지정합니다.
obfs: 선택
obfs=salamander
QUIC 트래픽에 대한 Salamander 난독화를 활성화합니다. Salamander는 BLAKE2b-256 XOR을 사용하여 QUIC 패킷을 난독화하여 DPI(심층 패킷 검사)에 저항성을 갖게 합니다.
obfs-password: 선택
obfs-password=your-obfuscation-key
Salamander 난독화에 사용되는 비밀번호/키입니다. obfs=salamander가 설정된 경우 필수입니다.
WireGuard 프록시 매개변수
WireGuard는 현대적인 VPN 프로토콜입니다. Chute는 WireGuard를 인라인 또는 명명된 [WireGuard] 섹션을 참조하여 아웃바운드 프록시 정책으로 지원합니다.
인라인 구성:
WireGuard = wireguard, private-key=base64key, peer-public-key=base64key, self-ip=10.0.0.2, server=1.2.3.4, port=51820
섹션 참조 (권장):
WireGuard = wireguard, section-name=wg0
[WireGuard] 섹션 구문은 WireGuard 설정을 참조하세요.
private-key: 필수 (인라인 전용).
Base64로 인코딩된 WireGuard 개인 키입니다.
peer-public-key: 필수 (인라인 전용).
Base64로 인코딩된 WireGuard 피어 공개 키입니다.
self-ip: 선택 (인라인).
WireGuard 인터페이스에 할당된 로컬 IP 주소입니다(예: 10.0.0.2).
self-ipv6: 선택 (인라인).
WireGuard 인터페이스에 할당된 로컬 IPv6 주소입니다.
server: 선택 (인라인).
원격 WireGuard 서버 주소입니다.
port: 선택 (인라인).
원격 WireGuard 서버 포트입니다.
preshared-key: 선택.
양자 후 저항을 위한 Base64 인코딩 사전 공유 키입니다.
keepalive: 선택 (초).
keepalive=25
NAT 통과를 위한 지속적 킵얼라이브 간격입니다.
mtu: 선택.
mtu=1420
WireGuard 인터페이스의 MTU입니다.
reserved-bits: 선택.
reserved-bits=0,1,2
WireGuard 핸드셰이크용 예약 비트입니다.
ShadowTLS 프록시 매개변수
ShadowTLS는 표준 TLS 1.3 세션 내에서 트래픽을 캡슐화하는 TLS 기반 프록시 프로토콜입니다. TLS 핸드셰이크 후 비밀번호 기반 핸드셰이크를 사용하여 프록시 연결을 인증하고 설정합니다.
ShadowTLS = shadowtls, 1.2.3.4, 443, password=password, sni=example.com, skip-cert-verify=false, fingerprint=chrome
password: 필수.
ShadowTLS 핸드셰이크 인증에 사용되는 비밀번호입니다.
sni (기본값: 호스트명)
sni=example.com
TLS와 동일합니다.
skip-cert-verify: 선택
skip-cert-verify=true
TLS와 동일합니다.
fingerprint: 선택
fingerprint=chrome
모방할 TLS 클라이언트 지문입니다. 지원되는 값으로는 chrome, firefox, safari, ios, edge, 360, qq가 있습니다. 일반적인 브라우저 지문을 사용하면 탐지를 피하는 데 도움이 됩니다.
SSH 프록시 매개변수
전체 문서는 SSH 프록시를 참조하세요.