프록시 프로토콜 · Clash 문서

Snell

현재 Mihomo 필드를 기준으로 Clash 생태계의 Snell 아웃바운드를 설정합니다. psk, version, udp, obfs-opts, smux를 확인하고 최소 YAML, 버전 호환성, 인증 문제 해결을 다룹니다.

  • psk
  • version
  • udp
  • obfs-opts
  • reuse
프록시 프로토콜

Snell 노드 및 버전 구조

클라이언트는 사전 공유 키를 사용해 psk Snell 아웃바운드를 설정하고 version 에 따라 해당 패킷 형식을 선택합니다. 서버 주소, 포트, PSK 및 버전은 같은 노드 설정에서 가져와야 합니다.

버전은 UDP와 연결 재사용 기능을 직접 결정합니다. 다음을 입력하지 않으면 version 현재 구현은 이전 설정과의 호환을 위해 v1을 기본값으로 사용합니다. 따라서 버전 필드를 무시해도 되는 표시 정보로 취급해서는 안 됩니다.

최소 필수 필드

Snell 최소 설정은 네 개의 일반 연결 필드와 하나의 PSK로 구성됩니다. 기본 v1로 처리되지 않도록 버전을 명시적으로 입력하는 것이 좋습니다.

name필수
정책 그룹과 규칙에서 참조하는 노드 이름입니다.
type필수
고정값 snell
server필수
Snell 서버 도메인 또는 IP입니다.
port필수
Snell 서버 수신 포트입니다.
psk필수
Snell 사전 공유 키이며 서버와 정확히 일치해야 합니다.
version명시적으로 입력 권장
1, 2, 3, 4, 5를 지원하며 생략하면 현재 구현은 1을 기본값으로 사용합니다.

버전, UDP 및 연결 재사용

현재 필드 참고 자료에서는 UDP와 reuse 의 사용 가능 범위를 Snell 버전별로 나눕니다. 현재 구현은 v5 서버의 v4 클라이언트 하위 호환성을 이용해 v5 설정을 v4 클라이언트 경로로 처리합니다.

Snell 버전별 기능
versionUDPreuse 설정설명
1지원하지 않음해당 없음version을 입력하지 않았을 때의 현재 기본값
2지원하지 않음항상 재사용v2는 연결 재사용을 항상 사용하며reuse 옵션은 적용되지 않음
3지원해당 없음활성화 가능 udp: true
4지원지원reuse 기본값 false, 서버 기능에 따라 활성화 가능
5지원지원현재 구현은 v4 클라이언트를 통해 v5 서버와 호환
udp버전에 따라 다름
v3, v4, v5에서만 활성화할 수 있습니다. v1 또는 v2에서 활성화하면 초기화에 실패합니다.
reuse버전에 따라 다름
공식 설정 항목은 v4, v5의 연결 재사용에 사용되며 기본값은 false

난독화 모드 및 전용 필드

obfs-opts Snell 바깥쪽 난독화를 설정합니다. mode마다 필드 구성이 다르므로 현재 서버에서 실제로 활성화한 모드와 매개변수만 입력하세요.

Snell 난독화 모드
mode주요 필드적용 범위
httphostHTTP 형태의 난독화, host는 서버 설정과 일치해야 함
tlshostsimple-obfs TLS 형태이며 표준 HTTPS 프록시와 같지 않음
shadow-tlshostpasswordversionalpnShadow TLS 버전은 1, 2, 3 지원
restlshostpasswordversion-hintrestls-scriptversion-hint는 tls12 또는 tls13 사용 가능
jlshostusernamepasswordalpn인증 필드는 JLS 서버와 일치해야 함
obfs-opts필요한 경우
Snell 난독화 설정 객체이며 난독화를 사용하지 않으면 생략할 수 있습니다.
client-fingerprint필요한 경우
Shadow TLS, Restls 또는 JLS 등의 TLS 형태 모드에 사용하며 공식 기본값은 Chrome입니다.
obfs-opts.host필요한 경우
난독화에 사용하는 도메인 형태이며 서버에서 제공한 값을 입력해야 합니다.
obfs-opts.password모드에 따라 다름
Shadow TLS 또는 Restls 모드의 바깥쪽 비밀번호이며 Snell의 다음 항목과 같지 않습니다: psk

Snell v4 난독화 예시 및 문제 해결

이 예시는 v4를 명시하고 UDP를 활성화합니다. 여기서는 simple-obfs TLS 형태를 사용합니다. 서버에서 난독화를 활성화하지 않았다면 전체 obfs-opts

  • 인증에 실패하면 먼저 다음을 확인하고 pskShadow TLS 또는 Restls의 바깥쪽 비밀번호를 다음 항목에 입력하지 마세요: psk
  • TCP는 작동하지만 UDP 초기화에 실패하면 version 가 3, 4 또는 5인지 확인하세요.
  • 난독화 핸드셰이크에 실패하면 mode, host, 바깥쪽 비밀번호, 버전 및 클라이언트 지문을 하나씩 확인하세요.
YAML
proxies:
  - name: snell-node
    type: snell
    server: server.example.com
    port: 44046
    psk: your-psk
    version: 4
    udp: true
    obfs-opts:
      mode: tls
      host: example.com