규칙

Chute는 사용자 정의 규칙에 따라 요청을 다른 프록시 서버로 전달하거나 호스트에 직접 연결할 수 있습니다.

우선순위

규칙은 설정 파일에 나타나는 순서대로 첫 번째부터 마지막까지 매칭됩니다. 즉, 목록 상단의 규칙이 하단의 규칙보다 높은 우선순위를 가집니다.

구성

각 규칙은 규칙 유형, 트래픽 매처(FINAL 규칙 제외), 프록시 정책의 3부분으로 구성됩니다: TYPE, VALUE, POLICY. 예: DOMAIN-SUFFIX,apple.com, DIRECT IP-CIDR, 192.168.0.0/16,ProxyA

프록시 정책은 프록시, 정책 그룹, DIRECT 또는 REJECT를 포함한 정책 이름 중 하나로 지정되어야 합니다. 규칙은 기본 동작을 정의하기 위해 FINAL 규칙으로 끝나는 것이 좋습니다. 설정에 FINAL 규칙이 없으면 Chute는 FINAL,DIRECT가 추가된 것처럼 동작합니다.

예:

[Rule]
DOMAIN-SUFFIX,company.com,ProxyA
DOMAIN-KEYWORD,google,DIRECT
GEOIP,US,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,ProxyB

규칙 유형

도메인 기반 규칙

유형 구문 매칭 대상
DOMAIN DOMAIN,www.apple.com,Proxy 정확한 도메인 일치
DOMAIN-SUFFIX DOMAIN-SUFFIX,apple.com,Proxy 도메인 접미사 일치
DOMAIN-KEYWORD DOMAIN-KEYWORD,google,Proxy 도메인에 키워드 포함
DOMAIN-WILDCARD DOMAIN-WILDCARD,*.apple.com,Proxy 와일드카드 도메인 일치
DOMAIN-REGEX DOMAIN-REGEX,^mail\..+\.com$,Proxy 도메인 정규식 일치
DOMAIN-SET DOMAIN-SET,https://example.com/domains.txt,DIRECT URL에서 다운로드하는 도메인 세트

IP 기반 규칙

유형 구문 매칭 대상
IP-CIDR IP-CIDR,192.168.0.0/16,DIRECT CIDR 범위의 IP 주소
IP-CIDR6 IP-CIDR6,2001:db8::/32,DIRECT CIDR 범위의 IPv6 주소
GEOIP GEOIP,US,DIRECT GeoIP 데이터베이스의 국가 코드
IP-ASN IP-ASN,13335,DIRECT 지정된 ASN에 속하는 IP 주소

HTTP 수준 규칙

유형 구문 매칭 대상
USER-AGENT USER-AGENT,Instagram*,DIRECT User-Agent 헤더
URL-REGEX URL-REGEX,^http://google\.com,DIRECT URL이 정규식과 일치
PROTOCOL PROTOCOL,TLS,Proxy 감지된 프로토콜 (HTTP/TLS/QUIC 등)

프로세스 규칙 (Mac 전용)

유형 구문 매칭 대상
PROCESS-NAME PROCESS-NAME,Telegram,Proxy 프로세스 이름 (와일드카드 매칭)
PROCESS-PATH PROCESS-PATH,/Applications/Safari.app,Proxy 전체 프로세스 경로 (와일드카드 매칭)
PROCESS-NAME-REGEX PROCESS-NAME-REGEX,^Safari$,DIRECT 프로세스 이름 (정규식 매칭)

포트 및 소스 규칙

유형 구문 매칭 대상
DEST-PORT DEST-PORT,80,DIRECT 대상 포트
SRC-IP SRC-IP,192.168.20.100,DIRECT 소스 IP 주소 (단일 IP 또는 CIDR)
SRC-PORT SRC-PORT,52345,DIRECT 소스 포트
IN-PORT IN-PORT,6152,DIRECT Chute의 수신 프록시 포트

고급 매칭 규칙

유형 구문 매칭 대상
SUBNET SUBNET,TYPE:WIFI,Proxy 네트워크 서브넷 속성 (TYPE, BSSID, SSID, ROUTER)
HOSTNAME-TYPE HOSTNAME-TYPE,AAAA,Proxy DNS 레코드 유형 (A/AAAA 등)
IN-TYPE IN-TYPE,SOCKS5,Proxy 인바운드 연결 유형 (HTTP/SOCKS5/TUN)
IN-USER IN-USER,user1,Proxy 인바운드 인증 사용자 이름
IN-NAME IN-NAME,my-proxy,Proxy 인바운드 프록시 서버 이름

