[][src]Module shadowsocks::relay::udprelay

Relay for UDP implementation

ShadowSocks UDP protocol

SOCKS5 UDP Request

This example is not tested
+----+------+------+----------+----------+----------+
|RSV | FRAG | ATYP | DST.ADDR | DST.PORT |   DATA   |
+----+------+------+----------+----------+----------+
| 2  |  1   |  1   | Variable |    2     | Variable |
+----+------+------+----------+----------+----------+

SOCKS5 UDP Response

This example is not tested
+----+------+------+----------+----------+----------+
|RSV | FRAG | ATYP | DST.ADDR | DST.PORT |   DATA   |
+----+------+------+----------+----------+----------+
| 2  |  1   |  1   | Variable |    2     | Variable |
+----+------+------+----------+----------+----------+

shadowsocks UDP Request (before encrypted)

This example is not tested
+------+----------+----------+----------+
| ATYP | DST.ADDR | DST.PORT |   DATA   |
+------+----------+----------+----------+
|  1   | Variable |    2     | Variable |
+------+----------+----------+----------+

shadowsocks UDP Response (before encrypted)

This example is not tested
+------+----------+----------+----------+
| ATYP | DST.ADDR | DST.PORT |   DATA   |
+------+----------+----------+----------+
|  1   | Variable |    2     | Variable |
+------+----------+----------+----------+

shadowsocks UDP Request and Response (after encrypted)

This example is not tested
+-------+--------------+
|   IV  |    PAYLOAD   |
+-------+--------------+
| Fixed |   Variable   |
+-------+--------------+

Modules

client

UDP relay client

local

UDP local relay server

server

UDP relay proxy server

Constants

DEFAULT_TIMEOUT

Default association expire time

MAXIMUM_UDP_PAYLOAD_SIZE

The maximum UDP payload size (defined in the original shadowsocks Python)