프록시 프로바이더
proxy-providers를 사용하면 구독 링크를 통해 여러 노드를 동적으로 가져올 수 있어, 각 노드를 proxies에 일일이 작성할 필요가 없습니다. 프록시 그룹은 use 필드로 프록시 프로바이더를 가져옵니다.
설정 예시
proxy-providers: provider1: type: http url: "http://test.com" path: ./proxy_providers/provider1.yaml interval: 3600 health-check: enable: true url: https://www.gstatic.com/generate_204 interval: 300 lazy: true filter: "(?i)港|hk|hongkong|hong kong" override: additional-prefix: "[provider1] " udp: true
기본 필드
provider1)필수프로바이더 이름으로, 중복될 수 없으며 프록시 그룹 이름과 구분하는 것을 권장합니다.
type필수선택 가능한 값: http/file/inline.
urltype이 http일 때 필수구독 주소입니다.
path선택다운로드 후 저장할 파일 경로로, 입력하지 않으면 URL의 MD5를 파일명으로 사용합니다. 보안상의 이유로 경로는 HomeDir 내부에서만 허용되며, 다른 위치를 사용하려면 SAFE_PATHS 환경 변수를 설정해야 합니다.
interval선택프로바이더를 업데이트하는 시간 간격입니다(단위: 초).
proxy선택지정한 프록시를 경유해 다운로드/업데이트합니다.
size-limit기본값 0다운로드 파일의 최대 크기를 제한합니다(단위: 바이트). 0은 제한 없음을 의미합니다.
header선택사용자 지정 HTTP 요청 헤더로, 예를 들어 인증이 필요한 구독 주소에 Authorization을 추가할 수 있습니다.
payloadtype이 inline일 때 필수노드 내용을 인라인으로 직접 작성하며, 형식은 proxies와 동일합니다. http/file 해석에 실패했을 때 대체 노드로도 사용됩니다.
health-check 헬스체크
| 필드 | 설명 |
|---|---|
enable | 활성화 여부 |
url | 헬스체크 주소로, https://www.gstatic.com/generate_204 또는 https://cp.cloudflare.com을 권장합니다 |
interval | 검사 간격(단위: 초) |
timeout | 타임아웃(단위: 밀리초) |
lazy | 기본값 true, 프로바이더 내 노드가 사용되지 않을 때는 테스트하지 않습니다 |
expected-status | 기대하는 HTTP 응답 상태 코드로, 작성법은 프록시 그룹 공통 필드를 참고하세요 |
override 오버라이드
이 프로바이더 내 모든 노드의 필드를 일괄적으로 덮어씁니다. 자주 사용하는 방법은 다음과 같습니다:
| 필드 | 설명 |
|---|---|
additional-prefix / additional-suffix | 노드 이름에 접두사/접미사를 일괄 추가 |
proxy-name | 정규식으로 노드 이름을 치환합니다. pattern으로 매칭하고 target으로 치환합니다($1 그룹 참조 지원) |
udp / tfo / mptcp / skip-cert-verify / dialer-proxy / interface-name / routing-mark / ip-version | 공통 필드를 일괄로 덮어쓰며, 의미는 각각의 공통 필드 설명과 동일합니다 |
up / down | 대역폭을 일괄 설정합니다(Hysteria/Hysteria2 전용) |
udp-over-tcp | UDP over TCP를 일괄 설정합니다(Shadowsocks 전용) |
필터링과 복호화
filter / exclude-filter선택키워드나 정규식으로 노드를 필터링/제외합니다. 여러 정규식은 `로 구분합니다.
exclude-type선택정규식을 지원하지 않으며 |로 구분합니다. 노드 유형별로 제외하며, 예: "ss|http".
age-secret-key선택구독 파일이 age로 암호화되어 있다면 여기에 키를 입력하면 자동으로 복호화됩니다. mihomo age keygen으로 해당 키를 생성할 수 있습니다.
프로바이더 파일 자체의 작성법(YAML / URI / Base64 세 가지 형식)은 프록시 프로바이더 콘텐츠를 참고하세요.