알림: 고급 매칭 규칙은 설정 파서에서 허용되지만, 현재 Chute 릴리스는 이 규칙들이 매칭하는 세션 속성을 아직 채우지 않으므로 런타임에 어떤 트래픽과도 일치하지 않습니다. 향후 릴리스를 위해 예약되어 있습니다.

논리 조합 규칙

유형 구문 매칭 대상
AND AND,((DOMAIN,example.com),(DEST-PORT,443)),Proxy 모든 하위 규칙이 일치
OR OR,((DOMAIN,example.com),(DOMAIN,test.com)),Proxy 하나 이상의 하위 규칙이 일치
NOT NOT,((DOMAIN,example.com)),Proxy 하위 규칙이 일치하지 않음

특별 규칙

유형 구문 매칭 대상
RULE-SET RULE-SET,SYSTEM,DIRECT URL, 규칙 제공자 또는 내장 세트의 규칙 묶음
SCRIPT SCRIPT,MyRuleScript,PROXY JavaScript 기반 사용자 정의 규칙 매칭
FINAL FINAL,ProxyB 다른 규칙이 일치하지 않을 때의 기본값 (마지막에 위치해야 함)

옵션

no-resolve

호스트명이 도메인인 요청의 경우, Chute는 규칙 목록을 두 번에 걸쳐 평가합니다. 첫 번째 패스에서는 IP 기반 규칙(GEOIP, IP-CIDR, IP-ASN)을 건너뜁니다. 다른 규칙이 일치하지 않으면 Chute는 DNS로 도메인을 해석한 후 해석된 IP 주소로 규칙을 다시 평가합니다. no-resolve 옵션을 추가하면 IP 기반 규칙이 두 번째 패스에서도 계속 건너뛰어지므로, 이미 IP 주소를 가진 요청만 매칭합니다.

GEOIP,US,DIRECT,no-resolve
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

참고: 2-패스 평가로 인해, 도메인 호스트명을 가진 요청의 경우 뒤에 있는 비 IP 규칙이 앞에 있는 IP 기반 규칙보다 먼저 일치할 수 있습니다. DNS 해석이 실패하면 IP 기반 규칙은 단순히 일치하지 않게 되고 FINAL 규칙이 적용됩니다. 규칙 평가가 중단되지는 않습니다.

force-remote-dns

로컬 DNS 대신 원격 프록시 서버를 통해 DNS 해석을 강제합니다.

DOMAIN-SUFFIX,google.com,Proxy,force-remote-dns

알림: 이 옵션은 현재 호환성을 위해 파싱만 되며, 현재 릴리스에서는 효과가 없습니다.

extended-matching

도메인 기반 규칙 매칭을 연결 호스트명 외에 HTTP Host 헤더도 검사하도록 확장합니다. SNI 또는 CONNECT 대상이 Host 헤더와 다를 때 유용합니다.

DOMAIN-SUFFIX,example.com,Proxy,extended-matching

requires-resolve

SCRIPT 규칙의 경우, 이 옵션은 파서에서 허용되지만 스크립트 평가를 지연시키지 않습니다. $request.dnsResult는 세션이 이미 해석된 경우(예: IP 주소로 직접 요청하거나, DNS 해석 후 두 번째 매칭 패스)에만 스크립트에서 사용할 수 있습니다.

SCRIPT,MyRuleScript,PROXY,requires-resolve

pre-matching

정책이 REJECT인 규칙에만 유효합니다. 이 규칙은 일반 규칙 목록보다 먼저, 그리고 규칙 결과 캐시보다 먼저 별도의 패스로 평가되므로, 프로토콜 스니핑이나 DNS 해석 이전에도 거부가 적용됩니다.

DOMAIN-SUFFIX,tracker.example.com,REJECT,pre-matching

별칭

  • DOMAIN-MATCHDOMAIN-KEYWORD의 별칭으로 허용됩니다.
  • NETWORKPROTOCOL의 별칭으로 허용됩니다.

도메인 세트

Chute는 DOMAIN-SET 규칙 유형으로 외부 URL에서 도메인 세트를 로드하는 것을 지원합니다. 유형 뒤의 첫 번째 필드는 http(s) URL이어야 합니다. 선택적 update-interval 매개변수는 N초마다 파일을 다시 다운로드합니다.

DOMAIN-SET,https://example.com/domains.txt,DIRECT
DOMAIN-SET,https://example.com/domains.txt,DIRECT,update-interval=86400

도메인 세트 파일에는 한 줄에 하나씩 순수 도메인이 포함됩니다: example.com은 정확한 도메인과 일치하고, .example.com 또는 +.example.com은 해당 도메인과 모든 하위 도메인과 일치합니다. # 또는 //로 시작하는 줄은 주석입니다.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-07-28 17:49:04

results matching ""

    No results matching ""