공식 매뉴얼 · 상세 안내

Shadowrocket 구독 관리 가이드

기존 구독 및 서버 정보의 가져오기, 관리, 테스트와 백업을 안내합니다.

이 페이지는 관리 작업별로 구성되어 있어 특정 필드, 업데이트 결과 또는 정리 방법을 확인할 때 유용합니다. 처음 연결을 설정한다면 먼저 시작하기를 읽고 가져오기, Global Routing 선택, 연결 스위치 켜기 순서로 진행한 다음 이 페이지에서 장기 관리 방법을 확인하세요.

Shadowrocket은 App Store에서 판매되는 Apple 플랫폼용 유료 클라이언트입니다. 주로 iPhone과 iPad에서 사용하며, 시스템 요구 사항은 App Store 페이지를 기준으로 확인하세요. 구매 전 App Store 정품 확인 페이지에서 개발자 Shadow Launch Technology Limited와 앱 ID 932747118를 확인할 수 있습니다. 클라이언트 일회성 구매는 회선 요금제와 별개입니다. 아래 내용은 사용자가 이미 보유한 구독 또는 서버 정보를 클라이언트에서 사용하는 방법만 안내합니다.

01 · Subscribe: 관리 가능한 구독 추가

구독 주소인지 서버 정보인지 먼저 확인하세요

시작하기 전에 보유한 정보의 용도를 확인하세요. 구독 주소는 여러 서버 항목을 가져오는 원격 주소로, 보통 HTTPS 주소를 사용합니다. 개별 공유 링크는 서버의 프로토콜과 매개변수를 설명합니다. 둘 다 긴 문자열일 수 있으므로 길이만으로 구분할 수는 없습니다. 함께 제공된 안내를 확인해 Subscribe에 입력할 주소인지, 서버를 직접 가져올 정보인지 판단하세요. 계정 관리 웹페이지 주소를 구독 주소로 사용하거나, 서버 도메인만 구독 URL에 입력하지 마세요.

Home에서 오른쪽 위 추가 메뉴를 눌러 Add Server로 이동한 다음 Type에서 Subscribe를 선택하세요. 화면 구성은 앱 업데이트에 따라 달라질 수 있으므로 현재 표시되는 영문 메뉴를 기준으로 진행하세요. 보유한 구독 주소 전체를 URL에 입력하고 쉽게 알아볼 수 있는 메모를 추가합니다. 메모에는 ‘개인 일상용 구독’처럼 용도와 소유 구분을 적고, 접근 권한 정보는 포함하지 않는 것이 좋습니다. 저장한 뒤 Home으로 돌아가 해당 구독과 서버 항목이 표시되는지 확인하세요. 주소만 저장되고 내용이 아직 없다면 수동으로 한 번 업데이트하세요.

URL 앞뒤의 공백이나 줄바꿈, 메신저가 바꾼 기호 때문에 가져오기에 실패할 수 있습니다. 붙여넣은 뒤 물음표 뒤의 매개변수가 온전한지, 영문 기호가 다른 문자로 바뀌지 않았는지, 안내 문구가 함께 복사되지 않았는지 확인하세요. 주소의 쿼리 매개변수는 접근 권한을 포함할 수 있으므로 표시를 간결하게 하려고 삭제하거나 공개 온라인 디코딩 사이트에 입력하지 마세요. 확인할 때는 앞부분, 끝부분, 매개변수 이름을 비교하고 공유 화면에 전체 주소를 표시하지 않아도 됩니다.

저장한 뒤 서버 모음과 현재 선택을 확인하세요

구독 내용을 클라이언트에 가져온 뒤 예상한 그룹에 들어갔는지 확인하고, 서버 이름과 프로토콜 종류, 항목 수가 기존 정보와 일치하는지 살펴보세요. 이름은 메모일 뿐 두 항목이 완전히 같다는 뜻은 아닙니다. 이름이 같아도 포트나 전송 설정이 다를 수 있습니다. 처음 가져왔다면 항목 하나를 선택해 상세 정보의 기본 필드를 확인한 다음 Home으로 돌아가 현재 선택 항목을 확인하세요. 목록에 표시된다는 이유로 연결에 필요한 Config 선택과 시스템 권한 설정을 건너뛰지 마세요.

Subscribe를 사용하면 원격 서버 모음과 로컬 목록 사이의 관리 관계를 유지할 수 있습니다. 각 항목을 서로 무관한 수동 입력으로 바꾸는 것이 목적은 아닙니다. 이후 업데이트에서 서버가 추가, 삭제 또는 교체될 수 있습니다. 구독에서 생성된 항목의 매개변수를 직접 변경하면 다음 업데이트 때 원격 내용으로 덮어써질 수 있습니다. 임시 진단을 위해 수정할 때는 먼저 기존 값을 기록하세요. 사용자 지정 내용을 계속 유지해야 한다면 앱에서 허용하는 별도 항목으로 관리하고, 원래 구독에 따라 자동 업데이트되지 않는다는 점을 명확히 하세요.

결과다음 확인 사항
주소는 저장됐지만 목록이 비어 있음수동으로 한 번 업데이트하고 유효한 구독 내용이 반환되는지 확인하세요.
목록에 항목이 있지만 연결되지 않음현재 선택된 서버, Global Routing, 서버 매개변수를 확인하세요.
다시 가져온 뒤 같은 그룹이 중복으로 표시됨구독 주소를 비교하고 관리 관계가 명확한 그룹을 남기세요.

가져오기 실패 시 단계별로 확인하세요

저장 단계에서 거부되면 먼저 URL 필드와 입력 형식을 확인하세요. 저장은 됐지만 가져오기에 실패한다면 주소 접근 가능 여부, 권한 유효성, 반환 내용을 확인해야 합니다. 원격 서버가 로그인 페이지나 안내 페이지 또는 빈 텍스트를 반환하면 브라우저에서 요청 성공으로 보일 수 있지만, 이는 해석 가능한 서버 모음이 아닙니다. ‘페이지가 열린다’는 이유만으로 클라이언트의 파싱 문제라고 단정하지 마세요. 먼저 기존 자료를 확인해 해당 주소가 실제 구독 주소인지 확인한 다음 앱에 표시된 오류와 비교하세요.

