Shadowrocket 규칙 설정: 특정 사이트만 PROXY로 연결하고 나머지는 DIRECT

DOMAIN-SUFFIX와 DOMAIN-KEYWORD로 프록시를 사용할 사이트를 지정하고, FINAL,DIRECT로 나머지 연결을 처리하세요. Global Routing을 Config로 설정하면 일부 사이트만 프록시를 이용합니다.

이 글의 핵심

사용 가능한 연결이 있고 프록시 적용 범위를 지정한 사이트로 제한하려는 사용자를 위한 안내입니다. 먼저 Config 모드를 확인하고, 설정에 도메인 규칙을 순서대로 작성한 뒤 FINAL,DIRECT로 일치하지 않는 연결을 처리하세요. 이어서 요청 기록에서 페이지가 불러오는 도메인을 확인해, 웹페이지가 열린다는 이유만으로 규칙이 제대로 작동한다고 오판하지 않도록 합니다.

1. 대상 플랫폼과 규칙 적용 전 확인 사항

Shadowrocket은 iPhone, iPad, Mac, Windows, Android, Linux에서 사용할 수 있습니다. 플랫폼별로 두 가지 방식으로 제공됩니다. iPhone/iPad 버전은 App Store에서 2.99달러에 한 번 결제해 이용하며, 시스템 요구 사항은 App Store 페이지를 확인하세요. Mac(Apple 칩 및 Intel), Windows, Android, Linux 버전은 무료입니다. 플랫폼별 안내는 다운로드 페이지에서 확인하세요. 아래에서는 iPhone/iPad의 Home, Config, Settings 화면 용어를 사용합니다. 다른 플랫폼에서는 해당하는 설정 및 라우팅 메뉴를 이용하세요.

규칙은 연결에 적용할 정책을 정할 뿐, 연결에 필요한 계정 정보나 접속 정보를 만들지는 않습니다. 이 안내는 사용자가 이용 중인 서비스와 구독을 보유하고 있고, 연결이 정상 작동하는 것을 전제로 합니다. 이 사이트는 노드나 구독을 제공·판매·추천하지 않습니다. 앱 구매 비용에는 네트워크 서비스가 포함되지 않습니다.

구독으로 가져온 연결 목록과 Config의 규칙은 서로 다른 설정입니다. 연결 목록을 업데이트해도 구성 파일 선택은 바뀌지 않습니다. 원격 구성을 업데이트하면 직접 수정한 내용이 덮어써질 수 있습니다. 시작하기 전에 수정 대상이 연결 매개변수인지, 구독 항목인지, 라우팅 구성인지 확인하세요.

2. Global Routing에서 Config 선택

특정 사이트에만 프록시를 적용하려면 규칙이 연결을 판단해야 합니다. Home → Global Routing에서 Config를 선택하면 현재 구성에 따라 연결을 처리합니다. 특정 사이트가 일시적으로 열리지 않는다는 이유로 Proxy로 계속 전환하지 마세요. 설정 내용이 그대로여도 실제 라우팅 범위가 달라집니다.

Config: 구성에 따라 처리

권장

현재 구성의 규칙을 적용합니다. 지정한 도메인과 일치하면 PROXY를 사용하고, 일치하지 않으면 FINAL,DIRECT로 처리합니다.

적합한 경우: 이 안내처럼 지정한 사이트만 프록시를 사용하고 나머지는 직접 연결할 때

Proxy: 전체 프록시 모드

클라이언트가 처리하는 모든 연결을 프록시로 보냅니다. 이 안내의 도메인 목록에 따라 사이트를 구분하지 않습니다.

적합한 경우: 프록시 연결이 작동하는지 잠시 확인할 때. 확인 후 Config로 되돌리세요.

Direct: 전체 직접 연결 모드

클라이언트가 처리하는 모든 연결을 직접 연결합니다. 도메인 규칙이 PROXY를 선택하는지 확인하는 용도로 사용할 수 없습니다.

