2026년 9월 11일 · 규칙과 분류 · 약 8분

Shadowrocket 특정 사이트만 프록시 사용하기: DOMAIN-SUFFIX 분기 규칙 설정

DOMAIN-SUFFIX,PROXY 규칙으로 지정한 사이트만 프록시를 사용하고, 나머지는 FINAL,DIRECT로 처리하는 방법과 규칙 순서의 영향을 설명합니다.

이 글의 핵심 내용

지정한 사이트만 프록시를 사용하려면 세 가지 조건을 충족해야 합니다. Global Routing에서 Config를 선택하고, 대상 도메인이 PROXY 규칙과 일치해야 하며, 그 밖의 요청은 FINAL,DIRECT로 처리해야 합니다. 이미 이용 중인 서비스와 연결 설정이 있는 사용자를 위한 안내입니다. 백업, 편집, 활성화, 확인 순으로 진행하고, 도메인 예외를 통해 규칙 순서가 중요한 이유도 살펴봅니다.

1. 먼저 범위 정하기: 도메인 기준 분기, 웹 주소 기준 분기가 아닙니다

Shadowrocket의 DOMAIN-SUFFIX는 도메인 접미사를 기준으로 일치 여부를 확인합니다. example.com을 입력하면 해당 도메인뿐 아니라 www.example.com, api.example.com 같은 하위 도메인도 포함됩니다. 브라우저 주소창의 문자열이나 웹페이지 제목을 검색하는 방식이 아닙니다.

사이트 전체와 하위 도메인까지 적용하려면 DOMAIN-SUFFIX를 사용하고, 특정 호스트 이름 하나에만 프록시를 적용하려면 DOMAIN을 사용합니다. 도메인 입력란에는 https://, 경로, 쿼리 매개변수, 포트 번호를 넣지 마세요. 예를 들어 https://example.com:443/account에 접속할 때 도메인 입력란에는 example.com만 입력합니다.

규칙일치하는 항목일치하지 않는 항목
DOMAIN,example.com,PROXYexample.comwww.example.com
DOMAIN-SUFFIX,example.com,PROXYexample.com 및 하위 도메인badexample.com
DOMAIN,api.example.com,DIRECTapi.example.comwww.example.com

예시에 나온 도메인은 규칙 문법을 설명하기 위한 것으로, 실제로 이용할 수 있는 프록시 서비스를 뜻하지 않습니다. 규칙은 요청에 적용할 정책만 결정하며, 연결 매개변수를 생성하거나 사용할 수 없는 프록시 연결을 복구하지 않습니다.

2. 먼저 백업한 뒤 Config에서 최소 규칙 작성하기

시작하기 전에 Home에서 사용할 수 있는 프록시 설정이 있는지 확인합니다. 기존 구독에서 연결 매개변수를 가져왔다면 필요한 업데이트를 먼저 마치고, 현재 선택된 프록시로 연결할 수 있는지 확인하세요. 규칙 편집과 구독 업데이트는 별개의 작업입니다. 전자는 요청 경로를 바꾸고, 후자는 보통 연결 정보를 갱신합니다.

  1. 기존 설정을 보존합니다. Config에서 설정을 복제하거나 내보내 백업하고, 복원할 수 있도록 현재 사용 중인 설정을 확인해 두세요.
  2. 사용할 설정을 엽니다. Config에서 해당 설정의 편집 화면으로 이동해 규칙 부분을 찾습니다. 텍스트로 편집한다면 [Rule]을 찾으세요.
  3. 기존 규칙을 확인합니다. FINAL, 적용 범위가 넓은 도메인 규칙, 다른 정책을 지정하는 규칙이 있는지 살펴봅니다. 새 규칙을 기존 기본 처리 규칙 뒤에 덧붙이는 것만으로는 충분하지 않습니다.
  4. 저장하고 활성화합니다. 수정 사항을 저장한 다음, Config에서 방금 편집한 설정이 활성화되어 있는지 확인하세요. 이름이 비슷한 다른 파일을 선택하지 않도록 주의합니다.

최소 예시에는 규칙 두 개만 필요합니다. 아래 내용은 설정 파일의 규칙 부분만 보여주는 예시이지, 연결 설정 전체가 아닙니다. 기존 설정의 규칙 부분에 추가하고 파일 전체를 덮어쓰지 마세요.

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

첫 번째 규칙은 example.com과 그 하위 도메인에 PROXY를 적용합니다. 마지막 규칙은 앞선 규칙과 일치하지 않는 요청에 DIRECT를 적용합니다. PROXY는 현재 선택된 프록시를 사용하고, DIRECT는 대상에 직접 연결합니다. 기존 설정에서 사용자 지정 정책 그룹을 사용한다면 그룹 이름과 실제 선택 항목을 확인하세요. 존재하지 않는 이름을 규칙에 입력하면 안 됩니다.

3. Global Routing에서 Config를 선택해야 규칙이 적용됩니다