문제를 확인할 때는 한 번에 한 가지 조건만 바꾸세요. 먼저 원본 주소를 다시 복사해 업데이트하고, 그래도 실패하면 현재 Wi-Fi와 셀룰러 네트워크에서 결과를 비교하며 어느 단계에서 문제가 생기는지 기록하세요. 반복해서 삭제하고 다시 만들면 그룹과 현재 선택에 관한 정보가 사라질 수 있습니다. 이전 목록을 계속 사용할 수 있다면 그대로 두고 반복 작업을 멈춘 뒤 원격 내용을 확인하고 업데이트하세요. 처음 연결하는 순서는 시작하기를 참고하고, 오류 증상별 안내는 자주 묻는 질문에서 확인하세요.

02 · Add Server: 직접 입력 필드 확인

Type을 먼저 선택한 다음 공통 필드를 입력하세요

Add Server는 사용자가 보유한 완전한 서버 정보를 개별 항목으로 추가할 때 사용합니다. 프로토콜 종류에 따라 필요한 매개변수가 달라지므로 Type을 먼저 선택한 뒤 해당 필드를 입력하세요. 기본 양식에 모든 정보를 먼저 입력하고 프로토콜을 임의로 바꾸지 마세요. 변경 후 일부 필드가 더는 적용되지 않거나 필수 항목을 다시 확인해야 할 수 있습니다. 보유한 정보가 구독 주소뿐이라면 Subscribe 절차로 돌아가세요. 주소만 보고 서버 매개변수를 추측하지 마세요.

Address에는 서버 도메인이나 IP 주소를, Port에는 제공된 포트 번호를 입력하세요. 현재 필드에서 전체 URL을 명시적으로 요구하지 않는 한 Address에 프로토콜 접두사, 경로 또는 포트를 포함하지 마세요. 도메인의 하이픈과 숫자는 복사할 때 혼동하기 쉬우며, Port도 흔히 쓰이는 값을 임의로 입력해서는 안 됩니다. 서버 이름이나 메모는 로컬에서 알아보기 위한 것이므로 용도에 맞게 지정할 수 있습니다. 보통 인증에는 사용되지 않으므로 메모를 바꿔도 주소, 비밀번호 또는 전송 매개변수 오류가 해결되지 않습니다.

인증 정보는 선택한 프로토콜에 맞아야 합니다. 프로토콜에 따라 Password, UUID, 사용자 이름, 키 또는 전용 필드가 필요할 수 있습니다. 공백 문자도 입력값에 포함되므로 문서 끝부분을 복사할 때 줄바꿈이 들어가지 않도록 특히 주의하세요. 입력을 마치면 각 항목을 원본 정보와 대조한 뒤 저장하고 테스트하세요. 정보가 부족하다면 먼저 보완해야 합니다. 다른 프로토콜의 필드를 조합해 채우지 마세요. 직접 입력의 목적은 기존 정보를 정확히 옮기는 것이지, 우연히 연결될 때까지 옵션을 바꿔 보는 것이 아닙니다.

프로토콜 필드와 전송 필드를 구분해 확인하세요

Type중점 확인 항목유의 사항
ShadowsocksAddress, Port, 암호화 방식, Password암호화 방식은 서버 설정과 일치해야 합니다.
VMess / VLESSUUID, 전송 방식, TLS 관련 매개변수UUID만으로 설정이 완전한지 판단할 수 없습니다.
TrojanPassword, TLS, 서버 이름인증서 확인 이름과 연결 주소가 다를 수 있습니다.
Hysteria2인증 정보, TLS, 전용 전송 매개변수보유한 정보에 따라 입력하고 다른 프로토콜 설정을 적용하지 마세요.
WireGuard키, Peer, 주소 및 관련 네트워크 매개변수관련 항목을 함께 확인하세요. 포트만 복사해서는 안 됩니다.

프로토콜 인증과 전송 방식은 서로 다른 두 계층의 정보입니다. 같은 VLESS 또는 VMess라도 전송 방식이 다를 수 있습니다. Address, Port, UUID가 모두 같아도 경로, Host 또는 TLS 관련 필드가 누락되면 연결에 실패할 수 있습니다. 보유한 정보에서 명시적으로 요구하는 경우에만 추가 항목을 입력하세요. 양식에 입력란이 있다고 해서 임의로 값을 넣지 마세요. 기본 인증 정보를 먼저 확인하고, 전송 설정을 대조한 뒤, 마지막으로 인증서 관련 설정을 확인하면 잦은 수정으로 인한 혼란을 줄일 수 있습니다.

TLS의 서버 이름은 인증서 확인 등의 절차에 사용되므로 Address와 항상 같을 필요는 없지만 서버 설정을 따라야 합니다. 인증서 오류가 발생해도 먼저 검증을 끄고 우회하지 마세요. 도메인, 기기의 시간, 인증서 유효성, 제공된 정보의 이름 요구 사항을 확인하세요. 일부 오류는 ‘연결할 수 없음’처럼 보이지만 실제로는 인증 또는 핸드셰이크 단계에서 발생합니다. 연결 스위치가 켜져 있는지만 설명하는 것보다 정확한 오류 문구를 보존하는 편이 원인 파악에 도움이 됩니다.

나중에 다시 확인할 수 있도록 항목을 저장하세요

저장하기 전에 ‘주소와 포트, 인증, 전송, TLS, 메모’ 순서로 확인하는 것이 좋습니다. 저장한 뒤 Home으로 돌아가 해당 항목을 선택하고 현재 선택 상태를 확인한 다음 테스트하세요. 저장 성공이 연결 성공을 뜻하지는 않습니다. 양식 검사는 일부 형식만 확인할 수 있으며 원격 서버가 요청을 받는지는 확인할 수 없습니다. 가져오기와 직접 입력 결과가 다르면 상세 정보를 열어 필드별로 비교하세요. 특히 기본값과 공유 링크에 포함되지 않은 추가 매개변수를 확인하세요.

특정 필드를 시험하려면 먼저 항목을 복사하거나 기존 값을 기록한 뒤 한 번에 하나만 변경하고 결과를 기록하세요. 여러 항목을 동시에 바꾸면 연결이 복구되어도 원인을 파악하기 어렵습니다. 구독으로 관리되는 서버를 장기적으로 수정하려면 원격 정보도 바꿔야 하는지 먼저 확인하세요. 로컬 변경 사항은 다음 업데이트에서 덮어써질 수 있습니다. Hysteria2 전송 개념은 Hysteria2 프로토콜 설명에서 확인할 수 있지만, 구체적인 입력값은 사용자가 보유한 서버 정보를 기준으로 해야 합니다.

