이 글의 목차
페이지는 열리지만 이미지나 로그인이 실패한다면 주소 표시줄의 주소에만 규칙을 추가하지 말고 실패한 요청의 실제 도메인을 찾으세요. 변경이 적용되려면 규칙의 위치, 지정한 정책의 존재 여부, 구독 업데이트 시 덮어쓰기 여부도 확인해야 합니다. 사용자 규칙 몇 개는 직접 작성하고, 계속 업데이트해야 하는 큰 목록은 규칙 집합으로 관리하세요.
페이지 일부만 실패하면 규칙이 어떤 도메인과 일치해야 할까?
페이지는 주 도메인, 로그인 도메인, 이미지 CDN, API에 각각 요청할 수 있습니다. 규칙은 실제 연결의 도메인, IP, 프로세스와 일치하는지 판단하며 주소창의 웹주소에 실패한 리소스가 포함되어 있지 않을 수 있습니다.
Rule 모드를 유지하고 Connections에서 실패한 요청을 찾으세요. 프록시가 필요할 때는 작동이 확인된 노드 하나로 고정합니다. 현재 정책과 의도한 정책을 비교하고 해당 요청에 필요한 규칙만 수정한 뒤 다시 요청하세요. 직접 연결할 요청에는 프록시 노드를 선택할 필요가 없습니다.
규칙 변경에 필요한 연결 정보
- 실패 연결의 완전한 도메인 또는 대상 IP
- 현재 표시된 규칙 유형과 내용
- 최종 사용 정책 그룹 또는 DIRECT
- 해당 연결이 실제로 사용해야 할 정책
규칙 순서: 구체적인 조건을 넓은 규칙보다 앞에 배치
Mihomo는 규칙을 위에서 아래로 확인하고 처음 일치한 규칙에서 멈춥니다. 구체적인 조건은 보통 더 넓은 규칙보다 앞에 배치합니다.
api.example.com은 규칙 순서를 설명하는 예시 도메인이므로 실제 서비스 테스트에 사용할 수 없습니다. 기존 Profile에 적용할 때는 Connections에 기록된 실제 도메인과 해당 구성에 이미 정의된 대상 그룹을 사용하세요. 그룹 이름은 정확히 일치해야 합니다. 프록시가 필요한 경우에만 그룹에서 사용 가능한 노드를 선택하고, 직접 연결하려는 경우에 DIRECT를 사용하세요.
proxy-groups:
- name: 代理选择
type: select
include-all: true
proxies:
- DIRECT
rules:
- DOMAIN,api.example.com,代理选择
- DOMAIN-SUFFIX,example.com,DIRECT
- MATCH,代理选择자신의 구성에 적용한 뒤 저장하고 다시 불러오세요. 변경 전 연결을 닫고 실제 대상에 다시 요청하세요. Connections에서 실제 도메인, 새로 일치한 규칙, 최종 연결 경로를 확인하세요. 이전 결과가 남아 있다면 연결 재사용 여부와 현재 Profile에 변경 사항이 적용됐는지 살펴보세요.
Clash Verge Rev에서 규칙을 추가하고 업데이트 후 유지되는지 확인
원격 구독 파일을 직접 수정하면 다음 업데이트에서 변경 사항이 덮어써질 수 있습니다. 사용자 규칙을 유지하려면 구독을 불러올 때 규칙을 추가하는 클라이언트의 규칙 덮어쓰기 기능을 사용하세요.
아래 절차는 Clash Verge Rev를 기준으로 합니다. 현재 구독 카드를 오른쪽 클릭해 규칙 편집을 여세요. 추가하는 규칙은 앞에 삽입하는 규칙 목록에 넣어 구독의 더 넓은 범위 규칙과 MATCH보다 먼저 적용되게 하세요. 다른 클라이언트는 해당 문서를 따르세요.
사용자 지정 규칙을 적용하고 구독 업데이트 후에도 유지
실제 요청과 목표 기록
Connections에서 실패한 요청의 도메인과 현재 일치한 규칙을 확인한 뒤 직접 연결할지 기존 프록시 그룹을 사용할지 결정하세요.
대상 정책의 사용 가능 여부 확인
현재 Profile에 이미 정의된 그룹 이름을 사용하세요. 프록시가 필요한 경우에는 그룹에서 사용 가능한 노드를 선택하세요. 그룹 이름이 보인다고 프록시를 사용했다고 판단할 수는 없습니다.
앞에 적용할 규칙 추가
Clash Verge Rev에서 현재 구독을 마우스 오른쪽 버튼으로 클릭하고 규칙 편집을 열어 항목을 추가하세요. 전체 도메인을 정확히 일치시키려면 유형으로 DOMAIN을 선택하고 Connections에 기록된 도메인을 입력하세요. 정책은 기존 그룹 또는 DIRECT, 위치는 앞에 추가하는 규칙을 선택하세요. 다른 클라이언트는 해당 문서를 따르고 원격 구독 캐시를 덮어쓰지 마세요.
다시 불러오고 새 요청 보내기
변경 전 연결을 닫고 같은 동작을 반복하세요. 새로 일치한 규칙과 최종 연결 경로를 확인하고 실제로 실패했던 리소스가 정상화됐는지 점검하세요.
구독 업데이트 후 다시 확인
현재 구독을 수동으로 업데이트한 뒤 새로 요청해 같은 규칙, 실제 연결 경로, 페이지 결과를 확인하세요. 실패하면 이번에 추가한 덮어쓰기를 끄고 사용 가능한 원래 구성을 보관하세요.
두 요청 모두 같은 사용자 지정 규칙에 맞아야 "현재 적용됨"과 "업데이트 후 유지됨"을 함께 입증할 수 있습니다. 편집기에서 문구를 검색할 수 있다는 사실만으로 Mihomo 실행 설정에 들어갔다고 볼 수 없습니다.
이전 안내의 prepend-rules와 현재 규칙 편집 기능
이전 안내에서는 구독 규칙보다 앞에 사용자 규칙을 추가하는 데 prepend-rules를 사용했을 수 있습니다. 아래 예시는 그 구문을 알아보기 위한 것입니다. 현재 편집 메뉴와 필드 제한은 주의 사항을 확인하세요.
prepend-rules:
- DOMAIN,api.example.com,DIRECT
- DOMAIN-SUFFIX,intranet.example,DIRECT계속 업데이트되는 목록이 필요할 때 rule-providers 사용
사용자 지정 규칙이 몇 개뿐이라면 현재 클라이언트가 지원하는 덮어쓰기로 저장하고 구독 업데이트 후에도 유효한지 확인하세요. 프로젝트가 계속 관리하는 큰 목록이 필요할 때 rule-providers에 규칙 데이터를 저장하고 RULE-SET으로 참조하세요. 일치한 뒤 사용할 정책은 여전히 rules의 대상이 결정합니다.
provider는 규칙 데이터일 뿐 노드를 직접 선택하지 않습니다. 예시의 "RULE-SET,work-domains,代理选择"은 일치 결과를 이미 정의된 "代理选择"에 전달합니다. 자체 그룹 이름으로 바꾸면 proxy-groups와 rules 두 곳이 완전히 일치해야 합니다.
proxy-groups:
- name: 代理选择
type: select
include-all: true
proxies:
- DIRECT
rule-providers:
work-domains:
type: http
behavior: domain
format: yaml
url: https://rules.example.com/work.yaml
path: ./ruleset/work.yaml
interval: 86400
rules:
- RULE-SET,work-domains,代理选择
- MATCH,代理选择behavior와 format: 목록 내용, 파일 형식, 조합 제한
rule-provider의 behavior
| 값 | 파일에 넣을 내용 | 적합하지 않은 내용 |
|---|---|---|
| domain | 도메인, 도메인 접미사 같은 도메인 집합 | IP 네트워크 범위 및 완전한 클래식 규칙 행 |
| ipcidr | IPv4 / IPv6 CIDR | DOMAIN, PROCESS-NAME 같은 조건 |
| classical | DOMAIN-SUFFIX,...처럼 유형과 일치 조건을 작성하며 정책 대상은 포함하지 않음 | 순수 도메인만 관리할 때는 지나치게 장황함 |
behavior는 목록의 내용을, format은 파일 형식을 지정합니다. yaml, text, mrs를 임의로 조합할 수는 없습니다. mrs는 domain과 ipcidr만 지원하고 classical은 지원하지 않습니다. 규칙 출처가 공개한 behavior와 format을 실제 내용과 대조하세요. 다운로드에 성공했다고 조합이 올바르거나 파일을 불러온 것은 아닙니다.
URL 접미사로 형식을 추측하지 마세요. 규칙 출처가 형식을 바꾼 뒤에도 클라이언트에 이전 캐시가 남을 수 있습니다. 로그의 provider 이름과 해석 오류를 보고 실제로 어떤 내용을 불러오는지 확인하세요.
규칙 세트 다운로드 실패: 주소, 간격, 프록시, 캐시
- type
- http는 원격에서 업데이트하고 file은 로컬 파일을 읽으며 inline은 내용을 설정에 직접 넣습니다.
- url
- 원격 규칙 소스 주소입니다. 401, 403, 404, timeout은 HTTP 결과에 따라 처리하세요.
- interval
- 업데이트 간격의 단위는 초입니다. 지나치게 짧으면 요청만 늘고 규칙 정확도는 높아지지 않습니다.
- proxy
- 규칙 소스를 다운로드할 때 사용할 프록시를 지정합니다. 소스 사이트가 로컬에서 접근 가능하면 설정에 따라 직접 연결할 수도 있습니다.
- path
- 캐시 파일 경로입니다. Mihomo는 기본적으로 HomeDir 내부만 허용하며 외부 경로에는 SAFE_PATHS가 필요합니다.
provider 다운로드가 실패해도 기존 캐시를 계속 사용할 수 있으므로 "웹사이트가 열림"은 오늘 업데이트가 성공했다는 뜻이 아닙니다. provider의 이번 업데이트 시각과 로그를 확인하고 새 소스가 복원될 때까지 기존 캐시를 보관하세요. 규칙 파일 전체를 바로 삭제하지 마세요.
규칙이 적용되지 않을 때 다운로드, 형식, 참조 이름, 순서 확인
provider download 401 / 403 / 404
원격 주소, 권한 또는 이전된 경로를 처리하세요. 규칙 구문은 아직 관여하지 않았습니다.
provider parse error
behavior, format, 소스 파일의 실제 내용을 대조하세요.
RULE-SET not found
rules의 참조 이름과 rule-providers 키 이름이 일치하지 않습니다.
proxy group not found
규칙 대상 그룹이 현재 구독에 없거나 이름이 바뀌었습니다.
규칙을 불러왔지만 항상 앞 규칙에 먼저 맞음
구체적인 규칙이 넓은 규칙과 MATCH보다 앞에 오도록 순서를 조정하세요.
구독 업데이트 후 사용자 지정 항목이 사라짐
원격 파일 직접 수정을 멈추고 현재 Profile에 연결된 덮어쓰기를 사용하세요.
규칙 추가 후 같은 페이지의 다른 연결 확인
규칙이 많을수록 서로 가릴 가능성이 커집니다. 대상 도메인을 검증한 뒤 같은 페이지의 다른 연결도 예상대로 직접 연결되거나 프록시를 사용하는지 확인하세요. 규칙 세 개만 필요하다면 출처를 모르는 규칙 수만 개의 목록을 넣을 필요가 없습니다.
추가한 규칙의 도메인, 일치 조건, 대상 그룹을 기록해 노드나 Profile 이름이 변경된 뒤 참조를 확인할 수 있게 하세요.
