Shadowsocks(SS)
구조가 비교적 단순한 암호화 프록시 프로토콜입니다. 노드에는 보통 서버 주소, 포트, 비밀번호와 암호화 방식이 포함되며 어느 하나라도 일치하지 않으면 연결에 실패합니다. 코어마다 지원하는 암호화 방식이 다를 수 있으므로 설정을 옮길 때 먼저 호환 범위를 확인해야 합니다.
먼저 용어가 프로토콜, 규칙, 설정, 코어 또는 네트워크 해석 중 어디에 속하는지 확인한 다음 연결 수립, 트래픽 경로 또는 클라이언트 조작에 미치는 영향을 판단하세요. 여기서는 자주 쓰이는 명칭과 혼동하기 쉬운 적용 범위를 함께 설명합니다.
“클라이언트”는 조작 화면이고 “코어”는 실제 연결 처리를 담당합니다. “구독”은 설정의 출처이며 “노드”는 그 안에 포함된 연결 파라미터의 한 종류입니다. “정책 그룹”은 후보 경로를 정하고 “규칙”은 특정 연결이 어느 정책으로 들어갈지 결정합니다. 연결 문제가 생기면 이 계층에 따라 하나씩 확인하는 편이 노드를 계속 바꾸는 것보다 원인을 찾기 쉽습니다.
프로토콜 이름은 연결 방식만 나타낼 뿐 속도나 안정성을 직접 보장하지 않습니다. 실제 성능은 서버 구현, 네트워크 경로, TLS 파라미터, 클라이언트 코어 버전과 DNS 설정의 영향도 받습니다. 프로토콜과 코어의 차이를 더 비교하려면 프로토콜 및 코어 기술 참고를 확인하세요.
프로토콜은 클라이언트와 서버가 연결을 수립하고, 신원을 인증하며, 데이터를 전송하는 방식을 결정합니다. 선택하기 전에 구독에서 제공하는 프로토콜을 현재 코어가 인식할 수 있는지 확인하세요.
구조가 비교적 단순한 암호화 프록시 프로토콜입니다. 노드에는 보통 서버 주소, 포트, 비밀번호와 암호화 방식이 포함되며 어느 하나라도 일치하지 않으면 연결에 실패합니다. 코어마다 지원하는 암호화 방식이 다를 수 있으므로 설정을 옮길 때 먼저 호환 범위를 확인해야 합니다.
V2Ray 생태계에서 사용되는 프로토콜입니다. 일반적인 설정에는 사용자 식별자, 전송 방식, TLS, 호스트명과 경로 등이 포함됩니다. 이름이 같은 VMess 노드라도 전송 조합은 다를 수 있습니다. 가져오기에 실패하면 프로토콜 필드와 WebSocket, gRPC 같은 외부 전송 파라미터를 함께 확인해야 합니다.
TLS 연결을 기반으로 하는 프록시 프로토콜입니다. 일반적인 설정은 서버 주소, 포트, 비밀번호, 도메인과 인증서 관련 옵션으로 구성됩니다. 도메인, SNI와 인증서 검증 설정은 서로 일치해야 합니다. 인증서 검증만 끄는 것으로 주소, 포트 또는 비밀번호 오류가 해결되지는 않습니다.
가벼운 프로토콜로, 보안은 보통 TLS나 Reality 같은 외부 메커니즘이 제공합니다. 가져올 때 VLESS라는 이름만 보지 말고 전송 유형, 흐름 제어, 서버 이름과 공개 키 같은 추가 파라미터도 확인해야 합니다. 구형 Clash 코어는 일부 확장 필드를 인식하지 못할 수 있습니다.
QUIC 기반 프로토콜로, 지연 시간이 높거나 네트워크 변동이 큰 환경을 대상으로 합니다. UDP를 기본 전송 방식으로 사용하므로 네트워크, 방화벽과 서버에서 해당 통신을 허용해야 합니다. 사용 전에 클라이언트가 Hysteria2를 지원하는 mihomo 또는 호환 코어를 사용하는지도 확인하세요.
QUIC 기반 프록시 프로토콜입니다. 설정에는 보통 사용자 인증 정보, 혼잡 제어와 TLS 파라미터가 포함됩니다. 모바일 네트워크가 Wi-Fi와 셀룰러 연결 사이를 전환할 때 복구 속도는 코어 구현과 서버 설정에 따라 달라집니다. 프로토콜 이름이 같아도 클라이언트마다 기능 옵션이 완전히 같지는 않습니다.
규칙은 연결의 목적지를 판단하고 정책 그룹은 선택 가능한 경로를 제공합니다. 분기 오류를 해결할 때는 먼저 규칙이 매칭되었는지 확인한 뒤, 매칭된 정책 그룹의 현재 선택을 확인하세요.
도메인, IP 주소, 포트, 프로세스 또는 규칙 집합에 따라 연결을 서로 다른 정책으로 전달합니다. 규칙은 보통 위에서 아래로 매칭되며 처음 일치한 뒤에는 후속 항목을 확인하지 않습니다. 범위가 넓은 규칙을 너무 앞에 두면 뒤의 정밀한 규칙이 가려질 수 있습니다.
여러 노드나 다른 정책으로 구성된 선택 단위입니다. 일반적인 유형으로 수동 선택, 자동 테스트와 장애 전환이 있으며 구체적인 이름은 설정 작성자가 정합니다. 규칙은 보통 정책 그룹 이름을 참조하므로 이름을 바꾼 뒤 관련 규칙도 함께 수정해야 합니다.
연결이 프록시 노드를 거치지 않고 대상에 직접 접속함을 뜻합니다. 로컬 네트워크 주소, 시스템 서비스 또는 명시된 직접 연결 도메인에 주로 사용됩니다. DIRECT가 매칭되어도 연결 성공이 보장되는 것은 아니며 대상 주소, DNS 결과와 로컬 네트워크가 여전히 영향을 줄 수 있습니다.
조건에 맞는 연결을 거부하고 프록시 노드나 직접 연결 경로로 전달하지 않음을 뜻합니다. 접속할 필요가 없다고 확인된 도메인이나 요청을 처리하는 데 적합합니다. 규칙 범위가 너무 넓으면 앱에 필요한 인터페이스까지 잘못 차단할 수 있으므로 수정 후 로그의 매칭 기록을 확인해야 합니다.
IP 주소 대역을 지역이나 네트워크 유형에 매핑한 데이터 집합입니다. GeoIP 규칙은 대상 IP를 처리하므로 DNS 해석 주소와 데이터베이스 업데이트 시점의 영향을 받습니다. 데이터베이스가 없거나 경로가 잘못되었거나 분류 이름을 지원하지 않으면 규칙을 불러오지 못할 수 있습니다.
사이트 유형별로 정리한 도메인 규칙 집합으로, 많은 도메인 규칙을 직접 관리하는 수고를 줄일 수 있습니다. 사용 가능한 분류는 데이터 파일 내용과 코어 지원 여부에 따라 달라집니다. 분류가 업데이트되면 기존 규칙 이름도 바뀔 수 있으므로 데이터를 새로 고칠 때 로드 로그도 함께 확인하세요.
구독은 설정을 가져오는 문제를 해결하고 설정 파일은 클라이언트의 실행 방식을 정의합니다. 구독을 업데이트할 수 있다고 해서 설정 호환성이 보장되는 것은 아니며, 로드 결과는 현재 클라이언트와 코어에서 다시 확인해야 합니다.
서비스 제공자가 공개한 원격 설정 주소입니다. 클라이언트는 구독 주소를 통해 노드, 정책 그룹 또는 전체 설정을 가져옵니다. 구독을 업데이트하면 원격 내용을 다시 읽는 경우가 많아 수동으로 수정한 부분이 덮어써질 수 있습니다. 규칙을 조정하기 전에 클라이언트가 설정을 병합하는지 기존 설정을 교체하는지 확인하세요.
클라이언트가 프록시 연결을 수립하는 데 사용할 수 있는 서버 파라미터 모음입니다. 프로토콜, 주소, 포트, 인증 정보와 전송 옵션이 노드의 사용 가능 여부를 함께 결정합니다. 노드의 지연 시간 테스트가 통과했다는 것은 테스트 연결이 성공했다는 뜻일 뿐, 모든 대상과 프로토콜이 정상 작동한다는 보장은 아닙니다.
외부 파일이나 원격 주소에서 노드 집합을 불러오는 설정 메커니즘입니다. 하나의 Provider를 여러 정책 그룹에서 재사용하고 정해진 간격으로 업데이트할 수 있습니다. Provider 다운로드는 성공했지만 정책 그룹이 비어 있다면 필터 조건, 노드 형식과 참조 이름을 확인해야 합니다.
Clash에서 자주 사용하는 구조화된 텍스트 형식으로, 들여쓰기·계층·구두점에 민감합니다. 목록 항목은 보통 하이픈으로 시작하며 키와 값 사이도 올바르게 구분해야 합니다. Tab 문자, 전각 구두점 또는 일관되지 않은 공백 계층으로 파싱 오류가 발생할 수 있습니다.
포트, 노드, 정책 그룹, 규칙, DNS와 실행 옵션을 설명하는 전체 파일입니다. 같은 YAML 파일이라도 코어에 따라 호환 결과가 완전히 같지 않을 수 있습니다. 가져오기 전에 현재 정상 작동하는 설정을 보관하고, 클라이언트 로그에서 새 파일이 성공적으로 로드되었는지 확인하세요.
그래픽 인터페이스는 조작을 담당하고 코어는 실행을 담당합니다. 이름이 비슷한 클라이언트라도 코어 버전, 설정 확장과 시스템 트래픽 가로채기 방식이 완전히 같지는 않습니다.
프로토콜 연결, 규칙 매칭, DNS 처리와 트래픽 전달을 담당하는 핵심 프로그램입니다. GUI 클라이언트는 보통 코어 위에 구독 관리, 정책 선택과 로그 화면을 제공합니다. 특정 프로토콜의 사용 가능 여부는 클라이언트 화면에 입력란이 있는지만 보지 말고 코어의 기능을 확인해야 합니다.
Clash Meta에서 발전한 코어 프로젝트로, 다양한 프로토콜·규칙·DNS 기능을 지원합니다. 클라이언트마다 내장 버전이 다르거나 업데이트 주기가 자체적으로 다를 수 있습니다. 설정을 옮길 때는 확장 필드, 규칙 데이터베이스 형식과 실행 플랫폼 아키텍처를 확인해야 합니다.
코어에 구독 가져오기, 시스템 프록시, 정책 선택, 로그 확인과 업데이트 기능을 제공하는 그래픽 애플리케이션입니다. GUI 클라이언트는 사용자가 볼 수 있는 설정을 결정하지만 하위 프로토콜은 코어가 실행합니다. 선택할 때 운영체제 지원, 코어 유형과 설정 호환성을 함께 비교하세요.
시스템 가상 네트워크 인터페이스를 통해 트래픽을 가로채는 실행 방식으로, 시스템 프록시 설정을 읽지 않는 일부 앱에도 적용할 수 있습니다. 활성화하려면 시스템 권한이 필요할 수 있으며 라우팅 테이블, DNS 가로채기 방식과 다른 네트워크 소프트웨어의 영향을 받습니다. 인터넷이 끊기면 먼저 TUN을 끈 뒤 코어 로그와 가상 네트워크 어댑터 상태를 확인하세요.
운영체제의 HTTP 또는 SOCKS 프록시를 Clash의 로컬 리스닝 포트로 지정하는 방식입니다. 시스템 프록시 설정을 따르는 앱에만 적용되며 일부 게임, 명령줄 도구나 독립 네트워크 스택을 사용하는 앱은 이를 우회할 수 있습니다. 더 넓은 범위에 적용해야 한다면 TUN 모드 사용을 검토하세요.
연결을 수립하기 전에 보통 도메인 해석이 먼저 이루어지고, 이후 규칙 판단과 프로토콜 연결이 진행됩니다. DNS 경로가 잘못되면 노드는 정상인데 특정 도메인만 접속되지 않는 현상이 나타날 수 있습니다.
도메인을 네트워크 주소로 변환하는 기본 서비스입니다. Clash는 설정에 따라 해석 요청을 전달하거나 캐시하거나 다시 작성하고, 도메인 규칙을 분기에 적용할 수 있습니다. 해석 문제를 점검할 때는 시스템 DNS, 브라우저 보안 DNS와 코어 DNS 설정을 각각 확인해 한 계층만 수정하지 않도록 하세요.
코어가 먼저 예약 주소를 반환하고 도메인 매핑을 기록한 뒤, 이후 연결 단계에서 실제 대상 도메인으로 복원하는 DNS 강화 모드입니다. 도메인 정보를 유지하면서 규칙 매칭을 일찍 수행하는 데 유리합니다. 일부 로컬 네트워크 장치나 실제 주소에 의존하는 앱은 필터 범위에 추가해야 합니다.
앱의 해석 요청이 예상한 DNS 경로를 우회해 다른 해석기로 전달되는 현상입니다. 흔한 원인으로는 브라우저에서 보안 DNS를 별도로 활성화한 경우, 시스템에 이전 DNS 설정이 남은 경우, TUN 가로채기 범위가 불완전한 경우가 있습니다. 확인할 때는 웹페이지가 열리는지만 보지 말고 요청이 실제로 어느 해석기로 들어갔는지 기록해야 합니다.
하나의 로컬 리스닝 포트에서 HTTP와 SOCKS 프록시 연결을 동시에 받아 여러 앱이 공통 포트 설정을 사용할 수 있게 합니다. 다른 기기에서 사용하려면 리스닝 주소, 로컬 네트워크 접근 허용 설정과 시스템 방화벽도 확인해야 합니다. 포트를 다른 프로그램이 사용 중이면 코어가 보통 로그에 바인딩 실패를 기록합니다.
클라이언트가 지정된 테스트 주소에 연결하고 응답 시간을 기록하는 과정입니다. 결과는 테스트 시점, 대상과 현재 네트워크 경로에서의 연결 상태를 보여줄 뿐 다운로드 속도나 지속적인 전송 성능과 같지는 않습니다. 노드를 비교할 때는 같은 테스트 주소를 사용하고 실제 접속 결과도 함께 판단하세요.