03 · Scan QR Code와 클립보드: 미리 확인한 뒤 저장

QR 코드로 입력해도 확인 책임은 그대로입니다

Scan QR Code는 QR 코드에 담긴 텍스트를 읽은 뒤 서버 또는 구독 정보로 처리할 수 있는지 앱이 판단하는 기능입니다. 스캔하기 전에 QR 코드가 사용자가 보유한 자료에서 온 것인지 확인하고, 개별 서버인지 구독 주소인지 구분하세요. QR 코드 모양이 비슷해도 내부 내용은 전혀 다를 수 있습니다. 계정 웹페이지, 일반 텍스트, 서버 공유 링크 모두 QR 코드로 만들 수 있으므로 ‘스캔 성공’은 내용을 읽었다는 뜻일 뿐 유효한 설정을 가져왔다는 뜻은 아닙니다.

Home의 스캔 메뉴에서 Scan QR Code를 열고 시스템 안내에 따라 필요한 카메라 권한을 허용한 다음 QR 코드 전체를 화면 안에 맞추세요. 앱에서 상세 정보나 가져오기 확인 화면을 표시하면 멈춰서 Type, Address, Port와 메모를 확인한 뒤 진행하세요. QR 코드가 잘리거나 압축되었거나 빛이 반사되어 가려지면 인식에 실패할 수 있습니다. 인식 실패를 서버 사용 불가로 단정하지 말고 먼저 이미지 선명도와 촬영 거리를 조정하세요.

QR 코드가 같은 기기에 저장되어 있다면 현재 앱에서 실제로 사진 보관함 가져오기 기능을 제공하는 경우에만 사용하세요. 해당 기능이 보이지 않는다면 계속 찾아볼 필요는 없습니다. 자료에 해당하는 원본 공유 텍스트를 클립보드로 가져오는 편이 더 간단합니다. 자격 정보가 담긴 이미지를 공개 인식 도구에 업로드하거나, 편의를 위해 전체 QR 코드를 공개 페이지에 표시하지 마세요. QR 코드 내용은 보통 일반 텍스트 자격 정보와 동일한 접근 권한을 가집니다.

클립보드 가져오기는 전체 텍스트를 보존해야 합니다

복사할 때는 완전한 공유 링크 하나 또는 구독 주소 하나만 선택하고 제목, 번호, 따옴표, 설명 문단은 함께 복사하지 마세요. Shadowrocket으로 돌아가 현재 화면에 표시되는 클립보드 가져오기 또는 추가 안내를 사용하세요. 시스템에서 붙여넣기 권한을 요청하면 방금 복사한 자료를 읽으려는 것인지 확인하세요. 가져오기 안내가 표시되지 않으면 추가 절차에서 해당 기능을 제공하는지 확인하세요. 인코딩된 텍스트 전체를 Address 필드에 붙여넣지 마세요.

긴 링크는 화면에서 자동으로 줄바꿈되어 보일 수 있지만, 시각적 줄바꿈이 실제 줄바꿈이라는 뜻은 아닙니다. 실제 문제는 복사 중 내용이 잘렸거나 공백이 들어갔거나, 링크의 보이는 제목만 복사되고 실제 주소는 포함되지 않은 경우가 많습니다. 가져오기에 실패하면 원본 자료로 돌아가 다시 복사하세요. 이해하지 못하는 인코딩 부분을 임의로 삭제하지 마세요. 문서에서 복사할 때는 일반 텍스트로 복사하고 스마트 구두점이 영문 따옴표, 더하기 기호 또는 슬래시를 다른 문자로 바꾸지 않았는지 확인하세요.

한 번에 여러 항목을 가져올 때는 현재 형식이 앱에서 어떻게 처리되는지 먼저 확인하세요. 여러 줄의 공유 텍스트와 구독에서 반환된 인코딩 서버 모음은 서로 다른 형식이므로 서버가 여러 개라는 이유만으로 같은 메뉴를 사용해서는 안 됩니다. 먼저 확인 가능한 항목 하나를 가져와 필드가 올바른지 확인한 뒤 나머지를 처리하세요. 가져온 후에는 새 항목이 어디에 속하는지 즉시 확인하세요. 기존의 이름이 같은 항목과 섞여 다음에 서버를 선택할 때 오래된 매개변수를 잘못 사용하는 일을 방지할 수 있습니다.

읽기, 파싱, 연결을 각각 확인하세요

이 절차는 세 단계로 나눠 확인할 수 있습니다. 첫째, 전체 텍스트를 읽었는지 확인합니다. 둘째, 올바른 항목으로 파싱됐는지 확인합니다. 셋째, 항목이 기대한 연결을 설정할 수 있는지 확인합니다. QR 코드를 스캔해도 반응이 없다면 보통 첫 번째 단계의 문제입니다. 지원하지 않는 내용이라는 메시지는 대개 두 번째 단계에서 발생합니다. 항목은 표시되지만 요청에 실패한다면 세 번째 단계에서 확인해야 합니다. 단계별로 점검하면 QR 코드만 반복해서 스캔하고 Port나 TLS 필드는 확인하지 않는 일을 피할 수 있습니다.

파싱이 완료되면 새 항목의 상세 정보를 열어 기존 자료와 비교하세요. 이름이 깨져 보이는 것은 메모의 인코딩 문제일 수도 있고 링크가 중복 인코딩되었다는 신호일 수도 있습니다. 인증 및 전송 필드를 추가로 확인하고 이름만으로 결론 내리지 마세요. QR 코드와 클립보드로 가져온 결과가 같은데 둘 다 연결에 실패한다면 입력 방식 대신 원본 매개변수, 서버 상태, 로컬 네트워크를 확인하세요. 항목 하나만 남겨도 충분합니다. 같은 내용을 반복해서 가져온다고 연결 성공 가능성이 높아지지는 않습니다.

작업을 마치면 클립보드의 민감한 내용을 일반 텍스트로 덮어쓰고 기기 자체의 개인정보 설정에서 클립보드 접근을 관리할 수 있습니다. 가져오기 중 화면을 공유하거나 스크린샷을 보낸 적이 있다면 전체 QR 코드나 권한 매개변수가 노출됐는지 확인하세요. 잘못 가져온 항목은 현재 사용 중인 것이 아닌지 먼저 확인한 다음 이 페이지의 삭제와 백업 섹션에 따라 처리하세요. 처음 연결할 때는 Global Routing을 선택하고 시스템 권한도 설정해야 합니다. 순서는 시작하기에서 확인할 수 있습니다.