Home으로 돌아가 Global Routing을 열고 Config를 선택한 다음 연결을 시작합니다. 여기서 정하는 것은 전체 트래픽 처리 방식입니다. Proxy를 선택해도 “규칙에 지정된 사이트만 프록시를 사용”하는 것은 아니며, Direct를 선택하면 이 안내의 특정 사이트 프록시 설정이 적용되지 않습니다.

처리 방식동작이 경우의 선택 기준
Config현재 활성화된 설정의 규칙에 따라 정책을 결정합니다.이 항목을 선택해 이 글의 규칙을 확인합니다.
Proxy전체 트래픽에 프록시를 적용합니다.나머지 요청을 직접 연결하는 규칙을 확인하는 용도로는 적합하지 않습니다.
Direct전체 트래픽을 대상에 직접 연결합니다.지정 도메인에 적용한 PROXY 규칙을 확인하는 용도로는 적합하지 않습니다.
Scene설정된 시나리오에 따라 처리 방식을 결정합니다.처음 문제를 확인할 때는 Config를 선택해 시나리오 전환으로 생기는 변수를 줄이세요.

Settings → On Demand는 조건에 따라 연결을 자동으로 시작하는 기능을 제어하며, 웹사이트 목록을 편집하는 메뉴가 아닙니다. On Demand를 설정했더라도 현재 설정, Global Routing, 선택된 프록시를 확인해야 합니다. 연결을 자동으로 시작하는 설정과 연결 후 트래픽을 분기하는 설정은 서로 다른 영역입니다.

4. 예외 규칙은 앞에, FINAL은 마지막에

규칙은 위에서부터 차례대로 확인하며, 일치하는 규칙이 나오면 해당 정책을 적용합니다. example.com 전체에는 프록시를 적용하되 assets.example.com은 직접 연결해야 한다고 가정해 보겠습니다. 이때 더 구체적인 예외 규칙을 범위가 넓은 접미사 규칙보다 앞에 배치해야 합니다. 그렇지 않으면 리소스 도메인이 먼저 접미사 규칙과 일치해 뒤에 있는 예외 규칙이 적용되지 않습니다.

[Rule]
DOMAIN,assets.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
3개
규칙 예시: 정확한 예외, 도메인 접미사, 최종 기본 처리
2가지
정책 예시: PROXY와 DIRECT
1개
규칙 마지막에 두는 FINAL

정리: 예외, 적용 범위, 기본 처리 순으로 작성

하위 도메인의 경로가 예상과 다르면 먼저 위쪽 규칙과 하나씩 대조하세요. 규칙 순서를 우선 수정하고, 바로 프로토콜을 바꾸거나 연결 설정을 다시 만들지는 마세요.

기존 GEOIP 및 IP-CIDR 규칙도 확인해야 합니다. 이러한 규칙은 IP 범위나 지리적 위치를 기준으로 일치 여부를 판단하므로 웹사이트 도메인 목록과는 다릅니다. IP 규칙과 DNS 확인 관련 설정도 일치 조건에 영향을 줄 수 있습니다. “목록에 있는 사이트는 프록시, 목록 밖의 사이트는 직접 연결”을 정확히 구현하려면 마지막 규칙을 FINAL,DIRECT로 바꾸는 것만으로는 부족합니다. 프록시를 지정할 가능성이 있는 기존 규칙을 모두 확인하세요.

5. 세 가지 유형의 요청으로 확인하고, 지연 시간 테스트를 분기 결과로 착각하지 않기

저장한 뒤 연결을 다시 시작하고 테스트 페이지에서 새 요청을 보내세요. 브라우저가 이미 연결한 세션을 재사용할 수 있으며, 페이지 캐시 때문에 새로고침해도 의도한 요청이 발생하지 않을 수 있습니다. 기존 탭을 닫고 다시 연 다음, 앱의 연결 기록에서 대상 호스트와 실제 적용된 정책을 확인하세요.

테스트 대상일치할 것으로 예상되는 규칙예상 정책
www.example.comDOMAIN-SUFFIX,example.com,PROXYPROXY
assets.example.comDOMAIN,assets.example.com,DIRECTDIRECT
목록에 없는 실제 테스트 도메인FINAL,DIRECTDIRECT

표의 내용은 예시 설정에서 예상되는 결과이며, 예시 도메인을 실제로 테스트한 결과가 아닙니다. 실제로 확인할 때는 접속하려는 도메인을 사용하세요. 지연 시간 테스트는 선택한 프록시의 연결 상태를 판단하는 데 도움이 될 뿐, 특정 웹 요청이 어떤 규칙과 일치했는지는 보여주지 않습니다. 분기가 올바른지는 요청의 호스트, 일치한 규칙, 정책 기록을 기준으로 확인해야 합니다.

