먼저 화면의 세 단어를 본다
연결 스위치를 켠 뒤에도 Shadowrocket은 각 요청을 직통으로 보낼지, 선택한 노드로 보낼지를 정한다. 그 결정은 라우팅(버전에 따라 Global Routing)에 있으며, 선택지는 대개 셋이다.
| 앱에 보이는 이름 | 실제로 하는 일 | 언제 쓰나 |
|---|---|---|
| Config / 규칙 / 설정 | 규칙 파일을 위에서 맞춰, DIRECT면 직통, PROXY면 노드로 보낸다 | 일상 사용 |
| Proxy / 글로벌 | 가능한 많은 통신을 현재 노드로 보낸다 | 가름용. 오래 쓰지 않는다 |
| Direct / 직통 | 프록시가 작동하지 않는 것과 같다. 요청은 기기 네트워크로 나간다 | 프록시를 끈 뒤 일상 앱이 돌아오는지 확인 |
세 옵션 모두 이미 가져온 노드를 바꾸지 않고, App Store에 누가 들어가 있는지도 바꾸지 않는다. 「트래픽을 어떻게 나눌지」만 바꾼다. 글로벌을 「더 빠른 가속」으로 읽으면, 이후 오판이 이어진다.
일상에 규칙 모드를 쓰는 이유
규칙 모드는 규칙 파일을 따른다. 은행, 지도, 일부 Apple 서비스, 프록시가 필요 없는 통신은 DIRECT로 두고, 노드가 필요한 호스트만 PROXY로 보낸다. 그 접속은 추가 경유를 하지 않아 지연과 인증 코드가 안정되기 쉽다.
규칙은 위에서 맞춰, 첫 히트에서 멈추고 이후는 보지 않는다. 더 구체적인 도메인을 앞에 쓰고, 폴백 FINAL은 마지막에 둔다. FINAL이 PROXY면 앞에 없는 이름은 노드로 가고, DIRECT면 직통에 남는다. 반대로 쓰면 「나가야 할 것은 안 나가고, 나가지 말아야 할 것만 나간다」.
규칙을 처음부터 쓸 필요는 없다. 구독에 붙기도 하고, 설정에서 규칙 목록을 가리켜도 된다. DOMAIN-SUFFIX, IP-CIDR 등의 쓰기는 규칙 분기를 본다. 이 페이지에서 정하는 것은 하나다. 일상은 규칙, 글로벌은 상시 켜 두지 않는다.
글로벌은 대조용이며, 계속 켜 두지 않는다
글로벌은 가능한 한 현재 노드로 보낸다. 직통이면 되는 통신도 멀리 돌아간다. 동영상, 클라우드, 은행 앱은 느려지고, 인증 코드는 잘 안 나오며, 위치도 흔들린다. 노드가 「세진」 것이 아니다. 경로가 길어진 것뿐이다.
정당한 용도는 가름이다. 규칙 모드에서 목적 사이트가 안 열리면, 잠시 글로벌로 바꾼다.
- 글로벌은 열리고 규칙에서는 안 열린다: 노드와 회선은 대체로 쓸 수 있다. 규칙이 이 도메인을 DIRECT로 했거나, 쓰지 않았다. 규칙을 고친다. 먼저 회선을 바꾸지 않는다.
- 글로벌도 규칙도 안 열린다: 노드 만료, 구독 만료, 또는 지금 회선이 그 서버에 닿지 않을 가능성이 높다. 규칙을 만지기 전에 노드 변경이나 구독 확인을 우선한다.
- 글로벌에서도 안 열리지만 Data의 Proxy는 늘어난다: 요청은 나갔다. 문제는 노드 출구나 사이트 쪽이다.
대조가 끝나면 규칙으로 되돌린다. 자신이 무엇을 하는지 알고, 로컬 통신이 전부 노드를 거치는 것을 받아들일 때가 아니면, 글로벌을 기본으로 두지 않는다.
Direct는 대조용이지, 세 번째 「가속」이 아니다
Direct는 이 VPN 경로가 프록시하지 않는다는 뜻이다. 상태 표시줄에 아이콘이 남아 있어도 요청은 노드를 거치지 않는다. 묻는 것은 하나다. 프록시를 끈 뒤 일상 앱이 바로 돌아오는가. Direct에서는 정상이고 규칙에서는 느리면, 규칙이나 글로벌이 그것들을 PROXY로 보낸 경우가 많다.
스위치를 켜 두고 라우팅은 Direct에 둔 채 「연결해도 소용없다」고 말하는 사람이 있다. 노드보다 라우팅 단부터 본다. 스위치와 라우팅은 별개의 제어다.
흔한 오판
「더 빠른 노드」로는 일상 앱이 느린 문제가 해결되지 않는다. 일상 앱이 느리고 Data의 Proxy가 높으면, 지연 측정을 더 하기 전에 글로벌이 켜져 있는지부터 본다. 지연 측정은 노드까지의 왕복만 비교하고, 로컬 이름이 잘못 프록시로 갔는지는 알려 주지 않는다.
「규칙이 깨졌으니 글로벌이 낫다.」 글로벌이 열리는 것은 노드가 아직 된다는 뜻일 뿐이다. 규칙은 손봐야 한다. 도메인을 보강하고, FINAL 위치를 맞추고, 인터넷뱅킹을 PROXY에 넣지 않는다. 글로벌을 장기 방안으로 쓰면, 우회로 규칙 오류를 가리는 것이다.
「글로벌에서도 안 열리니 앱 문제다.」 먼저 목록에 노드가 있는지, 구독을 갱신했는지, 시스템 VPN 허용을 눌렀는지를 확인한다. 저장 후에도 비어 있으면 저장 후 목록이 비어 있음. 숫자 읽기는 Data의 Direct와 Proxy. 절차 전체는 연결이 안 될 때와 사용법.
이 사이트 다른 페이지와의 역할
이 페이지는 세 라우팅의 역할만 쓴다. 규칙 쓰기, 구독 갱신, Data 숫자는 페이지를 나눠, 한 글에서 모든 손잡이를 동시에 돌리지 않는다. 일상은 규칙 모드, 안 열릴 때만 글로벌로 한 번 대조한다. 결론이 분명해지기 쉽다.
클라이언트가 아직 없으면 App Store로 간다. 웹에서 설치 파일을 받지 않는다. 구입과 스토어 계정 전환은 다운로드 페이지에 있으며, 앱 안 라우팅과는 무관하다. 라우팅을 어떻게 바꿔도 정품 설치를 대신하지 못한다.
라우팅을 바꾸기 전에, 목록에 눌러 쓸 노드가 있는지 확인한다. 노드가 없으면 규칙 모드도 글로벌도 보낼 출구가 없어 「모드가 고장」처럼 보인다. 가져오기와 갱신을 끝낸 뒤에 분기를 이야기한다. 지연 측정은 노드까지의 왕복만 비교하고, 로컬 도메인이 오판됐는지는 알려 주지 않는다. 그것은 규칙 히트와, Data의 Proxy가 불필요할 때 오르는지로 본다.
같은 규칙 파일이라도 구독이나 버전에 따라 키워드가 조금 다를 수 있다. 고치기 전에 현재 설정을 백업하고, 바꾼 뒤에는 목적 사이트 하나만 검증한다. 출처 불명의 규칙 세트를 붙인 채 동시에 글로벌로 바꾸지 않는다. 깨졌을 때 되돌릴 곳이 없어진다.
회사 메일, 인터넷뱅킹, 공공 앱은 출구 IP에 민감하다. 해외 노드로 가면 로그인을 거절하는 경우가 많다. 이런 주소는 DIRECT에 분명히 쓰고, 뒤의 FINAL PROXY에 먹히지 않게 한다. 노드로 보낼지 모르겠으면, 규칙 모드에서 연 뒤 Data를 본다. Direct만 늘고 업무가 정상이면 직통을 유지한다. 글로벌에서만 열리고 로컬 전용 서비스가 아니면 PROXY 줄을 더한다.