04 · 공유 링크 형식: 서버 항목, 구독, Config 구분하기

프로토콜 접두사에 따라 뒤따르는 텍스트를 해석합니다

개별 서버 공유 링크에는 ss://, vmess://, vless://, trojan://와 같은 프로토콜 접두사가 붙는 경우가 많습니다. 이 접두사는 일반 웹 주소가 아니라 뒤에 이어지는 서버 정보를 앱이 해석하는 방식을 지정합니다. 프로토콜마다 인코딩 방식과 매개변수 규칙이 다릅니다. 여러 필드를 인코딩된 내용에 넣는 형식도 있고, 인증 정보와 주소, 쿼리 매개변수를 따로 표현하는 형식도 있습니다. 따라서 접두사를 바꿔 한 프로토콜의 링크를 다른 프로토콜의 링크로 바꾸면 안 됩니다.

HTTPS 주소도 겉모양만으로 용도를 판단할 수 없습니다. 구독 주소나 설정 파일 주소일 수도 있고 단순한 웹페이지일 수도 있습니다. 가져오기 전에 기존 자료를 바탕으로 대상이 무엇인지 확인하세요. 서버 공유 정보는 서버 가져오기 절차로, 구독 주소는 Subscribe로, 규칙 설정은 Config로 가져와야 합니다. Config 텍스트를 서버 목록으로 파싱하거나 서버 구독을 설정 파일로 불러오면 네트워크 연결 단계가 아니라 내용 파싱 단계에서 오류가 발생합니다.

공유 링크에서 # 뒤의 내용은 메모에, ? 뒤의 내용은 추가 매개변수에 사용되는 경우가 많지만 정확한 의미는 해당 형식의 규칙을 따라야 합니다. 메모를 바꿔도 인증 문제가 해결되는 경우는 드물지만 쿼리 매개변수는 전송 방식, 경로 또는 TLS 동작에 영향을 줄 수 있습니다. 링크를 짧게 만들려고 뒷부분을 삭제하거나, 인코딩 문자를 읽기 쉬워 보이는 문자로 전부 바꾸지 마세요. 퍼센트 인코딩, Base64, 일반 텍스트가 함께 쓰이는 경우 잘못된 중복 디코딩으로 실제 필드 값이 바뀔 수 있습니다.

.conf의 역할 범위를 이해하세요

Shadowrocket의 .conf에는 규칙과 기타 설정이 포함될 수 있습니다. 아래에는 문법을 보여 주기 위한 [Rule] 일부만 표시합니다. 도메인은 규칙 문법을 설명하는 예시일 뿐, 사용할 수 있는 서버 정보도 독립적으로 연결할 수 있는 전체 설정도 아닙니다. 이 내용은 요청을 어떻게 처리할지를 나타내며 서버 자격 정보를 어디서 얻는지와는 관계가 없습니다. 기존 설정을 사용할 때는 원본 파일을 먼저 보존하고 규칙과 다른 설정의 관계를 확인하세요. 세 줄만 복사해 현재 사용 중인 설정 전체를 대체해서는 안 됩니다.

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

DOMAIN-SUFFIX는 도메인 접미사로 일치 항목을 찾고, GEOIP는 대상 IP의 지리적 분류를 기준으로 일치 항목을 찾으며, FINAL은 최종 처리 방식을 지정합니다. 규칙은 보통 순서대로 확인되므로 구체적인 조건과 기본 처리 조건의 위치가 결과에 영향을 줍니다. PROXY와 DIRECT는 규칙의 처리 키워드이므로 한국어로 바꾸지 마세요. 여기의 example.com은 일치 대상의 예시일 뿐, 서버 항목에 입력할 값이 아닙니다.

Global Routing의 Config, Proxy, Direct는 요청을 전반적으로 어떻게 처리할지 결정합니다. Config에서는 현재 설정의 규칙을 확인해야 합니다. Proxy에서는 웹페이지에 접속된다는 이유만으로 특정 도메인 규칙이 올바르다고 단정할 수 없습니다. Direct에서도 결과만으로 프록시 서버가 작동한다고 판단할 수 없습니다. 구독 관리와 규칙 설정은 별도로 확인하세요. 먼저 현재 항목을 확인하고 라우팅 모드를 확인한 다음 실제 요청이 예상대로 처리되는지 살펴보세요.

공유 전에 범위와 민감 정보를 확인하세요

서버 항목 하나를 내보내는 것과 설정 전체를 내보내는 것은 포함되는 정보의 범위가 다릅니다. 개별 항목에는 인증 정보가 포함될 수 있고, 설정 파일에는 사용자 지정 규칙, DNS 설정, 원격 주소와 기타 개인 설정이 들어갈 수 있습니다. 보내기 전에 상대방이 실제로 필요한 내용을 확인하세요. 필드 이름 확인에는 민감 정보를 가린 스크린샷을, 규칙 설명에는 필요한 최소한의 규칙 부분만 제공하면 됩니다. 계정 관련 내용을 모두 함께 보낼 필요는 없습니다. 메모가 평범해 보여도 링크 본문에 직접 접근할 수 있는 정보가 포함될 수 있습니다.

기기 간에 정보를 옮길 때 앱의 공유 기능을 사용한다면 링크를 만들었다는 이유만으로 이동이 완료됐다고 생각하지 말고 받는 기기에서 가져오기 결과를 확인하세요. 일부 추가 설정은 로컬 Config나 구독 관계에 따라 달라질 수 있으므로 개별 공유 항목에 모든 정보가 포함된다고 볼 수 없습니다. 특히 구독 항목에서 개별 서버를 공유했다면 가져온 뒤의 그룹과 구독 주소를 확인해 원래 구독에 따라 계속 관리되는지 살펴보세요. ‘매개변수가 같다’는 것과 ‘관리 관계가 같다’는 것을 혼동하지 마세요.