적합한 경우: 로컬 네트워크의 직접 연결이 정상인지 잠시 확인할 때

Scene: 시나리오 모드

설정된 시나리오에 따라 라우팅을 처리합니다. 문제를 확인하기 전에 시나리오 설정을 살펴보세요. Scene이라는 표시만으로 최종 정책을 판단할 수는 없습니다.

적합한 경우: 명확하게 설정된 시나리오를 사용하는 경우. 이 안내의 검증 시작점으로는 권장하지 않습니다.

확인 순서: 모드를 먼저 확인한 다음 규칙 수정

먼저 Global Routing을 Config로 고정하고 현재 구성 파일 이름을 확인하세요. Proxy 모드인 상태에서는 DIRECT 규칙을 추가해도 이 안내의 분류 목표가 제대로 적용되는지 확인할 수 없습니다.

3. 최소 규칙: 도메인 목록과 FINAL,DIRECT

범위를 최소화해 프록시가 꼭 필요한 도메인만 추가하세요. 아래에서는 문법을 설명하기 위해 예시용으로 예약된 도메인을 사용하며, 실제 경로나 사이트를 추천하는 것은 아닙니다. 이미 완성된 구성이 있다면 관련 항목만 기존 [Rule] 섹션에 추가하세요. 같은 섹션을 새로 만들거나 예시로 구성 파일 전체를 덮어쓰지 마세요.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-SUFFIX,example.net,PROXY
FINAL,DIRECT

DOMAIN-SUFFIX,example.com,PROXY는 example.com과 www.example.com, api.example.com 같은 하위 도메인에 일치합니다. 임의의 문자열 포함 여부를 검사하는 규칙이 아니므로, 다른 도메인에 비슷한 문자열이 있다는 이유만으로 일치하지는 않습니다. 도메인 입력란에는 https://, 포트, 경로, 쿼리 매개변수를 넣지 마세요.

3개 항목
일반 도메인 규칙: 유형, 일치 값, 정책
2줄
최소 목록: 도메인 규칙 한 줄과 FINAL 한 줄
마지막
FINAL,DIRECT는 다른 일치 규칙 뒤에 배치

규칙은 위에서부터 순서대로 확인하며, 먼저 일치한 항목이 정책을 결정합니다. FINAL,DIRECT는 어떤 규칙에도 일치하지 않는 연결을 처리하는 기본 규칙이지, “한국 사이트 판별” 규칙이 아닙니다. 앞선 규칙에 일치하지 않은 연결은 모두 직접 연결을 시도합니다. 사이트에 직접 연결할 수 없더라도 FINAL이 작동하지 않는다는 뜻은 아닙니다. 현재 네트워크에서 해당 사이트에 직접 접속할 수 없는 경우도 있습니다.

PROXY는 프록시 정책을, DIRECT는 직접 연결을 뜻합니다. 이는 Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard 등의 프로토콜 이름이 아닙니다. 프로토콜은 기존 연결 매개변수에 따라 결정됩니다. 이 간단한 목록을 사용할 때는 PROXY가 의도한 프록시 연결을 참조하는지 확인하세요. 같은 이름의 정책 그룹이 DIRECT를 가리키고 있지는 않은지도 살펴봐야 합니다.

4. DOMAIN-KEYWORD와 IP 규칙의 적용 범위

도메인 이름에 포함된 문자열을 기준으로 일치시키려면 DOMAIN-KEYWORD를 사용할 수 있습니다. 다만 키워드 규칙은 보통 도메인 접미사 규칙보다 범위가 넓습니다. 정확한 도메인을 알고 있다면 DOMAIN-SUFFIX를 우선 사용하세요. 같은 문자열이 들어간 여러 도메인을 함께 처리해야 하는 경우에만 키워드 규칙을 고려하세요.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,PROXY
FINAL,DIRECT

