Shadowrocket 규칙 설정: 특정 사이트만 프록시로 연결하는 방법

FINAL,DIRECT로 기본 연결을 설정하고 DOMAIN-SUFFIX로 프록시를 사용할 사이트를 지정하세요. Global Routing에서 Config를 선택해 사이트별로 연결을 분기하고, 적용 여부를 확인하는 방법도 안내합니다.

이 글의 핵심

Shadowrocket에서 사용할 서비스 제공업체의 연결을 이미 설정했고, 일부 사이트만 프록시로 연결하려는 사용자를 위한 안내입니다. 복구할 수 있도록 기존 설정을 보관하고, 허용할 도메인 목록을 만든 뒤 규칙 마지막에 FINAL,DIRECT를 배치하고 Global Routing에서 Config를 선택하는 것이 핵심입니다. 설정을 마친 후에는 대상 사이트와 목록에 없는 사이트에서 새 연결 기록을 각각 확인해 일치한 규칙과 실제 연결 정책을 점검하세요. 웹페이지가 열리는지만으로 분기 설정이 올바른지 판단해서는 안 됩니다.

1. 기본 직접 연결의 범위 정하기

‘특정 사이트만 프록시로 연결’하는 방식은 기본적으로 직접 연결하는 정책입니다. 목록에 있는 도메인은 프록시 규칙에 따라 연결하고, 나머지 연결은 FINAL,DIRECT로 처리합니다. 설정한 규칙을 따르며, 페이지 내용이나 사용자의 지역을 기준으로 자동 분류하는 방식은 아닙니다. 목록에 없는 로그인, 이미지, API 도메인도 각 도메인의 규칙 일치 결과에 따라 처리됩니다.

이 안내는 사용자가 자체 서비스 제공업체와 구독을 이미 보유한 경우를 전제로 합니다. 클라이언트 앱 구매와 회선 요금제는 별개입니다. 규칙은 연결 경로를 선택할 뿐, 사용할 서버 주소나 인증 정보 또는 회선을 만들어 주지 않습니다. 시작하기 전에 Home에 사용할 수 있는 연결이 있는지, 현재 선택한 연결이 어떤 프록시 정책에 쓰이는지 확인하세요.

결과 2가지
목록에 있는 도메인은 프록시, 나머지는 기본 DIRECT
기본 규칙 1개
규칙 목록 마지막에 FINAL,DIRECT 배치
확인 항목 2가지
대상 도메인과 목록에 없는 도메인을 각각 확인

2. Global Routing에서 Config 선택

Home → Global Routing에서 현재 연결에 설정을 적용하는 방식을 정합니다. 도메인 규칙을 수정했는데도 Proxy 또는 Direct가 선택되어 있으면 의도와 다른 분기 결과가 나올 수 있습니다. 이 사례에서는 Config를 선택해 현재 적용 중인 설정의 규칙에 따라 연결을 처리하세요.

Config

권장

현재 설정의 규칙에 따라 연결 정책을 정합니다. 도메인 프록시 규칙을 앞에 두고 FINAL,DIRECT를 마지막에 배치해야 기본 직접 연결 방식을 구현할 수 있습니다.

적합한 경우: 목록에 있는 사이트만 프록시로 연결할 때.

Proxy

관리 대상 연결을 문서의 도메인 목록에 따라 분기하지 않고 프록시 경로로 연결합니다. 프록시 경로를 비교 점검하는 데 잠시 사용할 수 있지만, 분기 설정이 적용됐다는 증거로 삼을 수는 없습니다.

적합한 경우: 대상 사이트에 프록시로 접속할 수 있는지 잠시 확인할 때.

Direct

관리 대상 연결을 직접 연결 경로로 처리합니다. Config에 도메인 프록시 규칙이 있어도 이 모드에서는 해당 규칙에 따른 분기를 기대할 수 없습니다.

적합한 경우: 현재 네트워크에서 직접 연결이 가능한지 비교 확인할 때.

Scene

설정된 시나리오 조건에 따라 라우팅 동작을 정합니다. 사이트별 분기와 같은 기능이 아닙니다. 이 기능을 사용하려면 시나리오 정의와 실제 선택 결과를 별도로 확인하세요.

적합한 경우: 시나리오 전환 조건이 명확하게 설정되어 있을 때.

Settings → On Demand는 필요할 때 연결할 조건을 처리하며, 특정 사이트에 어떤 정책을 사용할지 정하는 기능은 아닙니다. 문제를 확인하는 동안 여러 요소가 동시에 바뀌지 않도록 기존 On Demand 설정은 유지하세요. 연결을 켠 상태에서 Config 규칙을 확인한 뒤, 평소 사용에 필요한 On Demand 조건은 따로 점검하세요.

3. 최소 도메인 규칙 작성

아래는 문법을 설명하기 위한 예약된 예시 도메인이며, 프록시 서비스를 직접 검증할 대상은 아닙니다. 실제 프록시 연결이 필요한 도메인으로 바꾼 다음 현재 설정의 [Rule] 섹션에 입력하세요. 기존 설정에 해당 섹션이 있다면 안의 규칙만 수정하고 같은 이름의 섹션을 여러 개 추가하지 마세요.

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