형식을 인식하지 못하면 원본 텍스트를 보존하고 앱에서 해당 형식을 지원하는지 먼저 확인하세요. 공개 변환 서비스에 붙여넣지 마세요. 기존 자료에서 현재 가져오기 메뉴에 맞는 형식을 얻거나, 필드가 모두 있다면 Add Server를 사용해 직접 입력할 수 있습니다. 프로토콜의 추가 매개변수는 현재 앱 화면과 원본 서버 정보를 기준으로 해야 합니다. 이 가이드는 인코딩된 텍스트를 수정해 인증 필드를 추측하거나 누락된 정보에서 자격 정보를 복원하는 방법을 안내하지 않습니다.

05 · 업데이트 설정: 요청 성공과 내용 변경 구분하기

확인 가능한 수동 업데이트를 한 번 진행하세요

구독 업데이트는 주소에 다시 요청을 보내고 반환된 서버 내용을 해당 모음에 적용하는 절차입니다. 모든 서버를 개별적으로 복구하거나 만료된 권한을 자동으로 되살리는 기능은 아닙니다. 시작하기 전에 현재 사용하는 구독 그룹과 선택된 서버를 기록하고 필요한 경우 사용 중인 Config도 기록하세요. 목록 순서나 이름이 바뀌거나 항목이 삭제되더라도 변경 원인을 파악할 수 있어, 업데이트 후 화면이 달라졌다는 이유만으로 클라이언트 설정이 전부 사라졌다고 오해하지 않게 됩니다.

Home에서 대상 구독을 찾고 현재 화면에 표시되는 업데이트 기능을 사용하세요. 화면에 따라 그룹 메뉴, 편집 메뉴 또는 구독 관리 영역에 있을 수 있습니다. 서버 항목을 하나씩 편집하지 말고 Subscribe 항목을 대상으로 작업하세요. 업데이트를 시작한 뒤 요청이 끝날 때까지 기다린 다음 결과 메시지와 목록 변화를 확인하세요. 요청이 진행 중일 때 반복해서 누르지 마세요. 구독이 여러 개라면 먼저 내용이 알려진 구독 하나를 업데이트해 결과를 확인한 뒤 나머지를 처리하세요. 어느 주소에서 문제가 발생했는지 파악하기 쉽습니다.

업데이트 성공 후 항목이 바뀌지 않았다면 원격 내용과 로컬 내용이 같을 수 있습니다. 항목이 늘어났다고 연결 품질이 향상된 것도 아닙니다. ‘요청 완료’, ‘내용 파싱 가능’, ‘변경 사항이 예상과 일치’, ‘현재 선택이 유효함’을 각각 확인하세요. 업데이트 뒤 자주 사용하는 항목의 상세 정보를 열어 프로토콜과 주요 매개변수가 바뀌었는지 확인하고 테스트하세요. 현재 선택 항목이 삭제됐다면 새 목록에서 다시 선택하세요. 연결 스위치가 계속 켜져 있다고 이전 선택이 유효하다고 판단하지 마세요.

자동 업데이트와 요청 경로

자동으로 관리하려면 Settings에서 구독 관련 자동 업데이트 옵션을 찾아 현재 화면의 안내에 따라 설정하세요. 예를 들어 앱을 열 때 업데이트하도록 설정할 수 있습니다. 자동 동작을 켜기 전에 수동 업데이트로 주소가 유효한지 확인하세요. 자동 업데이트는 실행 시점만 바꿀 뿐 백그라운드에서 매번 네트워크 요청을 완료한다고 보장하지 않습니다. 기기 네트워크, 앱 실행 상태, 시스템 스케줄링이 결과에 영향을 줄 수 있습니다. 중요한 변경 후에는 스위치 상태만 믿지 말고 구독 목록을 다시 확인하세요.

업데이트 요청에도 네트워크 경로가 필요합니다. 특정 연결 환경에서만 주소에 접근할 수 있다면 기존 설정을 바탕으로 실제 요청이 어떤 경로를 사용하는지 파악하세요. 모든 트래픽을 다른 Global Routing으로 곧바로 바꾸지 마세요. 특히 기존 서버가 이미 작동하지 않고 업데이트 요청도 해당 서버 연결에 의존한다면 새 목록을 가져오지 못하는 상황이 반복될 수 있습니다. 문제를 확인할 때는 라우팅 모드와 네트워크 환경을 바꾸기 전후로 기록하고, 매번 조건 하나만 변경하세요. 업데이트를 위해 평소 규칙을 계속 바꾸지 마세요.

실패 단계중점 확인 항목
요청을 보내거나 완료할 수 없음로컬 네트워크, 도메인 확인, 요청 경로, 시간 초과 메시지
반환된 내용을 파싱할 수 없음주소가 올바른지, 웹페이지나 빈 내용 또는 지원하지 않는 형식이 반환됐는지 확인하세요.
목록 업데이트 후 연결할 수 없음현재 선택 항목, 새 매개변수, 인증 상태, 서버 접근성

실패 상태를 보존하고 반복해서 다시 만들지 마세요

업데이트 오류가 발생하면 먼저 기존 구독과 서버 항목을 보존하고 오류 문구와 당시 네트워크 환경을 기록하세요. 이전 목록이 남아 있다면 바로 삭제할 필요가 없습니다. 삭제해도 원격 주소가 반환하는 내용은 달라지지 않으며, 참고할 수 있었던 기존 항목만 잃게 됩니다. 권한 매개변수가 온전한지, 주소가 변경됐는지 확인한 뒤 URL을 교체해야 하는지 판단하세요. 기존 주소를 교체하는 것과 두 번째 구독을 추가하는 것은 관리 결과가 다릅니다. 작업 전에 기존 모음을 수정하는 것인지 별도 모음을 만드는 것인지 확인하세요.

업데이트 후 항목이 대폭 바뀌었다면 다른 구독 주소를 잘못 사용했거나 복사할 때 용도가 다른 주소를 가져오지 않았는지 확인하세요. 메모만으로 판단하지 마세요. 메모가 같아도 URL은 완전히 다를 수 있습니다. 원격 내용에서 서버가 변경됐다면 기존 항목을 계속 사용할 수 있는지는 실제 서버 상태에 따라 달라집니다. 기존 항목을 보존하면 비교에는 도움이 되지만 여전히 유효하다는 뜻은 아닙니다. 새 정보를 기준으로 확인하고, 이미 작동하지 않는 항목을 장기 관리 모음에 다시 넣지 마세요.

