규칙 프로바이더
프록시 프로바이더와 유사하게, rule-providers를 사용하면 온라인 주소에서 규칙 파일을 동적으로 가져올 수 있으며 규칙에서 RULE-SET으로 이를 참조합니다. 수백 개의 규칙을 rules에 직접 작성할 필요가 없습니다.
설정 예시
rule-providers: google: type: http path: ./rule1.yaml url: "https://raw.githubusercontent.com/.../Google.yaml" interval: 600 behavior: classical format: yaml rules: - RULE-SET,google,PROXY
필드 설명
google)필수프로바이더 이름으로, 중복될 수 없습니다.
type필수선택 가능한 값: http/file/inline.
urltype이 http일 때 필수규칙 파일 주소입니다.
path선택저장 경로로, 입력하지 않으면 URL의 MD5를 파일명으로 사용하며 HomeDir 내부로 제한됩니다(SAFE_PATHS로 확장 가능).
interval선택업데이트 간격(단위: 초)입니다.
proxy선택지정한 프록시를 경유해 다운로드/업데이트합니다.
behavior필수규칙 프로바이더의 동작 유형으로, 파일 내 각 줄을 어떻게 해석할지 결정합니다: domain(도메인 목록) / ipcidr(IP 대역 목록) / classical(완전한 규칙 문법, 거의 모든 유형 지원). 실제 파일 형식과 일치해야 하며, 작성법은 규칙 프로바이더 콘텐츠를 참고하세요.
format기본값 yaml파일 형식으로, yaml/text/mrs 중 선택 가능합니다. mrs는 바이너리 압축 형식으로 용량이 작고 로딩이 빠르지만 현재 domain/ipcidr 두 behavior만 지원합니다. mihomo convert-ruleset domain/ipcidr yaml/text XXX.yaml XXX.mrs로 변환할 수 있습니다.
path-in-bundle선택로컬 파일이 존재하지 않을 때는 HomeDir의 BundleMRS.7z에서 해당 경로에 맞는 파일을 우선 압축 해제합니다. 이 압축 파일은 meta-rules-dat에서 다운로드할 수 있습니다.
size-limit기본값 0다운로드 파일의 최대 크기를 제한합니다(단위: 바이트). 0은 제한 없음을 의미합니다.
header선택사용자 지정 HTTP 요청 헤더입니다.
payloadtype이 inline일 때 필수규칙 내용을 인라인으로 직접 작성합니다.