문서 설정 규칙 프로바이더

규칙 프로바이더

프록시 프로바이더와 유사하게, rule-providers를 사용하면 온라인 주소에서 규칙 파일을 동적으로 가져올 수 있으며 규칙에서 RULE-SET으로 이를 참조합니다. 수백 개의 규칙을 rules에 직접 작성할 필요가 없습니다.

설정 예시

config.yaml YAML
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일 때 필수

규칙 내용을 인라인으로 직접 작성합니다.