PROXY는 프록시 정책을 의미합니다. 사용 전에 현재 설정에서 이 정책이 어떻게 해석되는지, Home에서 어떤 연결을 선택했는지 확인하세요. 기존 설정에서 사용자 지정 정책 그룹을 사용한다면 설정에 실제로 존재하고 프록시 출구를 선택한 정책 그룹 이름을 사용해야 합니다. 임의의 이름을 입력한다고 정책 그룹이 자동으로 만들어지지는 않습니다. 정책 그룹에서 DIRECT를 선택한 경우 해당 그룹과 일치하는 도메인 규칙도 직접 연결될 수 있습니다.

규칙일치 범위확인할 점
DOMAIN-SUFFIX,example.com,PROXYexample.com 및 하위 도메인www.example.com은 포함하지만 otherexample.com은 포함하지 않음
DOMAIN,login.example.net,PROXYlogin.example.net만 해당example.net과 다른 하위 도메인은 포함하지 않음
FINAL,DIRECT앞선 규칙에 일치하지 않은 연결마지막에 배치해 기본 직접 연결 유지

도메인 필드에는 https://, 경로, 쿼리 매개변수 또는 포트를 입력하지 않습니다. 예를 들어 웹사이트 주소의 /account는 DOMAIN-SUFFIX가 일치시키는 항목이 아닙니다. 연결에서 TCP 443을 사용하더라도 도메인 규칙이 HTTPS에만 일치하는 것은 아닙니다. 이러한 규칙은 호스트 이름을 기준으로 경로를 선택하므로 같은 도메인의 특정 웹페이지 하나만 프록시로 연결할 수는 없습니다.

4. 설정 저장 후 연결에 적용

Config에서 편집한 파일과 현재 적용 중인 파일이 일치해야 합니다. 먼저 기존 설정을 백업한 다음 용도가 명확한 로컬 설정 파일로 테스트하는 것이 좋습니다. 기존 설정이 원격 콘텐츠로 관리된다면 이후 업데이트가 로컬 변경 사항을 덮어쓰는지 확인하세요. 그래야 이번에는 정상적으로 확인했더라도 다음 업데이트 후 예전 규칙으로 돌아가는 일을 방지할 수 있습니다.

  1. 기존 설정 기록

    Config로 이동해 현재 적용 중인 설정을 확인하고 기존 파일을 백업하세요. 테스트 후 복원할 수 있도록 원래 Global Routing 선택 항목도 기록해 두세요.

  2. 규칙 편집

    Config에서 사용할 로컬 설정을 열어 편집하고 [Rule] 섹션에 실제 도메인 규칙을 입력하세요. 앞부분에 충돌하는 규칙이 있는지 확인한 뒤, 확인 대상 규칙 다음에 FINAL,DIRECT를 배치하세요.

  3. 저장 후 적용할 설정 선택

    파일을 저장한 다음 Config로 돌아와 방금 편집한 설정을 선택했는지 확인하세요. 같은 이름의 원격 파일이나 다른 백업 파일을 선택하지 않도록 주의하세요. 구문 오류가 표시되면 규칙 필드와 정책 이름부터 수정하세요.

  4. 라우팅 설정

    Home → Global Routing → Config로 돌아가 현재 프록시 연결 또는 정책 그룹의 실제 출구를 확인한 다음 연결을 켜세요. 시스템에서 VPN 설정 추가를 요청하면 안내에 따라 권한을 승인하세요.

  5. 새 연결 생성

    저장한 후 대상 요청을 다시 실행하세요. 기존 연결이 재사용되지 않도록 연결을 껐다가 다시 켠 뒤 대상 페이지를 새로 여는 방법도 있습니다. 그런 다음 새 연결 기록에서 일치한 규칙을 확인하세요.

Home에서 Subscribe를 업데이트하면 주로 기존 서비스 제공업체의 연결 정보를 갱신합니다. Config에서 규칙 파일을 전환하는 작업과는 다릅니다. 서버 주소가 바뀌었다면 프록시 정책에서 여전히 사용할 수 있는 연결을 선택할 수 있는지 확인하세요. 분기 결과가 바뀌었다면 현재 적용 중인 설정과 규칙 순서를 먼저 확인하세요. 두 문제는 각각 따로 점검해야 합니다.

5. 연결 기록으로 분기 확인

분기 설정을 확인하려면 목록 안의 도메인과 목록에 없는 도메인이 각각 하나 이상 필요합니다. 실제로 접속할 수 있고 용도가 분명한 사이트를 선택하세요. 문서의 example.com은 문법 설명용일 뿐입니다. 매번 테스트한 뒤 새로 생성된 연결 기록에서 도메인, 일치한 규칙, 최종 정책을 확인하고 필요한 경우 정책 그룹의 출구도 점검하세요.