일상적인 관리는 필요할 때 수동으로 확인하고 자동 업데이트는 보조 수단으로 활용하며, 문제가 생기면 실패 정보를 한 번 정확히 기록하는 방식이 좋습니다. 짧은 간격으로 계속 요청해도 형식 오류는 해결되지 않으며 오류 메시지만 복잡해질 수 있습니다. 업데이트 메뉴와 원인별 확인 방법은 구독 수동 업데이트 및 자동 업데이트 안내에서 확인하세요. 파싱은 성공했지만 속도가 느린 문제라면 테스트와 정렬 섹션을 확인하고 구독 형식 문제로 계속 다루지 마세요.

06 · 여러 구독 정리: 소속과 규칙을 명확하게 유지

이름으로 용도를 표시하되 이름을 고유 식별자로 여기지 마세요

구독을 여러 개 보유한 경우 각 주소의 관리 용도를 분명히 정한 다음 서버 항목을 정리하세요. 구독 메모에는 ‘개인용’, ‘임시 테스트’처럼 용도, 기기 또는 관리 대상을 적을 수 있지만 전체 권한 매개변수는 포함하지 마세요. 서버 이름은 원격 내용에서 생성될 수 있으며 업데이트 중 바뀔 수 있으므로 영구적인 식별자로 사용해서는 안 됩니다. 확인할 때는 구독 소속, 프로토콜, 주소와 주요 연결 매개변수의 관계를 살펴보세요.

정리하기 전에 현재 구독 주소, 직접 추가한 항목, 스캔이나 클립보드로 가져온 항목을 각각 확인하세요. 이름이 같다고 중복이라고 볼 수 없으며 이름이 달라도 같은 주소를 가리킬 수 있습니다. 이름만 보고 여러 항목을 한꺼번에 삭제하지 마세요. 상세 정보를 열어 Address, Port, Type과 전송 매개변수를 비교한 뒤 실제로 불필요한 항목인지 판단하세요. 인증 정보가 다르면 기존 자료에서 한 항목을 더는 사용하지 않는다고 확인되기 전까지 각각 보존해야 합니다.

같은 구독을 여러 번 가져오면 보통 더 완전한 모음이 아니라 관리 대상이 중복으로 생깁니다. 어느 항목을 남길지는 현재 선택, 메모, Config 참조 관계를 기준으로 결정하세요. 목록 맨 위 항목을 무조건 남기면 안 됩니다. 삭제 전에 보존할 모음에서 해당 항목을 선택해 작동을 확인한 다음 중복 항목을 처리하세요. 이름이 같은 항목이 많아도 현재 사용 중인 유일한 서버를 실수로 삭제하지 않도록 할 수 있습니다. 정리와 업데이트는 따로 진행해야 각 변경의 원인을 확인하기 쉽습니다.

구독 그룹과 라우팅 정책은 다릅니다

Home의 구독 그룹은 ‘이 서버들을 어떤 주소에서 관리하는가’를 정리하고 Config의 규칙은 ‘특정 요청을 어떻게 처리하는가’를 결정합니다. 서버를 여러 구독으로 나눠도 웹사이트별로 다른 서버를 자동 선택하지는 않습니다. Config가 정책 그룹이나 특정 이름을 참조한다면 실제 서버 선택 방식도 확인해야 합니다. 목록 표시 순서만 바꿔도 규칙의 일치 조건이 자동으로 변경되지는 않습니다.

Global Routing에서 이 관계를 확인할 수 있습니다. Config를 선택했다면 현재 적용된 설정과 관련 규칙 및 정책을 확인하세요. Proxy에서는 프록시 경로를 대상으로 테스트하고, Direct에서는 직접 연결 결과를 확인합니다. 구독을 정리하면서 기록 없이 라우팅 모드를 바꾸지 마세요. 요청 경로가 달라져 같은 서버의 테스트 결과를 비교할 수 없고 정리 결과도 불확실해질 수 있습니다.

화면 표시관리 시 의미별도로 확인할 사항
Config현재 설정에 따라 요청을 처리합니다.구체적인 규칙, 정책 참조, 현재 적용된 설정
Proxy프록시 모드로 요청을 처리합니다.현재 선택 항목과 실제 연결 결과
Direct직접 연결 모드로 요청을 처리합니다.대상 프록시 서버가 여전히 관련되는지 테스트하세요.

소량씩 정리해 장기적으로 알아보기 쉽게 유지하세요

‘소속 확인, 중복 확인, 메모 통일, 선택 검증, 불필요한 항목 정리’ 순서로 구독 하나씩 정리하는 것이 좋습니다. 한 그룹을 마친 뒤 Home으로 돌아가 목록을 확인하고 다음 그룹으로 진행하세요. 앱에서 필터, 접기 또는 정렬 기능을 제공한다면 먼저 표시 방식을 정리해 혼란을 줄이고 데이터 삭제는 서두르지 마세요. 숨기거나 접는 것은 표시 범위를 바꾸는 것이고 삭제는 보유 데이터를 바꾸는 것입니다. 대량 작업 전에는 현재 그룹에만 적용되는지 전체 항목에 적용되는지 확인하세요.

계속 보유할 직접 입력 항목에는 Subscribe 업데이트와 무관하다는 점을 알 수 있는 별도 이름 규칙을 사용하는 것이 좋습니다. 금방 만료되는 테스트 숫자 대신 메모에 용도를 적으세요. 매개변수가 다른 두 항목을 잠시 비교할 때는 메모에 ‘원본’과 ‘테스트’처럼 관계를 기록하고 시험이 끝나면 정리하세요. 구독에서 생성된 항목을 수정하고 기록을 남기지 않으면 다음 업데이트에서 변경 내용이 덮어써질 수 있고, 나중에 문제를 확인하는 사람이 원격 원본 정보로 오해할 수 있습니다.

정리를 마친 뒤 현재 선택 항목과 Config 참조를 다시 확인하세요. 특히 설정에서 이름을 기준으로 항목을 지정한다면 이름 변경이나 삭제가 이후 선택에 영향을 줄 수 있으므로 목록이 깔끔해 보인다는 이유만으로 끝내지 마세요. 업데이트에 따라 이름이 바뀌는 모음에서는 고정된 표시 이름에 의존하지 않도록 주의하세요. 규칙과 라우팅 모드 설명은 프록시 모드에서 확인할 수 있습니다. 목록 관리는 정상인데 특정 사이트의 처리 방식이 예상과 다르다면 구독 그룹이 아니라 규칙을 확인해야 합니다.

