Shadowsocks 설명서

Shadowsocks 구성 형식

구성 파일

Shadowsocks는 JSON 형식 구성을 사용합니다.

{

    "서버":"my_server_ip",

    "server_port":8388,

    "local_port":1080,

    "비밀번호":"barfoo!",

    "방법":"chacha20-ietf-poly1305"

}

JSON 형식

  • 서버 : 호스트 이름 또는 서버 IP(IPv4/IPv6).
  • server_port: 서버 포트 번호.
  • local_port: 로컬 포트 ​​번호.
  • 암호: 전송을 암호화하는 데 사용되는 암호입니다.
  • 방법: 암호화 방법.

암호화 방법

서버를 구성하고 가장 강력한 암호화 방법인 chacha20-ietf-poly1305 AEAD 암호를 사용하는 것이 좋습니다. 

자체 Shadowsocks 서버를 구성하는 경우 "chacha20-ietf-poly1305" 또는 "aes-256-gcm" 중에서 선택할 수 있습니다.

URI 및 QR 코드

Android/IOS용 Shadowsocks는 BASE64로 인코딩된 URI 형식 구성도 사용합니다.

ss://BASE64-ENCODED-STRING-WITHOUT-PADDING#TAG

 

일반 URI는 다음과 같아야 합니다. ss://method:password@hostname:port

위의 URI는 RFC3986을 따르지 않습니다. 이 경우 암호는 퍼센트 인코딩이 아닌 일반 텍스트여야 합니다.



예: 192.168.100.1:8888에서 서버를 사용하고 있습니다. 사용 bf-cfb 암호화 방법 및 비밀번호 테스트/!@#:

 

그런 다음 일반 URI를 사용하여 ss://bf-cfb:test/!@#:@192.168.100.1:8888, BASE64로 인코딩된 URI를 생성할 수 있습니다. 

 

> console.log( "ss://" + btoa("bf-cfb:test/!@#:@192.168.100.1:8888") )

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

이러한 URI를 구성하고 식별하는 데 도움이 되도록 BASE64 인코딩 문자열 뒤에 태그를 추가할 수 있습니다.

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

주소 지정

Shadowsocks는 SOCKS5 주소 형식에 있는 주소를 사용합니다.

[1바이트형][가변길이 호스트][2바이트 포트]

 

정의된 주소 유형은 다음과 같습니다.

  • 0x01 : 호스트는 4바이트 IPv4 주소입니다.
  • 0x03 : 호스트는 1바이트 길이로 시작하여 최대 255바이트 도메인 이름이 이어지는 가변 길이 문자열입니다.
  • 0x04 : 호스트는 16바이트 IPv6 주소입니다.

 

포트 번호는 2바이트 빅엔디안 부호 없는 정수입니다.

TCP

ss-local 클라이언트는 페이로드 데이터가 뒤따르는 대상 주소로 시작하는 암호화된 데이터를 전송하여 ss-remote에 대한 연결을 시작합니다. 암호화는 사용되는 암호에 따라 다릅니다.

[대상 주소][페이로드]

ss-remote는 암호화된 데이터를 수신한 다음 대상 주소를 해독하고 구문 분석합니다. 그런 다음 대상에 대한 새 TCP 연결을 만들고 페이로드 데이터를 전달합니다. ss-remote는 대상으로부터 응답을 받은 다음 데이터를 암호화하고 연결이 끊어질 때까지 ss-local로 다시 전달합니다.

난독화를 위해 로컬 및 원격은 첫 번째 패킷의 일부 페이로드와 함께 핸드셰이크 데이터를 보내야 합니다.

UDP

ss-local은 대상 주소와 페이로드가 포함된 암호화된 데이터 패킷을 ss-remote로 보냅니다.

[대상 주소][페이로드]

암호화된 패킷이 수신되면 ss-remote는 대상 주소를 해독하고 구문 분석합니다. 그런 다음 페이로드가 포함된 새 데이터 패킷을 대상으로 보냅니다. ss-remote는 대상에서 데이터 패킷을 수신하고 대상 주소를 각 패킷의 페이로드 앞에 추가합니다. 암호화된 사본은 ss-local로 다시 전송됩니다.

[대상 주소][페이로드]

이 프로세스는 ss-local에 대한 네트워크 주소 변환을 수행하는 ss-remote로 요약할 수 있습니다.

5일 무료 평가판 시작