Shadowsocks 노드를 구성하는 필드
클라이언트는 cipher 와 함께 사용하는 password 를 사용해 Shadowsocks 암호화 방식을 만든 다음 server:port 에 지정된 서버에 연결합니다. 주소, 포트, 암호화 방식 및 비밀번호는 모두 같은 서버 설정에 속해야 합니다.
기본 Shadowsocks는 TCP와 UDP를 각각 전달할 수 있습니다. 플러그인은 Shadowsocks 연결 바깥에서 전송 방식이나 트래픽 형태를 바꾸며 기본 암호화 필드를 대체하지 않습니다.
name필수- 정책 그룹과 규칙에서 참조하는 노드 이름입니다.
type필수- 고정값
ss。 server필수- Shadowsocks 서버 도메인 또는 IP입니다.
port필수- 서버 수신 포트입니다.
cipher필수- 암호화 방식이며 서버의 값과 정확히 일치해야 합니다.
password필수- 현재 암호화 방식에 사용하는 Shadowsocks 비밀번호입니다.
서버에서 실제로 사용하는 Cipher 선택
현재 코어는 여러 Shadowsocks 암호화 방식을 지원합니다. 이름이 오래되거나 새로워 보인다는 이유로 cipher를 임의로 바꾸지 마세요. 클라이언트와 서버가 일치하지 않으면 암호화 핸드셰이크를 완료할 수 없습니다.
| 분류 | 공식 필드 예시 | 설명 |
|---|---|---|
| AES | aes-128-gcm、aes-256-gcm、CTR、CFB、CCM、GCM-SIV | AEAD 및 일부 호환용 스트림 암호화 방식 포함 |
| ChaCha | chacha20-ietf-poly1305、xchacha20-ietf-poly1305 | 공식 목록의 ChaCha20 및 ChaCha8 변형도 지원 |
| 2022 Blake3 | 2022-blake3-aes-128-gcm、2022-blake3-chacha20-poly1305 | 비밀번호 또는 키 형식은 해당 서버 구현을 따라야 함 |
| LEA | lea-128-gcm、lea-192-gcm、lea-256-gcm | 서버가 같은 구현을 사용할 때만 선택 |
| 기타 호환 항목 | aegis-128l、aegis-256、rc4-md5、none 등 | 기존 서버 설정에 맞춰 사용하고 호환성을 이유로 임의로 다운그레이드하지 마세요 |
UDP 및 UDP over TCP
udp 노드의 UDP 처리 허용 여부를 제어합니다. 기본적으로 UDP는 Shadowsocks 네이티브 UDP를 사용합니다. UOT를 켜면 UDP 데이터가 TCP 연결에 캡슐화되며 서버도 같은 메커니즘과 버전을 지원해야 합니다.
udp필요한 경우- 노드의 UDP 처리를 허용하며 기본값은 꺼짐입니다.
udp-over-tcp필요한 경우- UDP over TCP를 활성화하며 기본값은
false。 udp-over-tcp-version버전- UOT 버전은 1 또는 2만 지원하며 입력하지 않으면 버전 1을 사용합니다.
smux고급- 범용 TCP 다중화 설정입니다. UOT와 같지 않으며 서버의 프로토콜 지원을 대신할 수도 없습니다.
플러그인 및 Plugin Options
한 노드에는 서버에 맞는 플러그인 하나만 선택해야 하며,plugin-opts 의 구조는 플러그인에 따라 달라집니다. Shadowsocks 최상위에는 범용 tls 옵션이 없습니다. TLS는 이를 지원하는 플러그인 옵션 안에서 설정해야 합니다.
| plugin | 주요 모드 | 설정 범위 |
|---|---|---|
obfs | http 또는 tls | 일반적으로 사용 mode 와 함께 사용하는 host, simple-obfs 서버와 일치해야 함 |
v2ray-plugin | websocket | 플러그인 안에서 TLS를 켤 수 있으며 현재 QUIC 모드는 지원하지 않음 |
gost-plugin | websocket | Host, Path, 요청 헤더, Mux 및 플러그인 내부 TLS 설정 가능 |
shadow-tls | Shadow TLS | host, password, 버전 및 선택적 ALPN 설정, 지원 버전은 1, 2, 3 |
restls | Restls | host, password, version-hint 및 선택적 트래픽 스크립트 설정 |
kcptun | KCP | 매개변수는 kcptun 서버와 일치해야 하며 현재 구현에서는 UOT가 활성화됨 |
jls | JLS | host, username, password 및 선택적 ALPN 설정 |
plugin필요한 경우- 플러그인 이름입니다. 현재 코어가 지원하고 서버에서 실제로 활성화한 유형만 입력할 수 있습니다.
plugin-opts필요한 경우- 플러그인 전용 옵션이며 서로 다른 플러그인 사이에서 그대로 재사용할 수 없습니다.
client-fingerprint필요한 경우- Shadow TLS, Restls 또는 JLS 등의 해당 플러그인에서 TLS 클라이언트 형태를 모방할 때 사용합니다.
기본 노드 예시 및 문제 해결
아래는 플러그인이 없는 기본 노드입니다. 구독에 플러그인이 포함되어 있다면 여섯 개의 기본 필드를 그대로 유지한 상태에서 plugin 및 해당 plugin-opts。
- 초기화 단계에서 cipher 오류가 보고되면 먼저 암호화 방식의 철자와 현재 코어 지원 목록을 확인하세요.
- TCP는 작동하지만 UDP가 작동하지 않으면 서버 UDP, 클라이언트
udp및 방화벽의 세 설정을 확인하세요. - 플러그인 연결에 실패하면 플러그인 이름, mode, host, path, TLS 및 비밀번호를 하나씩 확인하세요. SS 비밀번호만 확인해서는 안 됩니다.
proxies:
- name: ss-node
type: ss
server: server.example.com
port: 443
cipher: chacha20-ietf-poly1305
password: your-password
udp: true