이 예시에서는 두 번째 규칙이 도메인에 example이 포함된 연결과 일치하므로 첫 번째 규칙에 해당하지 않는 도메인도 PROXY를 사용할 수 있습니다. 이는 “example.com만 일치”시키는 것과 같은 규칙이 아닙니다. 실제 구성에서는 목적에 맞는 규칙 하나만 사용하고, 범위를 불필요하게 넓히는 짧은 키워드는 피하세요.

키워드일치 대상이 안내의 권장 방법
DOMAIN-SUFFIX도메인 및 하위 도메인대상 사이트의 정확한 도메인 목록에 사용
DOMAIN-KEYWORD도메인에 포함된 문자열일치 범위가 넓어지는 것이 의도한 동작인지 확인한 후 추가
IP-CIDRIPv4 주소 대역대상 대역을 알고 있는 경우에만 사용
GEOIP주소 데이터베이스에 따른 IP 지역 정보콘텐츠에 사용된 언어나 소속 기관, 도메인 지역을 판별하는 기준이 아님
FINAL앞선 규칙에 일치하지 않은 연결마지막에 배치하고 DIRECT 지정

예를 들어 IP-CIDR,192.0.2.0/24,PROXY,no-resolve는 문서용 예시 대역을 사용한 것이므로 실제 목록에 그대로 추가하면 안 됩니다. no-resolve는 해당 규칙의 일치 여부를 확인하기 위해 도메인을 능동적으로 해석하지 않는다는 뜻이지, 모든 DNS를 비활성화한다는 의미는 아닙니다. IP 주소로 직접 연결하면 도메인 규칙에 사용할 호스트 이름이 없을 수 있습니다. 같은 IP 주소를 공유하는 사이트가 같은 서비스라는 보장도 없으므로, 특정 시점에 조회된 사이트 IP 대역 전체를 함부로 PROXY로 지정하지 마세요.

5. 구성 저장 및 항목별 확인

프록시를 사용할 대상과 직접 연결할 대상을 모두 확인하세요. 홈페이지 하나만 열어 보는 것으로는 충분하지 않습니다. 브라우저 캐시, 기존 연결 재사용, 페이지 내 제3자 리소스가 구성 변경을 가릴 수 있습니다. 규칙을 수정할 때마다 저장하고 테스트 연결을 새로 만든 다음, 요청 기록에서 실제로 일치한 규칙을 확인하세요.

  1. 구성 백업

    Config에서 현재 구성의 복사본을 저장합니다. 원본 파일이 원격 주소에서 가져온 것이라면 이후 업데이트가 로컬 수정 내용을 덮어쓰는지 먼저 확인하세요.

  2. 규칙 편집

    Config에서 대상 구성의 편집 메뉴를 열고 [Rule]을 찾습니다. 지정한 도메인 항목을 FINAL 앞에 추가하고, 그보다 앞에 범위가 넓은 규칙이 있는지 확인하세요.

  3. 구성 적용

    저장한 뒤 해당 구성을 선택하고 Home → Global Routing → Config로 돌아갑니다. 기존 프록시 연결이 작동하는지 확인하고 필요하면 연결을 끊었다가 다시 연결하세요.

  4. 연결 조건 확인

    Settings → On Demand에서 조건에 따른 연결 설정을 확인하세요. 테스트 중 자동 연결 또는 연결 해제로 상태가 바뀌지 않도록 합니다. 그런 다음 Home으로 돌아가 연결 스위치가 켜져 있는지 확인하세요.

  5. 요청 확인

    목록에 있는 사이트와 목록에 없는 사이트에 각각 다시 접속합니다. 요청 기록에서 대상 호스트, 일치한 규칙, 실제 정책을 확인하세요. 각각 PROXY와 DIRECT가 적용되어야 합니다.