07 · Connectivity Test: 테스트, 정렬 및 실제 요청

먼저 테스트 대상이 무엇인지 확인하세요

Connectivity Test 결과는 선택한 테스트 방식과 함께 해석해야 합니다. 방식에 따라 서버 주소와 포트의 접근성을 확인하거나 프록시를 통해 지정된 요청을 보낼 수 있습니다. 두 방식이 확인하는 단계는 다릅니다. 기본 네트워크 탐색에 성공했다고 해서 프로토콜 인증, TLS 핸드셰이크, 대상 웹사이트 접속까지 성공한 것은 아닙니다. 테스트 전에 현재 화면에서 방식과 관련 설정을 확인하고 결과를 해석하세요. 숫자 하나를 전체 연결 품질을 나타내는 결론으로 받아들이지 마세요.

테스트 조건을 최대한 일정하게 유지하세요. 같은 기기, 같은 네트워크, 같은 테스트 방식을 사용하고 구독 업데이트나 대량 전송을 동시에 진행하지 마세요. 한 항목은 Wi-Fi에서, 다른 항목은 셀룰러 네트워크에서 테스트하면 로컬 네트워크 차이가 결과에 섞입니다. 여러 항목을 동시에 테스트하면 동시 실행의 영향이 생길 수 있어 작은 수치 차이는 실제로 의미가 없을 수도 있습니다. 먼저 명확하게 실패하거나 지속해서 이상을 보이는 항목을 찾은 다음 후보 몇 개만 반복해 확인하세요.

시간 초과가 표시되면 어떤 종류의 테스트에서 발생했는지 먼저 확인하세요. 서버 포트에 접근할 수 없는 경우, 프로토콜 인증 실패, 테스트 대상에 접근할 수 없는 경우 모두 실패로 표시될 수 있지만 해결 방법은 서로 다릅니다. 테스트 방식을 확인하지 않고 시간 초과 항목을 전부 삭제하지 마세요. 매개변수를 확인한 항목 하나를 골라 기본 연결과 실제 요청 결과를 각각 살펴보고 오류 메시지를 비교하세요. 테스트 대상을 계속 바꾸는 것보다 실패 단계 파악에 도움이 됩니다.

정렬은 확인을 위한 기능이지 장기적인 성능 보장은 아닙니다

테스트 결과로 정렬하면 후보 범위를 좁힐 수 있지만 현재 조건에서 한 번 관찰한 결과일 뿐입니다. 네트워크 부하, 대상 사이트, 연결 재사용, 테스트 시점에 따라 결과가 달라질 수 있으므로 목록 첫 번째 항목이 모든 요청에서 가장 좋다고 볼 수 없습니다. 낮은 지연 값을 영구적인 메모로 남기거나 지속적인 전송 성능을 추측하는 근거로 사용하지 마세요. 장기간 사용할 항목을 고를 때는 여러 번 확인해 결과가 안정적인지, 실제 앱 요청이 예상대로 처리되는지가 더 중요합니다.

정렬한 뒤에도 현재 선택된 서버를 직접 확인하세요. 표시 순서를 바꿔도 선택 항목은 바뀌지 않을 수 있으며, 여러 항목의 테스트가 끝나도 클라이언트가 결과가 가장 좋은 항목을 자동으로 선택하지 않습니다. 사용 중인 Config에 정책 그룹이나 다른 선택 로직이 있다면 실제 동작도 확인해야 합니다. 작업 후 Home으로 돌아가 현재 항목을 확인하고 실제 요청을 한 번 보내세요. 정렬된 순서만 보고 서버가 적용됐다고 판단하지 마세요.

결과확인할 수 있는 내용바로 판단할 수 없는 내용
기본 연결 테스트 성공테스트가 확인하는 네트워크 단계에 접근할 수 있습니다.모든 프로토콜 매개변수와 웹사이트 요청이 정상입니다.
프록시 요청 테스트 성공해당 시점에 테스트 대상에 해당 경로로 접근할 수 있었습니다.모든 웹사이트와 지속적인 전송 성능이 동일합니다.
한 번의 시간 초과이번 테스트가 제한 시간 안에 완료되지 않았습니다.항목이 영구적으로 사용할 수 없거나 반드시 삭제해야 합니다.

실제 요청으로 검증을 마무리하세요

테스트를 통과하면 사용자가 실제로 필요한 요청 하나를 선택해 확인하고 Global Routing과 현재 Config도 함께 살펴보세요. 일반 웹페이지는 열리지만 특정 앱에서 문제가 발생한다면 모든 서버 매개변수를 바꾸기 전에 대상 도메인, DNS, 규칙 일치 여부, 앱 자체의 연결 동작을 확인하세요. 기존 연결은 이전 경로를 계속 사용할 수 있습니다. 서버를 바꾼 뒤에는 새 요청을 보내 변화를 확인하고 이전 연결 결과를 새 선택의 결과로 오해하지 마세요.

실제 접속이 느리다면 서버, 전송 경로, 로컬 네트워크, 대상 서비스 순서로 비교하세요. 같은 네트워크에서 기존 항목 하나를 바꿔 확인한 다음, 조건이 허용되면 Wi-Fi와 셀룰러 네트워크를 비교하세요. 비교할 때는 요청을 동일하게 유지하고 대상은 동시에 바꾸지 마세요. 도메인 관련 요청만 실패한다면 DNS와 규칙을 확인하고 모든 연결이 불안정하다면 로컬 네트워크를 먼저 확인하세요. 구체적인 단계별 방법은 속도 저하 단계별 문제 해결 안내를 참고하세요.

도움을 요청할 때는 프로토콜 종류, 테스트 방식, 실패 단계, 현재 Global Routing과 네트워크 환경을 포함하고 Password, UUID 또는 전체 구독 주소는 제외하세요. DNS 관련 문제는 DNS 설정 안내를 확인하세요. 한 번의 테스트 결과를 얻으려고 DNS, 규칙, 서버를 동시에 바꾸지 마세요. 테스트 하나는 질문 하나에 답해야 이후 조정에 근거가 생깁니다. 결과가 일치하지 않는다면 대량으로 계속 새로고침하기보다 통제된 조건에서 몇 차례만 반복하는 편이 유용합니다.

08 · 삭제와 백업: 복원 여부를 확인한 뒤 정리하세요

삭제 전에 대상과 영향 범위를 확인하세요