테스트 대상예상되는 일치 규칙통과 기준
목록에 있는 기본 도메인해당 DOMAIN-SUFFIX 또는 DOMAIN 규칙기록에 프록시 정책이 표시되고 사용 가능한 프록시 출구가 선택됨
목록에 있는 하위 도메인해당 DOMAIN-SUFFIX 규칙접미사 규칙이 적용됐는지, 실수로 FINAL이 처리하지 않았는지 확인
목록에 없는 도메인FINAL최종 정책이 DIRECT임
로그인 또는 정적 리소스 도메인각 도메인에 설정된 규칙에 따라 처리필요한 규칙을 추가하고 다시 확인

웹페이지가 열린다는 사실은 어떤 경로로든 요청이 완료됐다는 뜻일 뿐, 프록시를 사용했다는 증거는 아닙니다. 반대로 페이지가 열리지 않는 원인도 DNS, 서버 연결 불가, 로그인 상태 또는 원격 서비스의 제한일 수 있으며 DOMAIN-SUFFIX 오류가 아닐 수 있습니다. 먼저 예상한 규칙과 일치했는지 확인한 다음 정책 출구를 점검하고, 마지막으로 페이지에 필요한 다른 도메인을 확인하세요. 불필요한 설정 변경을 줄일 수 있습니다.

6. 자주 발생하는 현상과 수정 순서

문제를 확인할 때는 한 번에 변수 하나만 바꾸고 변경 전후 기록을 남기세요. ‘라우팅 모드 → 적용 중인 설정 → 규칙 순서 → 정책 출구 → 사이트 의존 도메인’ 순서로 확인하는 것이 좋습니다. 특정 로그인 요청 하나를 해결하려고 기본 정책 전체를 프록시로 바꾸지 마세요. 그렇게 하면 기존의 도메인 목록 기반 설정이 달라집니다.

규칙을 작성했는데 모든 사이트가 프록시로 연결되는 이유는 무엇인가요?

먼저 Home → Global Routing에서 Config가 선택되어 있는지 확인한 뒤, 현재 적용 중인 파일의 마지막 규칙이 FINAL,DIRECT인지 확인하세요. 두 항목이 올바르다면 앞쪽에 더 넓은 범위에 적용되는 프록시 규칙이나 규칙 세트가 있는지 점검하고, 목록에 없는 도메인의 새 연결에서 실제로 어떤 규칙이 적용되는지 확인하세요.

기본 사이트는 열리는데 로그인이나 이미지 로딩이 실패하는 이유는 무엇인가요?

실패한 작업을 다시 실행하고 새 연결 기록에서 로그인, API 또는 리소스 도메인을 확인하세요. 해당 도메인이 목록에 설정한 접미사 범위에 포함되지 않는다면 필요에 따라 DOMAIN 또는 DOMAIN-SUFFIX 규칙을 추가하세요. 도메인 이름이 비슷해 보인다는 이유만으로 관련 없는 접미사 범위까지 넓히지 마세요.

프록시 규칙에 일치했는데 연결 기록에는 직접 연결로 표시되는 이유는 무엇인가요?

규칙이 참조하는 정책 그룹과 현재 선택 항목을 확인하세요. 정책 그룹이 DIRECT를 가리키거나 확인 중인 연결이 변경 전에 생성된 연결일 수 있습니다. 출구를 확인한 다음 연결을 새로 만들고 규칙, 정책 그룹, 최종 출구가 서로 일치하는지 점검하세요.

특정 앱 안의 사이트만 프록시로 연결할 수 있나요?

이 문서의 규칙은 요청을 보낸 앱이 아니라 대상 도메인을 기준으로 합니다. 다른 앱에서 같은 도메인에 요청하더라도 같은 규칙과 일치할 수 있습니다. 특정 앱 안의 페이지 하나만 연결하려는 경우 먼저 해당 페이지가 별도 도메인을 사용하는지 확인하세요. URL 경로로 도메인 규칙을 대신할 수는 없습니다.

업데이트 후 분기가 작동하지 않는데 구독을 다시 가져와야 하나요?

먼저 Config에서 적용 중인 파일과 [Rule] 섹션이 바뀌었는지 확인한 다음 Global Routing을 점검하세요. Home의 연결 정보가 실제로 만료되거나 사용할 수 없을 때만 Subscribe 업데이트를 처리하세요. 규칙이 덮어써진 문제와 연결 인증 정보가 바뀐 문제는 서로 다릅니다.

최종 확인을 통과하려면 다음 세 가지를 모두 충족해야 합니다. 대상 도메인이 지정한 프록시 규칙에 일치하고, 목록에 없는 도메인은 FINAL,DIRECT에 일치하며, 프록시 정책이 실제로 예상한 출구를 사용해야 합니다. 나중에 사이트를 추가할 때는 필요한 도메인 범위만 추가하고 이 양방향 확인을 반복하세요. 그래야 기본 직접 연결의 경계를 유지하고 범위가 불분명한 혼합 설정으로 바뀌는 것을 방지할 수 있습니다.

App Store에서 다운로드