홈페이지의 텍스트는 보이지만 이미지가 로드되지 않거나 로그인이 실패하면, 실패한 리소스에서 실제로 사용하는 호스트 이름을 확인하세요. 한 페이지가 기본 사이트, 정적 리소스, API, 인증용 도메인에 각각 요청을 보낼 수 있습니다. 해당 이용 과정에 필요한 도메인이고 실제로 프록시가 필요한 경우에만 하나씩 FINAL 앞에 추가한 뒤 다시 테스트하세요. 공용 리소스 플랫폼 전체에 적용될 만큼 범위가 넓은 키워드를 바로 추가하지 마세요.

6. 자주 발생하는 문제와 해결 방법

문제는 “모드 → 현재 구성 → 규칙 순서 → 실제 요청 도메인” 순서로 확인하세요. 한 번에 한 가지 요소만 수정하고, 수정 전후의 일치 결과를 기록해야 라우팅 규칙, 프록시 연결, DNS, 대상 사이트 중 어디에 문제가 있는지 구분할 수 있습니다.

FINAL,DIRECT를 설정했는데 왜 많은 사이트가 여전히 프록시를 사용하나요?

먼저 Home → Global Routing이 Config인지 확인하고, 현재 구성에서 FINAL 앞에 범위가 넓은 DOMAIN-KEYWORD, IP 규칙 또는 외부 규칙 집합이 있는지 살펴보세요. 먼저 일치한 규칙이 정책을 결정하므로 마지막의 FINAL이 이를 무시하지는 않습니다. 참조된 정책 그룹에서 실제로 무엇을 선택했는지도 확인하세요.

지정한 사이트가 여전히 직접 연결됩니다. 도메인 규칙이 작동하지 않는 건가요?

편집한 파일이 Config에서 현재 선택된 파일인지 확인한 다음 실제 요청 호스트 이름을 살펴보세요. example.com에 접속한 뒤 다른 도메인으로 이동한다면 이동 후의 호스트도 별도로 지정해야 합니다. 기록에 IP 주소만 있다면 주소 표시줄만 보고 DOMAIN-SUFFIX 규칙이 반드시 일치한다고 판단할 수 없습니다.

기본 사이트는 열리지만 로그인이나 동영상이 작동하지 않습니다. 어떤 규칙을 추가해야 하나요?

실패한 작업을 다시 시도한 뒤 요청 기록에서 인증, 미디어, API 요청을 찾으세요. 프록시가 필요한 것으로 확인된 종속 도메인에만 규칙을 추가하고 FINAL 앞에 배치합니다. 기록에 이미 PROXY가 표시된다면 기존 연결이 사용 가능한지 확인하세요. 도메인 일치 범위를 계속 넓히지는 마세요.

구독을 업데이트한 뒤 규칙이 바뀌었습니다. 같은 작업을 반복하지 않으려면 어떻게 해야 하나요?

먼저 업데이트한 항목이 Home의 연결 구독인지 Config의 원격 구성인지 구분하세요. 연결 구독은 주로 연결 목록을 업데이트하지만, 원격 구성을 업데이트하면 파일 내용이 교체될 수 있습니다. 직접 추가한 규칙의 복사본을 보관하고, 업데이트할 때마다 현재 구성과 규칙 순서, FINAL 정책을 확인한 다음 목록 안팎의 사이트를 각각 하나씩 테스트하세요.

최종적으로는 각 연결이 어떤 규칙에 일치했는지 설명할 수 있는 간단한 목록을 만드는 것이 좋습니다. 지정한 도메인에는 PROXY를 적용하고 나머지 연결은 FINAL,DIRECT로 처리합니다. 사이트를 추가할 때는 키워드를 계속 늘리는 대신 “실제 도메인 확인 → 최소한의 규칙 추가 → 정책 확인” 순서를 따르세요. 구성 개념을 더 자세히 알아보려면 프로토콜 안내서와 개념 빠른 참조를 확인하세요.

Shadowrocket 다운로드