개별 서버 항목 삭제, 구독 주소 삭제, Config 삭제는 서로 다른 작업입니다. 개별 항목을 삭제하면 해당 서버에 영향을 줍니다. 구독 항목을 삭제하면 관리 중인 서버 모음도 함께 삭제될 수 있습니다. Config를 삭제하면 규칙과 관련 설정에 영향을 줍니다. 실행 전에 현재 확인 메시지를 읽고 적용 범위를 파악하세요. 몇 항목이 가까이 표시된다고 같은 방법으로 복원할 수 있다고 생각하지 마세요. 편집 화면에서 나가는 것을 삭제 취소로 오해하지 않도록 주의하세요.

현재 사용 중인 항목을 삭제하기 전에 검증된 다른 항목을 선택하고 현재 설정이 예상대로 작동하는지 확인하세요. 정책 참조나 이름을 기준으로 한 연결이 있다면 수정해야 하는지도 확인하세요. 구독 항목을 로컬에서 삭제해도 원격 내용에 그대로 포함되어 있으면 다음 업데이트 때 다시 나타날 수 있습니다. 표시를 덜 복잡하게 만드는 것이 목적이라면 삭제를 영구 필터처럼 사용하지 말고 앱의 정리 기능을 먼저 확인하세요.

중복 구독을 정리하기 전에 주소와 소속을 비교하고 보존해야 할 로컬 정보를 백업하세요. 그룹 이름이 같다고 내용도 같다는 뜻은 아니며 URL이 비슷해 보여도 권한 매개변수가 다를 수 있습니다. 더는 사용하지 않는 이전 주소를 삭제하기 전에 새 주소의 업데이트와 실제 연결 테스트가 완료됐는지 확인하세요. 정리 중 어떤 항목을 삭제했고 무엇으로 대체했는지 간단히 기록하면 기기 교체나 복원 시 추측을 줄일 수 있습니다.

백업 정보는 종류별로 나눠 저장하세요

백업에는 구독 주소와 메모, 개별 서버 매개변수, 사용 중인 Config, 필요한 로컬 설정의 네 가지 정보가 포함되어야 합니다. 앱 구매 기록은 이 정보를 대신하지 않습니다. App Store에서 Shadowrocket을 다시 받아도 개인 설정이 모두 복원되는 것은 아닙니다. 내보낼 수 있는 범위는 현재 앱에서 제공하는 백업 또는 내보내기 기능에 따라 달라집니다. 실제 포함 항목을 확인하고 파일 이름만 보고 모든 데이터가 들어 있다고 판단하지 마세요.

현재 화면에 Data 또는 관련 백업 메뉴가 있다면 안내에 따라 내보낸 뒤 결과에 필요한 항목이 포함됐는지 확인하세요. 일부 내용을 따로 저장해야 한다면 각각 처리하세요. 원본 구독 자료를 보관하고, 독립된 설정 파일을 저장하고, 직접 입력한 필드와 선택 관계를 기록하세요. 민감한 매개변수를 공개 메모나 누구나 공유하는 폴더에 넣지 마세요. 백업 파일은 접근 자격 정보와 동일하게 취급하고 사용자가 관리할 수 있으며 적절한 보호가 적용된 위치에 저장하세요.

백업에는 현재 사용하는 Config, Global Routing 선택, 자주 쓰는 서버의 소속, 구독 자동 업데이트나 On Demand 활성화 여부 등 맥락도 기록해야 합니다. 이러한 정보는 개별 공유 링크에 모두 들어 있지 않을 수 있습니다. On Demand는 조건에 따라 연결을 설정하는 기능이므로 기기를 옮긴 뒤 조건과 시스템 권한을 다시 확인하세요. 서버와 규칙을 검증하기 전에 이 기능에 의존하지 마세요. 백업은 가져올 수 있는 텍스트만 저장하는 것이 아니라 그 관리 관계를 이해하는 데 필요한 정보도 보존해야 합니다.

복원 순서와 백업 유효성 확인

복원하기 전에 Shadowrocket을 App Store에서 올바르게 다시 받았는지 확인하세요. 구매 복원과 재설치 안내는 구입 항목 복원을 참고하세요. 그런 다음 ‘구독 및 개별 항목 가져오기, Config 복원, 로컬 설정 확인, 현재 항목 선택, 실제 요청 검증’ 순서로 진행하세요. 구독이 포함되어 있다면 기존 백업 내용을 먼저 확인하고 업데이트 시점을 결정하세요. 즉시 업데이트하면 목록이 바뀌어 이전 기기와 항목별로 비교하기 어려울 수 있습니다.

백업 파일을 저장할 수 있다고 해서 모든 내용을 복원할 수 있는 것은 아닙니다. 적절한 시점에 통제된 방식으로 복원 여부를 확인하세요. 앱이 파일을 읽을 수 있는지, 항목이 빠짐없이 있는지, Config가 존재하는지, 민감한 필드가 온전히 보존됐는지 확인해야 합니다. 다른 개인 기기에서 확인한다면 기존 설정을 덮어쓰지 않도록 먼저 원래 상태를 보존한 뒤 복원하세요. 완료 후에는 목록 수만 비교하지 말고 주요 필드와 실제 요청 하나를 확인하세요.

구독 주소나 인증 정보가 나중에 바뀌면 이전 백업에는 예전 값이 남아 있을 수 있습니다. 중요한 변경을 완료하고 작동을 확인한 뒤 백업을 갱신하고 현재 백업과 이전 백업을 명확히 구분하세요. 이전 자료를 보관하면 비교에는 도움이 되지만 예전 서버가 여전히 작동한다는 보장은 없습니다. 전체 구독 주소나 인증 정보가 노출됐다면 로컬 항목을 삭제하는 것만으로 이미 유출된 접근 권한을 취소할 수 없습니다. 기존 계정 관리 방법에 따라 해당 자격 정보를 처리하고 클라이언트와 백업도 업데이트하세요.

연결 절차를 다시 확인하려면 시작하기로 돌아가세요. 구체적인 오류를 더 확인하려면 자주 묻는 질문을 참고하세요. 일상적인 관리에서 설정 전체를 자주 다시 만들 필요는 없습니다. 주소, 필드, 작업 기록을 명확히 보존하면 다음 문제가 어느 단계에서 발생했는지 판단하기 쉽습니다.

App Store에서 Shadowrocket 다운로드