시스템
할 수 있는 일은 iOS가 개인 VPN에 넘기는 그 한 덩어리를 넘지 않습니다.
Shadowrocket은 Network Extension 안에서 동작하므로 그 틀의 제한을 이어받습니다. 아래는 「설정을 못 찾은 것」이 아니라 플랫폼 경계입니다. 터널이 어떻게 켜지는지는 터널을 보세요.
01
모든 프로세스가 확장으로 보내지는 것은 아닙니다
연결을 열면 대부분의 앱 송신 TCP / UDP가 터널에 들어갑니다. 일부 시스템 프로세스, 일부 앱은 「VPN 연결됨」을 감지하거나 독자 경로를 씁니다. 클라이언트는 모든 바이너리를 가상 NIC에 넣게 할 수 없고, 다른 App 동작도 바꿀 수 없습니다.
나타나는 모습은 Data가 오르는데 어떤 App만 실패하는 것입니다. 가를 때는 「레코드를 쓸 수 없음」과 「그 App이 터널을 거절함」을 나누세요. 전자는 정책을 Proxy로 바꾸면 다른 앱도 함께 실패합니다. 후자는 이것만 실패하고 브라우저나 다른 클라이언트는 Proxy에서 통합니다.
개인 VPN은 소비자 기기에서 보통 기기 전체 단위이지 「이 App만 프록시」가 아닙니다. Shadowrocket에서 아이콘을 고르면 시스템이 앱 단위로 분기하는 범용 스위치는 없습니다. 도메인 분기는 규칙 엔진의 일입니다. 규칙을 보세요.
02
터널은 시스템이 뜯을 수 있습니다
저전력 모드, 백그라운드 App 새로고침 끄기, 비행기 모드, Wi-Fi와 셀룰러 전환은 모두 확장을 종료하거나 일시 정지시킵니다. 복귀 후 스위치를 다시 켜거나 시스템이 필요에 따라 일으키기를 기다립니다. 앱을 다시 설치해서 고칠 수 없고, 다시 설치해도 시스템이 회수한 세션은 돌아오지 않습니다.
기업 기기의 MDM은 개인 VPN을 금지할 수 있습니다. 스크린 타임도 VPN을 제한할 수 있습니다. 어느 쪽이든 앱 안에서 스위치를 켜도 시스템은 확장을 만들지 않습니다. 인가 대화를 거절했거나, 나중에 설정에서 Shadowrocket의 이 VPN 구성을 지운 경우도 같습니다. 스위치가 작용할 대상이 없습니다.
백그라운드에서 컨테이너나 규칙을 새로고침하려면 시스템이 이 앱의 백그라운드 실행을 아직 허용해야 합니다. 「백그라운드 App 새로고침」을 끈 뒤에는 앱을 포그라운드로 가져올 때만 다시 가져옵니다. 절전 모드는 더 조입니다. 「목록이 안 바뀌었다」를 URL 만료로 보기 전에 시스템이 돌렸는지를 보세요.
03
포털 페이지, 그리고 시스템에는 개인 VPN이 동시에 하나만
호텔, 공항, 캠퍼스 망은 먼저 로그인 페이지(Captive Portal)를 띄우는 경우가 많습니다. 그 페이지가 끝나기 전에 기기에는 진짜 송신이 없습니다. 스위치를 켜고 정책이 Proxy면 로그인 페이지가 안 열리고 인증이 끝나지 않으며 터널이 넘길 망도 없습니다. 먼저 Direct에서, 또는 스위치를 끄고, 시스템 스스로 로그인 페이지를 열게 한 뒤 끝나고 터널을 켜세요.
다른 VPN 앱이 연결된 상태일 때 iOS는 보통 트래픽을 Shadowrocket에 다시 넘기지 않습니다. 이때 이 앱 스위치가 켜져 있어도 바이트가 이 확장에 들어간 적이 없을 수 있고, Data 양쪽이 움직이지 않습니다. 장애를 가를 때는 먼저 시스템 VPN 목록에서 지금 유효한 것이 어느 것인지 보고, 레코드를 먼저 바꾸지 마세요.
04
HTTPS 복호화는 이 기기의 신뢰 모델을 바꿉니다
분기, 열람, API 호출은 HTTPS 복호화에 의존하지 않습니다. 규칙이 보는 것은 호스트명과 목적지이며 암호 내용을 열 필요가 없습니다. 리라이트가 URL이나 평문 헤더만 움직이면 복호화가 필수는 아닙니다.
HTTPS 내용을 보거나 바꿀 때만 복호화를 쓰고 사용자 프로파일을 넣습니다. 그 기기의 「시스템 루트만 신뢰」 기본을 약화합니다. 기기 위 확장이 원래 대향만 보던 내용을 볼 수 있습니다. 다 쓰면 프로파일을 빼세요. 복호화용으로 넣은 인증서를 일상 기기나 인터넷 뱅킹과 비밀번호를 두는 기기에 남기지 마세요.
인증서가 없거나 만료되었거나 시스템이 신뢰하지 않으면 복호화 목록의 호스트는 핸드셰이크 실패로 보이고 레코드가 죽은 것으로 오인하기 쉽습니다. 먼저 복호화를 끄고 대조하세요. 다른 방문이 돌아오면 문제는 인증서이지 출구가 아닙니다.
Config 아래의 DOMAIN / GEOIP / FINAL은 복호화를 켜지 않아도 그대로 동작합니다. 「규칙을 더 정확히 하려고」 MITM을 켜면 기기 전체의 신뢰 모델을 대가로 치르며, GEOIP가 더 정확해지지도 않는 경우가 보통입니다.
05
클라이언트는 대향을 고치지 못하고, 다른 시스템 위의 소프트웨어도 되지 못합니다
앱은 URL의 유효 기간을 늘리지 못하고, 서버 요금을 대신 내지 못하며, 핸드셰이크가 실패한 레코드를 쓸 수 있게 만들지도 못하고, 통신사나 대상 사이트 자신의 접근 정책도 뚫지 못합니다. 연결 품질은 로컬 망, 그 레코드의 대향, 대향 서비스가 함께 정합니다.
공식 Android, Windows, macOS 클라이언트는 없습니다. 다른 시스템 위의 소프트웨어가 같은 프로토콜 칸을 채울 수 있어도 Shadowrocket이 아니며, 규칙 파일을 그대로 연다는 보장도 없습니다. 이 사이트는 그 소프트웨어의 설치 파일을 제공하지 않습니다.
구성은 기기에 저장되고, 선택적으로 자신의 iCloud에 동기화됩니다. 계정 시스템은 없고 개발자 쪽에 당신의 목록은 없습니다. 내보내기 파일은 인증 파라미터를 포함하니 비밀로 다루세요. Config와 스토어를 보세요.