웹페이지 하나가 여러 도메인에 요청을 보내는 경우가 많습니다. 본문은 주 도메인에서 불러오더라도 로그인, 이미지, 스크립트, 미디어는 다른 도메인에서 가져올 수 있습니다. 이미지 로딩만 실패한다면 실패한 요청이 실제로 접속한 호스트부터 확인한 뒤 규칙을 추가할지 결정하세요. 리소스 하나가 실패했다고 전체 네트워크를 Proxy로 바꾸지 마세요.

  1. 실패한 리소스의 전체 호스트 이름을 기록하고, 웹페이지 제목을 규칙 대상으로 사용하지 마세요.
  2. 해당 호스트 하나만 일치시키면 되는지, 그 도메인의 모든 하위 도메인까지 포함해야 하는지 판단하세요.
  3. DOMAIN 또는 DOMAIN-SUFFIX를 선택하고, 새 규칙을 FINAL 앞에 추가하세요.
  4. 요청을 다시 보내 정책이 바뀌었는지 확인한 다음 리소스가 정상적으로 열리는지 확인하세요.

6. 규칙은 일치하지만 접속에 실패한다면 연결 오류를 따로 확인

“잘못된 정책이 적용됨”과 “정책은 올바르지만 연결에 실패함”은 서로 다른 문제입니다. 먼저 요청이 예상한 규칙과 일치했는지 확인하세요. PROXY와 일치했다면 구체적인 연결 오류를 확인합니다. 아래는 연결 오류에 표시될 수 있는 영어 문구이며, 실제 내용은 앱의 기록을 기준으로 확인하세요.

오류: Connection refused

원인 및 해결 방법: 대상 서버나 중간 장치에서 연결을 명시적으로 거부한 상태입니다. 기록을 확인해 실패한 연결이 프록시 서버를 향했는지 웹사이트를 향했는지 파악한 다음, 해당 주소와 포트 및 서비스 상태를 확인하세요. 연결 거부를 도메인 규칙이 적용되지 않은 것으로 단정하지 마세요.

오류: Operation timed out

원인 및 해결 방법: 제한 시간 안에 연결을 완료하지 못한 상태입니다. 먼저 현재 요청에 적용된 정책을 확인한 뒤, 선택한 프록시에 연결할 수 있는지 또는 대상 웹사이트에 직접 연결할 수 있는지 각각 점검하세요. 기존 서비스 제공자가 안내한 주소와 포트도 확인합니다.

같은 대상에 DIRECT로 연결하면 실패하고 PROXY로 연결하면 성공하더라도, 두 연결 경로의 결과가 다르다는 점만 확인할 수 있습니다. 모든 웹사이트에 프록시가 필요하다는 뜻은 아닙니다. 두 경로 모두 실패한다면 중복 규칙을 계속 추가하기보다 도메인 확인, 대상 서비스 상태, 네트워크 환경을 점검하세요.

규칙을 추가했는데 왜 다른 웹사이트도 프록시를 사용하나요?

먼저 Home → Global Routing에서 Config를 선택했는지 확인하고, Config에서 현재 설정의 다른 규칙을 살펴보세요. 적용 범위가 더 넓은 PROXY 규칙이 있으면 목록에 없는 요청도 그 규칙과 일치할 수 있습니다. 마지막의 FINAL,DIRECT는 앞선 규칙과 일치하지 않은 요청에만 적용됩니다.

하위 도메인 하나에만 프록시를 적용하려면 접미사 규칙을 써야 하나요?

api.example.com만 적용하려면 DOMAIN,api.example.com,PROXY를 사용하세요. 한 단계 아래의 하위 도메인까지 포함해야 한다면 DOMAIN-SUFFIX,api.example.com,PROXY를 고려할 수 있습니다. 두 규칙의 적용 범위는 다릅니다.

같은 웹사이트에서 로그인 페이지만 열리지 않으면 어떻게 하나요?

로그인 요청을 다시 보내고 연결 기록에서 로그인 서비스가 실제로 사용한 호스트 이름을 확인하세요. 기존에 설정한 도메인 접미사에 포함되지 않는다면 필요에 따라 별도 규칙을 추가합니다. 로그인 URL의 경로나 쿼리 매개변수를 DOMAIN-SUFFIX에 입력하지 마세요.

구독을 업데이트한 뒤 규칙 적용 결과가 바뀐 이유는 무엇인가요?

먼저 Home에서 기존에 선택한 프록시가 여전히 있고 사용할 수 있는지 확인한 다음, Config에서 현재 활성화된 파일을 확인하세요. 원격 설정도 함께 업데이트했다면 백업본과 비교해 규칙이 바뀌었는지 살펴봅니다. 확인된 로컬 규칙을 복원한 뒤 다시 테스트하세요.

마지막 점검 순서는 그대로 유지하세요. 올바른 설정 활성화, Config 선택, 일치 범위와 규칙 순서 확인, 요청 정책 확인, 연결 오류 점검 순입니다. 이렇게 하면 설정 문제와 네트워크 문제를 구분할 수 있습니다. 한 번에 하나씩만 수정해 어떤 변경이 영향을 주었는지 파악하기 쉽게 하세요.

Shadowrocket App Store 다운로드