Shadowsocks
SS · Shadowsocks암호화를 지원하는 프록시 프로토콜로, 노드 설정에는 보통 서버 주소, 포트, 비밀번호, 암호화 방식이 포함됩니다. 클라이언트와 서버가 모두 지원하는 암호화 방식을 사용해야 합니다. Shadowsocks 2022 같은 변형은 해당 키 형식도 맞춰야 합니다. 가져오기는 됐지만 연결되지 않는다면 노드 이름을 바꾸기보다 먼저 관련 항목을 확인하세요.
개념 빠른 참조 · 자주 쓰는 용어 26개
구독부터 아웃바운드 규칙까지 설정 단계별로 개념을 찾아보세요. 각 용어에는 바로 공유할 수 있는 앵커 링크가 있습니다. 처음 설정한다면 빠른 시작 가이드를, 프로토콜 선택과 코어별 차이는 프로토콜 자세히 보기를 참고하세요.
프록시 프로토콜
프로토콜은 클라이언트와 서버가 데이터를 주고받는 방식을 정의합니다. 노드를 선택할 때는 먼저 클라이언트가 해당 프로토콜을 지원하는지 확인한 뒤 인증, 보안 계층, 전송 매개변수를 살펴보세요. 프로토콜 이름만으로 속도를 보장할 수는 없습니다.
암호화를 지원하는 프록시 프로토콜로, 노드 설정에는 보통 서버 주소, 포트, 비밀번호, 암호화 방식이 포함됩니다. 클라이언트와 서버가 모두 지원하는 암호화 방식을 사용해야 합니다. Shadowsocks 2022 같은 변형은 해당 키 형식도 맞춰야 합니다. 가져오기는 됐지만 연결되지 않는다면 노드 이름을 바꾸기보다 먼저 관련 항목을 확인하세요.
V2Ray 생태계에서 사용되는 프록시 프로토콜로, 보통 UUID로 사용자를 식별합니다. 노드에 WebSocket, TLS 등의 설정이 함께 사용될 수 있으며 전송 유형과 경로가 서버 설정과 일치해야 합니다. 시스템 시간 오차가 크면 인증에 문제가 생길 수 있으므로 연결이 비정상적일 때 기기 시간이 정확한지 먼저 확인하세요.
일반적으로 TLS 연결 위에서 동작하며 비밀번호로 인증하는 프록시 프로토콜입니다. 서버 주소뿐 아니라 SNI, 도메인, 인증서 검증 설정도 연결 결과에 영향을 줍니다. 인증서 오류가 발생하면 서버 정보, 기기 시간, 인증서 상태를 확인하고 정상적인 인증서 검증 절차를 유지하세요.
UUID로 인증하는 경량 프록시 프로토콜로, 자체적으로 페이로드를 암호화하지 않아 실제 배포 시 TLS, REALITY 등의 보안 계층을 함께 사용하는 경우가 많습니다. 가져올 때 전송 유형, 보안 계층과 관련 매개변수를 빠짐없이 유지해야 합니다. 둘 다 VLESS 노드라도 조합에 따라 필요한 클라이언트 기능이 다를 수 있습니다.
QUIC 기반 프록시 프로토콜로 하위 계층에서 UDP를 사용합니다. 실제 성능은 UDP 연결 상태, 혼잡 제어, 대역폭 설정에 영향을 받습니다. 해당 네트워크 조건에 적합한 전송 방식이지만 효과는 실제 사용 환경에서 확인해야 합니다. Hysteria 1과 Hysteria 2는 프로토콜이 다르므로 이름만 바꿔 기존 설정을 새 버전에서 사용할 수는 없습니다.
QUIC 기반 프록시 프로토콜로 TCP와 UDP 트래픽을 전달할 수 있습니다. 사용 전 서버 프로토콜 버전, 인증 항목, 클라이언트 코어의 지원 범위를 확인하세요. UDP 경로가 제한된 경우 같은 프로토콜의 다른 노드로 바꿔도 해결되지 않을 수 있으므로 먼저 로컬 네트워크 환경을 점검해야 합니다.
코어와 클라이언트
클라이언트는 사용자가 조작하는 인터페이스를 제공하고 코어는 연결과 규칙 처리를 담당합니다. 같은 설정 파일이라도 앱에 따라 다르게 작동한다면 인터페이스 차이뿐 아니라 코어 버전, 설정 덮어쓰기, 시스템 통합 방식도 원인일 수 있습니다.
소프트웨어 생태계에서 Clash는 원래 규칙 기반 프록시 코어를 가리키기도 하고, 해당 설정 방식과 호환되는 클라이언트를 통칭하기도 합니다. 이름에 Clash가 포함되어도 같은 프로젝트에서 관리하거나 동일한 프로토콜을 지원한다는 뜻은 아닙니다. 가이드가 적용되는지 확인하려면 앱 이름, 코어, 버전을 모두 확인하세요.
Clash.Meta 프로젝트가 이름을 바꾼 규칙 기반 프록시 코어로, 프로토콜 연결, DNS 처리, 규칙 매칭을 담당합니다. Clash 설정 체계를 이어받아 기능을 확장했기 때문에 이전 가이드에는 Meta라는 이름이 남아 있을 수 있습니다. 새 설정 항목은 해당 버전의 지원이 필요하므로 모든 Clash 코어가 읽을 수 있다고 가정해서는 안 됩니다.
구독 관리, 노드 선택, 연결 전환, 로그 확인 등의 인터페이스를 제공하는 앱입니다. FlClash는 이 계층에 해당합니다. 인터페이스는 설정을 저장하고 관리하며 실제 트래픽 전달은 일반적으로 통합된 프록시 코어가 담당합니다. 앱에서 구독과 로컬 설정을 합칠 수 있으므로 원본 파일을 수정하기 전에 현재 적용 중인 설정을 확인하세요.
프록시 프로토콜, 트래픽 전달, DNS, 라우팅 규칙을 실행하는 기반 프로그램입니다. 클라이언트 인터페이스 업데이트와 코어 업데이트는 서로 다른 변경입니다. 새로 추가된 버튼도 시스템 권한이 있어야 작동할 수 있습니다. 기능이 보이지 않는 문제를 진단할 때는 화면 모습만 설명하기보다 앱과 코어 정보를 기록해 두는 편이 도움이 됩니다.
구독과 설정 파일
구독은 업데이트 경로, 설정은 실제 적용되는 구성, 노드는 그 안에 포함된 연결 매개변수입니다. 세 가지가 함께 언급되는 경우가 많지만 수정 및 업데이트 범위는 서로 다릅니다. 작업 전 클라이언트가 실제로 어떤 설정을 사용하는지 확인하세요.
링크를 통해 노드나 전체 설정을 가져오고 업데이트하는 방식입니다. 구독에는 노드만 포함될 수도 있고 정책 그룹, 규칙, DNS 설정이 함께 들어갈 수도 있습니다. 구독을 새로 고치면 원격 콘텐츠를 다시 가져오므로 구독 파일에 직접 적용한 로컬 수정 사항은 덮어써질 수 있습니다. 링크에 포함된 인증 정보는 민감한 정보로 취급하세요. 가져오는 방법은 구독 사용 안내를 참고하세요.
클라이언트에서 프록시 서버에 연결하기 위한 매개변수 묶음으로, 보통 주소, 포트, 프로토콜, 인증 정보가 포함됩니다. 노드 이름은 알아보기 위한 라벨일 뿐이며 이름에 표시된 지역이 실제 출구 위치와 다를 수 있습니다. 연결 여부는 매개변수, 서버 상태, 네트워크 경로에 달려 있습니다. 목록에 이름이 표시된다는 것은 매개변수를 읽었다는 뜻일 뿐입니다.
들여쓰기, 키와 값, 목록으로 설정을 표현하는 텍스트 파일입니다. Clash 계열 설정에 자주 사용됩니다. 들여쓰기에는 공백을 사용하고 같은 단계의 항목은 정렬을 맞추며 따옴표와 콜론도 확인하세요. YAML 문법 검사를 통과해도 텍스트 구조가 올바르다는 뜻일 뿐, 항목이 유효한지는 코어의 설정 규격에 따라 달라집니다.
원격에서 노드 목록을 가져오고 정책 그룹에서 참조할 수 있는 독립적인 노드 목록 설정입니다. 기본 설정 구조와 노드 업데이트를 분리할 수 있어 로컬 규칙을 유지하면서 연결 매개변수를 업데이트할 때 유용합니다. 제공자 파일은 코어가 요구하는 형식에 맞아야 하며, 임의의 전체 구독 파일을 그대로 노드 제공자로 사용할 수는 없습니다.
노드 링크나 특정 구독 형식을 대상 클라이언트가 인식하는 형식으로 변환하는 과정입니다. 변환 과정에서 대상 형식이 지원하지 않는 프로토콜 항목이 사라질 수 있으며 템플릿이 정책 그룹과 규칙을 추가하기도 합니다. 온라인 변환 서비스는 제출한 구독 콘텐츠에 접근할 수 있으므로 출처가 명확한 호환 구독을 우선 사용하고, 꼭 변환해야 한다면 처리 방식을 먼저 검토하세요.
규칙과 라우팅
규칙은 요청을 판별하고, 정책 그룹은 출구를 구성하며, 데이터 파일은 매칭 기준을 제공합니다. 이 세 가지 계층을 이해하면 규칙 문제를 노드 장애로 잘못 판단하는 일을 줄일 수 있습니다.
도메인, IP, 규칙 세트 등의 조건에 따라 요청에 직접 연결, 프록시 또는 다른 아웃바운드 정책을 지정하는 방식입니다. 규칙은 보통 위에서 아래로 확인하며 먼저 일치하는 규칙이 적용됩니다. 마지막의 MATCH는 나머지 요청을 처리하는 데 자주 사용됩니다. 규칙 모드라고 해서 모든 요청이 프록시를 거치는 것은 아니므로 일치한 규칙과 해당 정책을 함께 확인해야 합니다.
노드나 다른 정책을 하나의 아웃바운드 진입점으로 묶는 설정 구조입니다. 규칙은 특정 노드 대신 정책 그룹을 가리킬 수 있습니다. 수동 선택, 지연 시간 기준 선택, 장애 조치는 서로 다른 방식으로 노드를 고르며, 그룹 안에서 노드를 바꿔도 보통 규칙을 수정할 필요는 없습니다. 테스트 주소 결과는 특정 대상에만 해당하므로 자동 선택 결과는 실제 앱 접속으로도 확인하세요.
별도로 관리하고 업데이트할 수 있는 매칭 조건 묶음입니다. 보통 rule-providers로 선언한 뒤 RULE-SET으로 참조합니다. 규칙 세트는 매칭할 콘텐츠를 제공하며 실제 아웃바운드는 이를 참조하는 규칙에서 지정하는 경우가 많습니다. 파일 형식, behavior 유형, 참조 이름이 서로 맞아야 합니다. 다운로드에 성공해도 올바르게 매칭된다는 뜻은 아닙니다.
IP 주소의 지역 정보를 기준으로 매칭하는 데이터로, 흔히 GEOIP,CN,DIRECT 형식의 규칙에서 사용됩니다. 주소의 지역 정보를 판별할 뿐 웹사이트의 언어, 회사 소재지, 콘텐츠 범주를 직접 식별하지는 않습니다. 데이터베이스 업데이트, 주소 할당 변경, CDN 라우팅에 따라 결과가 달라질 수 있으므로 GeoIP는 여러 라우팅 기준 중 하나로 활용하세요.
도메인을 범주별로 정리한 데이터 모음으로, GEOSITE 규칙에서 참조할 수 있습니다. 분류 이름과 포함 범위는 데이터 출처에 따라 달라지므로 데이터베이스마다 이름이 같은 분류라도 내용이 다를 수 있습니다. IP 주소를 기준으로 판단하는 GeoIP와는 용도가 다릅니다. 사용 전 코어 지원 여부, 데이터 파일 출처, 대상 분류가 존재하는지 확인하세요.
네트워크 모드와 DNS
트래픽을 코어로 전달하는 방법과 코어에 들어온 트래픽이 어떤 경로로 나가는지는 별개의 문제입니다. TUN과 시스템 프록시는 주로 트래픽 진입 방식을 결정하고, 규칙, 정책 그룹, DNS 설정은 최종 연결에 함께 영향을 줍니다.
가상 네트워크 인터페이스와 라우팅 설정을 통해 IP 트래픽을 프록시 코어로 전달하는 방식입니다. 처리 범위는 시스템, 라우팅, 권한, 제외 설정에 따라 달라집니다. TUN을 켜도 아웃바운드 모드와 규칙에 따라 직접 연결이나 프록시가 선택됩니다. 다른 VPN, 가상 네트워크 어댑터, 로컬 네트워크 라우팅과 충돌할 수 있으므로 문제를 진단할 때는 트래픽 처리 설정을 한 번에 하나씩 변경하세요.
운영체제의 프록시 설정을 클라이언트의 로컬 수신 포트로 지정하는 방식으로, 브라우저처럼 시스템 프록시를 따르는 앱에서 주로 사용합니다. 자체 네트워크 설정을 사용하는 일부 프로그램은 이 경로를 자동으로 사용하지 않습니다. 시스템 프록시는 트래픽이 들어오는 방식을 제어하며, 코어에 들어온 뒤 직접 연결할지 여부는 현재 모드와 설정 규칙에 따라 결정됩니다.
도메인을 IP 주소 등의 레코드로 변환하는 시스템으로, 웹사이트에 연결하기 전에 거치는 중요한 단계입니다. 시스템 DNS, 클라이언트 DNS, 앱 자체의 암호화 DNS는 서로 다른 경로를 사용할 수 있으므로 한 곳을 변경해도 다른 경로에는 영향을 주지 않을 수 있습니다. 조회 결과는 캐시와 라우팅 정책에도 영향을 받습니다. 문제를 진단할 때는 조회가 시작된 위치, 상위 DNS 리졸버, 연결 로그를 함께 확인하세요.
클라이언트가 도메인에 가상 IP를 할당하고 도메인과의 매핑을 유지하는 DNS 처리 방식으로, 연결 단계에서 도메인 기반 규칙을 적용하는 데 유용합니다. 가상 IP는 웹사이트의 실제 서버 주소가 아니므로 이를 근거로 출구 위치를 판단할 수 없습니다. 실제 DNS 응답에 의존하는 일부 앱에서 호환 문제가 발생하면 제외 목록을 확인하고, 설정 변경 후 관련 캐시도 처리하세요.
DNS 조회가 예상한 경로를 벗어나는 현상입니다. 예를 들어 클라이언트에서 처리할 것으로 예상한 조회가 앱이나 시스템을 통해 다른 리졸버로 전달될 수 있습니다. 먼저 의도한 정책을 확인한 뒤 앱의 암호화 DNS, 시스템 설정, 클라이언트의 트래픽 처리 범위를 점검하세요. 테스트 페이지에 표시된 리졸버 지역은 참고 정보일 뿐이며, 지역 표시만으로 누수를 단정할 수는 없습니다.
특정 테스트 조건에서 왕복 또는 요청을 완료하는 데 걸리는 시간입니다. 클라이언트는 테스트 URL에 접속해 측정하는 경우가 많으며 ICMP Ping을 사용하지 않을 수도 있습니다. 테스트 주소, 시간 제한, 연결 재사용, 네트워크 경로가 측정값에 영향을 줍니다. 지연 시간이 낮다고 다운로드 속도가 빠른 것은 아니며 테스트 대상에 연결할 수 없어 시간 초과가 표시될 수도 있습니다. 실제 서비스 요청도 함께 확인하세요.