정책 그룹
정책 그룹은 여러 정책을 포함할 수 있습니다. 프록시 정책, 다른 정책 그룹 또는 내장 정책(DIRECT 및 REJECT)이 될 수 있습니다.
다섯 가지 그룹 유형이 있습니다: select, url-test, fallback, load-balance 및 ssid. [Proxy Group] 섹션은 정책 그룹을 선언합니다. smart 유형도 허용되며 url-test로 처리됩니다.
수동 선택 그룹
사용자 인터페이스에서 사용할 정책을 선택합니다.
SelectGroup = select, ProxyHTTP, ProxyHTTPS, DIRECT, REJECT
선택적 매개변수: default=<index>(초기 선택 멤버 인덱스), policy-provider:Name(프록시 제공자에서 멤버 가져오기), filter= / exclude-filter=(제공자가 제공한 멤버에 적용되는 정규식), 그리고 HIDDEN=true.
iOS 버전에서는 Today Widget을 사용하여 첫 번째 'select' 그룹의 정책을 빠르게 전환할 수 있습니다. macOS 버전에서는 메뉴 바 메뉴에서 정책을 전환할 수 있습니다.
자동 URL 테스트 그룹
URL에 대한 지연 시간을 벤치마킹하여 사용할 정책을 자동으로 선택합니다.
AutoTestGroup = url-test, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
매개변수
url: 선택
Chute는 URL에 HTTP GET 요청을 보냅니다. 테스트는 응답 데이터 수신 여부만 확인하며, 응답이 HTTP 오류이더라도 상관없습니다. 생략하면 기본 프로브 URL http://www.gstatic.com/generate_204이 사용됩니다.
interval: 선택, 초 (기본값: 600초).
정책을 재테스트하는 빈도입니다. 전역 1초 타이머가 정책 그룹의 사용 여부와 관계없이 interval초마다 자동 재테스트를 수행합니다. 두 가지 예외가 있습니다. lazy=true인 그룹은 처음 사용될 때까지 테스트를 시작하지 않으며, 그룹이 idle-timeout보다 오래 유휴 상태로 남아 있으면 테스트가 일시 중지됩니다.
tolerance: 선택, ms (기본값: 100ms).
새 승자의 점수가 이전 승자의 점수에 허용 오차를 더한 값보다 높을 때만 정책이 변경됩니다.
timeout: 선택, 초 (기본값: 5초).
시간 초과 내에 완료되지 않으면 정책을 포기합니다.
lazy: 선택 (true/false, 기본값: false).
활성화되면 정책은 시작 시가 아닌 첫 사용 시에만 테스트됩니다.
max-failed-times: 선택 (기본값: 0, 비활성화).
정책이 비정상으로 간주되기까지의 연속 테스트 실패 횟수입니다. 이 옵션은 로드 밸런스 그룹에서만 효과가 있으며, 그곳에서 비정상 정책이 선택에서 제외됩니다. url-test 및 fallback 그룹에서는 실패 횟수가 집계되기는 하지만 선택에는 영향을 주지 않습니다. 설정하지 않으면(0) 테스트 실패로 정책이 제외되지 않습니다.
expected-status: 선택 (기본값: 비어 있음).
expected-status=204
예약됨. 현재 커널에서는 파싱만 되고 효과가 없습니다 — 상태 코드와 관계없이 응답 데이터를 수신하는 즉시 테스트가 성공한 것으로 처리됩니다.
idle-timeout: 선택, 초.
idle-timeout = 120
정책 그룹이 이 시간보다 오래 사용되지 않으면(새 연결이 이 그룹에서 정책을 가져가지 않으면) 주기적인 URL 테스트가 일시 중지됩니다. 그룹이 다시 사용되면 테스트가 재개됩니다. 이 옵션으로 연결이 종료되는 일은 없습니다.
HIDDEN=true, filter=, exclude-filter=, policy-provider:Name도 지원됩니다.
폴백 그룹
우선순위에 따라 사용 가능한 정책을 선택합니다. 가용성은 자동 URL 테스트 그룹과 마찬가지로 URL에 접근하여 테스트합니다. 앞에 정의된 정책이 높은 우선순위를 가집니다.
FallbackGroup = fallback, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
매개변수
url: 선택
테스트할 URL을 지정합니다. 생략하면 기본 프로브 URL http://www.gstatic.com/generate_204이 사용됩니다.
interval: 선택, 초 (기본값: 600초).
정책을 재테스트하는 빈도입니다. 자동 URL 테스트 그룹과 동일한 의미입니다.
timeout: 선택, 초 (기본값: 5초).
시간 초과까지 완료되지 않으면 정책을 포기합니다.
lazy / max-failed-times: 선택.
자동 URL 테스트 그룹과 동일합니다. HIDDEN=true, filter=, exclude-filter=, policy-provider:Name도 지원됩니다.
SSID 그룹
현재 Wi-Fi SSID에 따라 정책을 선택합니다.
SSIDGroup = ssid, default = ProxyHTTP, cellular = ProxyHTTP, SSIDName = ProxySOCKS5
매개변수
default: 필수.
일치하는 SSID 옵션이 발견되지 않았을 때의 정책입니다.
cellular: 선택.
셀룰러 네트워크에서의 정책입니다. 제공되지 않으면 기본 정책이 사용됩니다.
default외에 최소 하나의 SSID 매핑(예:SSIDName = ProxySOCKS5)이 필요합니다.
로드 밸런스 그룹
로드 밸런싱 전략을 사용하여 여러 프록시에 요청을 분산합니다.
LBGroup = load-balance, ProxySOCKS5, ProxyHTTPS, url = http://www.google.com/generate_204, strategy = round-robin
매개변수
strategy: 선택 (기본값: round-robin)
로드 밸런싱 전략을 지정합니다:
| 전략 | 설명 |
|---|---|
round-robin |
모든 프록시에 순서대로 균등하게 요청 분산 |
consistent-hashing |
동일한 호스트명을 일관되게 동일한 프록시로 라우팅 |
sticky-sessions |
마지막으로 선택한 프록시를 모든 연결에 계속 재사용. 고정된 선택은 전역이며(클라이언트별이 아님) 선택된 시점부터 600초 후 만료 |
url: 선택
url = http://www.google.com/generate_204
Chute는 HTTP GET 요청을 보내 프록시 가용성을 테스트합니다. 생략하면 기본 프로브 URL http://www.gstatic.com/generate_204이 사용됩니다. 테스트 결과는 max-failed-times가 0보다 클 때만 선택에 영향을 주며, 기본값 0에서는 비정상 프록시가 제외되지 않습니다.
interval: 선택, 초 (기본값: 600초).
interval = 300
프록시 가용성을 재테스트하는 빈도입니다.
timeout: 선택, 초 (기본값: 5초).
timeout = 3
가용성 테스트 요청의 시간 초과입니다.
lazy: 선택 (true/false, 기본값: false).
자동 URL 테스트 그룹과 동일합니다. 그룹이 처음 사용될 때까지 테스트를 시작하지 않습니다.
max-failed-times: 선택 (기본값: 0, 비활성화).
max-failed-times = 3
프록시가 비정상으로 표시되어 로드 밸런싱에서 제외되기까지의 연속 테스트 실패 횟수입니다. 기본값 0에서는 테스트 결과로 프록시가 제외되지 않습니다. 모든 프록시가 비정상이면 다시 모든 프록시가 사용됩니다.
HIDDEN: 선택 (true/false, 기본값: false).
HIDDEN = true
활성화되면 정책 그룹이 사용자 인터페이스에서 숨겨집니다. 이 키는 관례상 대문자로 쓰지만 대소문자를 구분하지 않고 매칭되므로 hidden=true도 동작합니다. select, url-test, fallback 그룹에서도 사용할 수 있습니다.
참고:
interrupt-exist-connections매개변수는 이제 전역[General]설정입니다. 기타 옵션을 참조하세요.
프록시 제공자
프록시 제공자를 사용하면 외부 소스(파일 또는 URL)에서 프록시 목록을 가져올 수 있습니다. [Proxy Provider] 섹션에 정의됩니다:
[Proxy Provider]
MyProvider = url=https://example.com/proxies.yaml, interval=3600
매개변수
| 매개변수 | 필수 | 설명 |
|---|---|---|
type |
아니오 | http(기본값), file 또는 inline |
url |
type=http일 때 예 |
프록시 목록을 가져올 URL |
path |
type=file일 때 예 |
프록시 목록의 로컬 파일 경로 |
interval |
아니오 | 업데이트 간격(초) (기본값: 86400). 0 이하의 값은 자동 갱신을 비활성화합니다 |
format |
아니오 | 페이로드 형식. 값은 파싱되지만 변환은 현재 항상 mihomo-YAML 변환기를 사용합니다 |
filter |
아니오 | 일치하는 프록시 이름만 포함하는 필터 정규식 |
exclude-filter |
아니오 | 일치하는 프록시 이름을 제외하는 필터 정규식 |
페이로드는
proxies:(또는payload:) 목록이 있는 mihomo 스타일 YAML 문서여야 합니다.
프록시 제공자는 정책 그룹에서 policy-provider: 접두사로 참조됩니다:
[Proxy Group]
MyGroup = select, policy-provider:MyProvider
이 페이지는 영어판의 번역본입니다. 내용이 다를 경우 영어판이 우선합니다.