Shadowsocks
가장 대표적인 경량 프록시 프로토콜로, 암호화가 간단하고 성능이 좋으며 플러그인과 함께 사용하면 다양한 트래픽 위장도 할 수 있습니다. 노드 제공자와 자체 구축 노드에서 가장 흔히 볼 수 있는 프로토콜 중 하나입니다.
설정 예시
proxies: - name: "ss1" type: ss server: server port: 443 cipher: aes-128-gcm password: "password" udp: true udp-over-tcp: false plugin: obfs plugin-opts: mode: tls
기본 필드
password필수연결 비밀번호입니다. SS2022 계열 암호화 방식에서는 이 값이 EIH key입니다.
cipher필수암호화 방식으로, 자주 사용되는 것은 aes-128-gcm/aes-256-gcm/chacha20-ietf-poly1305/xchacha20-ietf-poly1305이며, 더 새로운 SS2022 계열인 2022-blake3-aes-128-gcm/2022-blake3-aes-256-gcm/2022-blake3-chacha20-poly1305도 있습니다. 예전 방식인 aes-*-ctr/aes-*-cfb 계열도 지원되지만 보안성과 성능이 AEAD 계열보다 떨어지므로 새 노드에는 사용을 권장하지 않습니다.
udp-over-tcp / udp-over-tcp-version선택UDP 트래픽을 TCP 트래픽으로 위장해 전달합니다. TCP만 허용하는 일부 네트워크 환경에서 이를 사용해 제한을 우회할 수 있습니다.
plugin 플러그인
plugin 필드는 obfs/v2ray-plugin/gost-plugin/shadow-tls/restls/kcptun을 지원하며, 각 플러그인은 자체 plugin-opts를 가집니다.
plugin: obfs plugin-opts: mode: tls # 또는 http host: bing.com
트래픽을 TLS나 HTTP 핸드셰이크처럼 위장하는 가장 간단한 난독화 방식으로, 심층 패킷 검사에 대한 방어력은 제한적입니다.
plugin: shadow-tls client-fingerprint: chrome plugin-opts: host: "cloud.tencent.com" password: "shadow_tls_password" version: 3 # 1/2/3 지원
SS 트래픽에 실제 TLS 핸드셰이크(host는 실제로 존재하는 웹사이트를 지정)를 한 겹 더 씌우는 방식으로, 위장 효과가 단순 obfs보다 더 자연스러우며 현재 차단 방지 능력이 강한 방식 중 하나입니다.
plugin: restls client-fingerprint: chrome # chrome/ios/firefox/safari 중 하나 plugin-opts: host: "www.microsoft.com" # TLS 1.3 서버여야 함 password: [YOUR_RESTLS_PASSWORD] version-hint: "tls13" restls-script: "300?100<1,400~100,350~100,600~100,300~200,300~100"
shadow-tls보다 한 단계 더 나아가, restls-script로 핸드셰이크 이후의 트래픽 동작을 세밀하게 제어하여 "TLS in TLS"와 같은 특징을 숨깁니다.
plugin: v2ray-plugin plugin-opts: mode: websocket # tls: true # host: bing.com # path: /path
SS 트래픽을 WebSocket으로 감싸며, CDN을 씌울 수 있어 호환성이 좋습니다. 현재는 QUIC 모드를 아직 지원하지 않습니다.
그 외에도 kcptun 플러그인이 있는데, 트래픽을 KCP 프로토콜로 변환해 열악한 네트워크에서 전송 효율을 높입니다. 필드가 많고(key/crypt/mode/mtu 등) 사용 사례가 적어 여기서는 자세히 다루지 않습니다.