V2Fly.orgV2Fly.org
Quick Start
Config Reference
Config Reference (v5, WIP)
Tools
Developer Guide
New concise guide
  • 简体中文
  • English
GitHub
Quick Start
Config Reference
Config Reference (v5, WIP)
Tools
Developer Guide
New concise guide
  • 简体中文
  • English
GitHub
  • Config Reference

    • Configuration File Format (Draft)
    • Inbounds
    • Outbounds
    • Proxy Protocol
    • Stream
    • Service
    • DNS
    • Router
    • Geo
  • Proxy Protocol

    • Blackhole
    • DNS
    • Dokodemo
    • Freedom
    • HTTP
    • Socks
    • VMess
    • VLite
    • Shadowsocks
      • Shadowsocks Inbound
      • Shadowsocks Outbound
      • Supported Encryption Methods
    • Shadowsocks2022
    • Trojan
    • Hysteria2
    • VLESS
    • Loopback
    • WireGuard
  • Stream Transport Protocol

    • TCP
    • WebSocket
    • KCP(mKCP)
    • gRPC
    • QUIC
    • Meek
    • Google Docs Viewer
    • HTTPUpgrade
    • Hysteria2
    • mekya
    • TLSMirror
  • Service

    • Stats
    • Policy
    • Browser Forwarder
    • Burst Observatory
    • Background Observatory
    • Tun
    • Subscription Manager
    • File System Storage

Shadowsocks

Shadowsocks Protocol,mostly compatible with other implementations。

Shadowsocks Inbound

  • Name: shadowsocks
  • Type: Inbound Protocol
  • ID: inbound.shadowsocks

method : string

Encryption method,one of [supported encryption methods](#supported encryption methods) .

password: string

A recognized password for this inbound. Shadowsocks does not mandate the length of the password, but it would be easy to crack a short password, thus a password of 16 characters or more is recommended.

networks: "tcp" | "udp" | "tcp,udp"

Enabled network type. For example, when "tcp" is specified, this inbound will only accept TCP traffic. This value is "tcp" by default.

packetEncoding: ["None" | "Packet" | "Stream"]

UDP packet encoding method. The default is None.

When the value is None, UDP traffic is mapped separately for each destination address and port (Address and Port-Dependent Mapping).

When the value is Packet, each UDP packet is encoded together with its destination address while preserving packet boundaries. A compatible outbound can restore the packets as an Endpoint Independent Mapping UDP connection. This UDP behavior is also known as Full Cone or NAT1.

When the value is Stream, each UDP packet and its destination address are length-prefixed and framed over a byte stream. A compatible outbound can restore the packets as an Endpoint Independent Mapping UDP connection. This UDP behavior is also known as Full Cone or NAT1. This would allow UDP connection to be passed through proxy protocol that does not support packet based communication. (v5.53.0+)

Shadowsocks Outbound

  • Name: shadowsocks
  • Type: Outbound Protocol
  • ID: outbound.shadowsocks

address: string

The server address. Both IP and domain name is supported.

port: number

The server port number.

method : string

Encryption method,one of [supported encryption methods](#supported encryption methods) .

password: string

A password recognized by server.

Supported Encryption Methods

  • "AES_256_GCM"
  • "AES_128_GCM"
  • "CHACHA20_POLY1305"
  • "NONE"

Warning

In "NONE" unencrypted and unauthenticated mode, the server will not try to validate the password.

This is typically used when authentication is already completed by the transport layer, like enabling TLS encryption and WebSocket transport with a long and unpredictable path.

Edit this page on GitHub
Last Updated:
Contributors: Shelikhoo, 秋のかえで, Mohammad Fatemi, Arınç ÜNAL
Prev
VLite
Next
Shadowsocks2022