Shadowrocket에서 ChatGPT 안 될 때 iPhone 연결 문제 해결법
Shadowrocket은 연결됐지만 ChatGPT만 작동하지 않는다면 트래픽이 직접 연결로 빠지거나 DNS가 오염됐을 수 있습니다. 노드 변경, 규칙 수정, DNS 점검과 VPN 프로파일 재설치까지 실제로 따라 할 수 있는 점검 순서를 정리했습니다.
왜 항상 하나로 용접되는가
먼저 Shadowrocket 전체 문제인지 ChatGPT만의 문제인지 나누기
Shadowrocket의 스위치는 켜져 있고 다른 사이트도 열리는데 ChatGPT만 응답하지 않는다면, 곧바로 앱을 삭제할 필요는 없습니다. 이 증상은 클라이언트 전체가 끊긴 경우보다 특정 도메인이 Direct로 빠졌거나, 현재 노드가 해당 서비스의 연결을 안정적으로 처리하지 못하는 경우에 더 가깝습니다. 반대로 모든 사이트가 동시에 열리지 않으면 ChatGPT 자체보다 VPN 구성, 노드, DNS, 또는 iOS 네트워크 상태를 먼저 봐야 합니다.
확인은 한 가지 주소만 새로고침하는 방식보다 범위를 나누는 방식이 좋습니다. Safari에서 일반적인 웹사이트 하나, 검색 서비스 하나, ChatGPT 웹사이트를 각각 열어 보세요. ChatGPT 앱을 사용한다면 앱과 웹을 따로 비교해야 합니다. 웹은 열리지만 앱만 실패하면 앱 내부 세션, 캐시, 계정 인증 또는 특정 API 연결이 문제일 수 있습니다. 웹과 앱이 모두 실패하지만 다른 사이트는 정상이라면 라우팅과 DNS를 우선 의심합니다.
이때 “Shadowrocket이 연결됨”이라는 문구는 노드가 선택되었다는 뜻에 가깝습니다. ChatGPT 요청이 반드시 그 노드를 통과했다는 뜻은 아닙니다. Global Routing이 Config라면 Config의 규칙이 최종 결정을 내립니다. Home의 SERVER에 노드가 보이는지와, Config에서 해당 요청이 Proxy로 판정되는지는 별개의 확인입니다. 기본 구조가 헷갈린다면 앱, 구독, 설정 구분하기부터 확인하세요.
현재 노드와 연결 상태를 먼저 점검하기
가장 빠른 첫 조치는 다른 노드로 바꾸어 같은 ChatGPT 화면을 다시 여는 것입니다. 지연 시간이 가장 낮은 노드가 항상 가장 좋은 것은 아닙니다. 측정은 짧은 테스트의 결과이고, 실제로는 연결 유지 시간, TLS 협상, 패킷 손실, 시간대별 혼잡도가 더 크게 작용할 수 있습니다. 한 노드에서만 실패하고 다른 노드에서는 정상이라면 iPhone이나 ChatGPT 계정 전체의 문제로 확대하지 말고 출구 품질 문제로 기록하세요.
노드를 바꾼 뒤에는 기존 페이지를 무한히 새로고침하지 말고 Safari 탭이나 ChatGPT 앱을 완전히 닫았다가 다시 열어 보세요. 이미 실패한 연결이 세션에 남아 있으면 노드를 바꾸었는데도 같은 오류처럼 보일 수 있습니다. 다만 앱을 반복해서 재설치하거나 Apple ID를 바꾸는 조치는 이 단계에서 필요하지 않습니다.
Home에서 선택된 SERVER가 실제로 사용할 수 있는 상태인지도 확인합니다. 목록에 이름이 있다는 것과 현재 인증이 통과했다는 것은 다릅니다. 구독을 사용하는 경우 마지막 갱신 시각, 만료 여부, 노드 목록이 갑자기 비어 있지 않은지 살펴보세요. 구독은 사이트에서 별도로 준비해야 하며, Shadowrocket 자체가 노드나 이용권을 제공하는 것은 아닙니다. 구독과 단일 서버를 넣는 방법이 섞였다면 Subscribe와 Add Server 구분하기를 참고하세요.
Global Routing과 Config에서 ChatGPT 요청의 행방 확인하기
Shadowrocket의 Global Routing이 Direct이면 모든 요청이 터널을 우회할 수 있습니다. 반대로 Proxy이면 대부분의 요청이 선택한 SERVER로 가지만, Config가 적용 중일 때는 파일 안의 규칙이 더 구체적인 판정을 내릴 수 있습니다. 따라서 단순히 Global Routing을 Proxy로 바꾸는 것만으로 해결되지 않을 수 있습니다. 현재 선택된 모드와 Config 파일 이름을 함께 적어 두는 것이 좋습니다.
Config를 쓰고 있다면 ChatGPT 웹페이지에 필요한 도메인이나 API 관련 도메인이 실수로 Direct, REJECT, 또는 잘못된 그룹으로 향하지 않는지 확인하세요. 규칙은 서비스의 모든 요청을 한 줄로 처리하지 않을 수 있습니다. 로그인 페이지, 정적 파일, API, 스트리밍 연결이 서로 다른 호스트를 사용할 수 있기 때문입니다. 페이지는 열리는데 로그인 버튼이 멈추거나 답변 생성만 실패한다면, 기본 페이지와 API 요청의 판정이 서로 달라졌을 가능성이 있습니다.
규칙을 수정할 때는 한 번에 여러 줄을 삭제하지 마세요. 먼저 현재 Config를 복사하거나 원본을 보존하고, 의심되는 규칙 한 부분만 바꾼 뒤 다시 테스트합니다. 변경 전후에 같은 노드, 같은 네트워크, 같은 브라우저에서 비교해야 결과를 읽을 수 있습니다. 라우팅 모드가 하는 일과 하지 않는 일은 Global Routing 읽는 법에서 더 자세히 설명합니다.
DNS 오염과 오래된 캐시를 구분하는 방법
ChatGPT만 열리지 않을 때 DNS도 확인 대상입니다. DNS가 도메인 이름을 잘못된 주소로 해석하면 노드는 살아 있어도 접속 대상이 틀어질 수 있습니다. 특히 Wi-Fi에서는 실패하고 모바일 데이터에서는 되거나, 반대로 모바일 데이터에서만 실패한다면 네트워크가 제공하는 DNS 응답과 Shadowrocket의 DNS 처리 방식이 다를 수 있습니다.
먼저 같은 iPhone에서 Wi-Fi와 모바일 데이터를 각각 테스트하세요. 한 번에 여러 DNS 설정을 바꾸지 말고, 현재 Config의 DNS 항목과 Shadowrocket의 DNS 동작을 기록한 뒤 한 항목씩 변경합니다. 변경 후에는 브라우저 탭을 닫고 새 연결을 만들어야 합니다. DNS를 바꿨는데도 기존 연결을 계속 재사용하면 변화가 없는 것처럼 보일 수 있습니다.
DNS 변경은 모든 접속 오류를 해결하는 만능 수단이 아닙니다. 노드가 끊겼거나 규칙이 Direct로 고정되어 있으면 DNS만 바꿔도 ChatGPT는 작동하지 않습니다. 또한 신뢰할 수 없는 DNS를 무작정 추가하면 응답 속도뿐 아니라 개인정보와 안정성에도 영향을 줄 수 있으므로, 출처와 목적을 이해할 수 있는 설정만 사용하세요. DNS를 적용한 뒤에는 ChatGPT 외에 일반 웹사이트도 함께 확인하여 다른 도메인까지 악화되지 않았는지 비교합니다.
VPN 프로파일과 iOS 네트워크 권한 재설정
노드와 규칙이 정상인데 모든 앱에서 연결이 불안정하거나 Shadowrocket을 켜도 상단의 VPN 표시가 반복해서 사라진다면 iOS가 보관한 VPN 구성을 의심할 수 있습니다. Shadowrocket을 종료하고 다시 켜는 것과 iOS의 VPN 프로파일을 새로 허용하는 것은 다른 조치입니다. 프로파일이 오래된 상태로 남았거나 권한 확인이 꼬였을 때는 앱 설정이 맞아도 시스템 경로가 제대로 만들어지지 않을 수 있습니다.
- 현재 사용 중인 Config와 필요한 서버 정보를 먼저 확인하고, 다시 입력해야 할 내용을 별도로 보관합니다.
- Shadowrocket을 끈 뒤 iOS 설정의 VPN 관련 항목에서 해당 구성이 남아 있는지 확인합니다.
- 프로파일을 삭제하거나 앱을 제거하기 전, 다시 추가할 때 iOS의 VPN 구성 허용 창이 나타날 수 있다는 점을 기억합니다.
- Shadowrocket을 App Store에서 설치한 상태로 실행하고, 시스템이 묻는 VPN 구성 허용을 승인합니다.
- 프로파일을 다시 만든 뒤 같은 SERVER와 같은 Config로 ChatGPT를 테스트합니다.
이 과정에서 출처가 불분명한 설치 파일이나 IPA를 이용해 교체하지 마세요. Shadowrocket은 iOS와 iPadOS용 App Store 구매 앱이며, 공식 Android 버전이나 공식 Windows·macOS용 별도 클라이언트를 제공하지 않습니다. 설치 경로를 바꾸면 문제 원인을 해결하기보다 서명, 업데이트, VPN 권한 문제를 추가할 수 있습니다. 필요한 경우 App Store에서 확인하고, 설정을 다시 연결하는 기본 순서는 튜토리얼 보기를 따르세요.
변경 후 결과를 읽는 기준
| 테스트 결과 | 가능성이 높은 원인 | 다음 확인 |
|---|---|---|
| 다른 노드에서만 정상 | 현재 SERVER의 품질 또는 접속 대상과의 호환성 | 노드 상태와 갱신 시각 확인 |
| Global Routing을 바꾸면 정상 | Direct 또는 Config 규칙의 판정 | 적용 중인 Config와 관련 규칙 비교 |
| Wi-Fi와 모바일 데이터 결과가 다름 | 네트워크별 DNS 또는 필터링 차이 | DNS를 한 항목씩 점검 |
| 모든 앱에서 VPN이 불안정 | iOS VPN 프로파일 또는 시스템 권한 | 프로파일을 다시 허용하고 재연결 |
| 웹은 되지만 ChatGPT 앱만 실패 | 앱 세션, 캐시, 인증 연결 | 앱 재실행과 계정 세션 확인 |
이 표에서 중요한 것은 한 번에 가장 많은 설정을 바꾸는 것이 아닙니다. 노드, 라우팅, DNS, VPN 프로파일을 순서대로 한 가지씩 확인하고, 매번 결과를 기록하는 것입니다. 그래야 “어느 설정을 바꿨더니 됐다”가 아니라 실제 원인이 어느 계층에 있었는지 알 수 있습니다.
자주 묻는 질문
VPN은 켜졌는데 ChatGPT만 안 되는 이유는 무엇인가요?
VPN 표시는 시스템 경로가 만들어졌다는 뜻이지, 모든 도메인이 Proxy로 전달된다는 뜻은 아닙니다. Global Routing이 Direct이거나 Config가 해당 요청을 다른 방식으로 처리할 수 있습니다. 먼저 다른 노드와 다른 라우팅 모드를 비교하세요.
ChatGPT 앱과 웹의 결과가 다르면 어떻게 하나요?
두 경로가 사용하는 호스트와 연결 방식이 다를 수 있습니다. 웹만 실패하면 브라우저 세션과 웹 요청 규칙을, 앱만 실패하면 앱 재실행과 로그인 세션을 먼저 확인하세요. 두 환경을 동시에 고치기보다 실패하는 쪽을 분리해 보는 편이 정확합니다.
DNS를 바꾸면 바로 해결되나요?
DNS 오염이 원인일 때는 도움이 될 수 있지만, 노드 장애나 Direct 규칙에는 효과가 없습니다. Wi-Fi와 모바일 데이터의 차이를 확인한 뒤 DNS를 한 항목씩 바꾸고, 기존 연결을 닫은 후 새로 테스트하세요.
앱을 삭제하면 설정도 모두 사라지나요?
저장 위치와 iOS 상태에 따라 다시 입력해야 하는 항목이 생길 수 있으므로, 삭제 전 Config와 서버 정보를 확인하는 것이 안전합니다. 재설치가 필요하다면 비공식 설치 파일 대신 App Store 경로를 사용하고 VPN 구성 허용을 다시 진행하세요.
1계층: 산 것은 클라이언트뿐이다
App Store가 판 것은 클라이언트 라이선스입니다. 링크 분석, 노드 저장, 지연 측정, Global Routing 전환, 설정 읽기/쓰기, 시스템 VPN 요청을 합니다. 이 능력은 한 번 사면 남고, 업데이트도 스토어입니다. “+”를 누른 뒤 쓸 수 있는 호스트를 허공에서 만들지도, 스위치를 켠 뒤 트래픽과 기한을 더해 주지도 않습니다.
그래서 “샀는데 왜 안 되냐”는 대개 앱 사기가 아니라 2계층이 아직 안 붙은 것입니다. Home SERVER에 Add Server만 있는 것은 이 계층은 설치됐고 다음 계층은 아직 빈, 정상 상태입니다. 스위치를 반복하고, 재설치하고, 지역을 바꿔도 빈 목록은 고쳐지지 않습니다.
1계층도 혼자 고장 날 수 있습니다. 비슷한 이름 오구매, 스토어 밖 출처, 나중에 설정에서 VPN을 끈 것은 모두 “앱은 있는데 연결이 안 된다”입니다. 이런 장애를 구독 교체로 고치지 마세요. 이름, 아이콘, App ID 대조는 App Store에서만 받기.
2계층: 출구는 구독 또는 손입력 노드
호스트 위치, 포트, 프로토콜 맞음, 남은 트래픽, 링크 만료는 제공자나 본인 서버가 정합니다. 앱은 기록을 저장하고 고른 한 줄에 연결할 뿐입니다. 목록이 비고, 업데이트가 실패하고, 지연이 모두 시간 초과면 먼저 이 계층을 의심하세요.
2계층 붙이는 법은 둘입니다. 제공자가 구독 URL이면 Type의 Subscribe. 나중에 갱신할 수 있습니다. 호스트, 포트, 비밀번호만이면 Add Server. 구독 주소를 Host에 붙이거나 설정 파일 주소를 구독으로 취급하면 쓸 수 있는 노드로 펼쳐지지 않습니다. 이 오독은 Subscribe는 Add Server가 아니다에 따로 있습니다.
목록이 있어도 출구가 없을 수 있습니다. 노드 이름은 있는데 지연이 모두 시간 초과면 목록은 내려왔고 맞은편이 죽은 것입니다. 지연 숫자는 작은데 페이지가 안 열리면 속도 측정 주소는 통하고 프록시 핸드셰이크는 안 통할 수 있습니다. 숫자에 안심하지 마세요. 그래서 재설치하지도 마세요. 구독을 갱신하거나 한 줄을 바꾸세요. 전멸이면 제공자 쪽으로 돌아가세요.
3계층: 설정이 어떤 트래픽이 출구를 탈지 정한다
설정이 답하는 것은 “노드가 있는가”가 아니라 “이 요청을 직통할지 터널에 넣을지”입니다. 기본 default.conf는 이미 분기를 가집니다. 제공자가 다른 원격 파일을 줄 수도 있습니다. 구독을 바꿔도 설정을 바꿀 필요는 없고, 설정을 고친다고 노드 세트가 바뀌는 것도 아닙니다. 두 주소는 둘 다 https로 시작할 수 있지만 들어가는 탭은 같지 않습니다.
Global Routing이 Config일 때 실제로 적용되는 것은 지금 켠 그 파일입니다. 노드가 많아도 규칙이 DIRECT로 보내면 터널은 그 사이트를 열어 주지 않습니다. 반대로 직통이어야 할 사이트까지 터널에 넣으면 “프록시를 켜니 더 느리다”고 느낍니다. 1계층 고장이 아니고, 종종 2계층 트래픽 부족도 아닙니다. 3계층이 기대와 안 맞는 것입니다.
설정과 구독을 따로 봐야 하는 이유는 설정 파일은 구독이 아니다. 세 관찰 모드 쓰는 법은 Config, Proxy, Direct가 각각 보는 것.
같은 “안 열린다”가 가리키는 계층은 다르다
3계층 중 어느 것이 깨져도 표면은 페이지가 안 열릴 수 있습니다. 세 곳을 동시에 고치면 판단만 어려워집니다. 먼저 증상으로 위치를 정한 뒤 손대세요.
| 보이는 것 | 먼저 의심할 것 | 먼저 하지 말 것 |
|---|---|---|
| 스토어에 없거나 아이콘이 다름 | 앱 계층: 지역, 항목, 가짜 | 설치 파일을 받기 |
| Home SERVER에 Add Server만 있음 | 구독을 아직 안 넣었거나 Type이 틀림 | 규칙을 고치거나 Proxy를 켜기 |
| 목록에 노드는 있는데 지연이 모두 시간 초과 | 출구 자체가 안 됨 | 앱 재설치 |
| VPN은 있는데 직통이어야 할 사이트도 느리거나 안 열림 | 설정이 프록시하면 안 되는 요청을 터널에 넣음 | 노드를 계속 추가 |
| 스위치는 켜졌는데 상태 바에 VPN이 없음 | 시스템이 이 구성을 허용하지 않음 | 구독 링크 바꾸기 |
| 직통에서도 같은 사이트가 안 열림 | 기기 네트워크나 대상 자체가 닿지 않음 | Shadowrocket을 계속 만지기 |
시스템 VPN은 4계층이 아니지만 자주 빠진다
연결은 iOS VPN 구성에 쓰입니다. 앱이 요청하고 시스템이 허용합니다. 처음 연결할 때 시스템은 구성 추가를 허용할지 묻습니다. 거절하면 Home 스위치는 혼자 효력이 없습니다. 나중에 “설정”에서 이 줄을 꺼도 결과는 같습니다. 스위치는 켜짐, 상태 바에 VPN 없음.
앱을 지워도 시스템 구성이 바로 사라지지 않을 수 있습니다. 다시 넣은 뒤 재허용하지 않거나, 시스템에 다른 출처의 같은 이름 구성이 남아 있으면 “설치했는데 연결이 안 된다”도 납니다. 그래도 먼저 돌아갈 곳은 1계층과 시스템 허용이지, 구독 만료가 아닙니다.
Settings의 On Demand는 일부 네트워크를 떠나면 자동 해제합니다. 노드가 갑자기 사라진 것이 아닙니다. “밤에 끊기면 구독 만료”라고 생각하는 사람이 있습니다. 먼저 이 항목을 본 뒤 2계층을 갱신하세요.
권장 확인 순서
먼저 앱이 공식 사본이고 시스템의 VPN 구성이 남아 있는지 확인하세요. 다음 Home에 고를 수 있는 노드가 있고, 갱신 후가 빈 목록이 아닌지 확인하세요. 마지막에 규칙이 요청을 직통으로 보냈는지, 잘못 터널에 넣었는지 물으세요. 한 번에 한 계층만 움직이세요. 같은 1분에 구독 갱신, Global Routing 변경, Config 교체, VPN 온오프를 하면 어느 수가 먹혔는지 모릅니다.
삭제 후 재설치는 앱 안 로컬 상태만 지웁니다. 구독과 설정이 남을지는 Data에 백업했는지, 시스템이 VPN 구성을 남겼는지에 달립니다. 재설치는 2계층을 고치는 방법이 아니고, 업무 복구 키도 아닙니다.
3계층이 나뉘었다면 튜토리얼에서 순서대로 이으세요. 아직 사지 않았거나 아이콘을 대조하지 않았다면 먼저 다운로드 페이지로 가세요. 다른 사이트에서 설치 파일을 찾지 마세요.