Shadowsocks документација
навигација
Формат за конфигурација на Shadowsocks
Конфигурирај датотека
Shadowsocks зема конфигурации на JSON формат:
{
„сервер“: „my_server_ip“,
„server_port“:8388,
„local_port“:1080,
„лозинка“: „барфу!“,
„метод“: „chacha20-ietf-poly1305″
}
JSON формат
- сервер: вашето име на домаќин или IP на серверот (IPv4/IPv6).
- server_port: број на порта на серверот.
- local_port: број на локална порта.
- лозинка: лозинка што се користи за шифрирање на преносот.
- метод: метод на шифрирање.
Метод на шифрирање
Ние ги конфигурираме нашите сервери и препорачуваме да ја користите шифрата chacha20-ietf-poly1305 AEAD бидејќи тоа е најсилниот метод за шифрирање.
Ако го конфигурирате вашиот сопствен сервер Shadowsocks, можете да изберете од „chacha20-ietf-poly1305“ или „aes-256-gcm“.
URI и QR код
Shadowsocks за Android / IOS, исто така, зема конфигурации на 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 : домаќинот е IPv4 адреса од 4 бајти.
- 0x03 : домаќинот е низа со променлива должина, која започнува со должина од 1 бајт, проследена со име на домен од максимум 255 бајти.
- 0x04 : домаќинот е IPv16 адреса од 6 бајти.
Бројот на пристаништето е 2-бајти голем непотпишан цел број.
TCP
Локалниот клиент ss иницира поврзување со ss-далечинскиот управувач со испраќање шифрирани податоци почнувајќи од целната адреса проследена со податоците за товарот. Шифрирањето ќе биде различно во зависност од употребената шифра.
[целна адреса] носивост]
Далечинското ss ги прима шифрираните податоци, потоа ја дешифрира и ја анализира целната адреса. Потоа создава нова TCP конекција до целта и ги препраќа податоците за товарот до неа. ss-remote добива одговор од целта, потоа ги шифрира податоците и ги препраќа назад на ss-local додека не се исклучи.
За цели на заматување, локалното и далечинското треба да ги испратат податоците за ракување со одредено оптоварување во првиот пакет.
UDP
ss-local го испраќа шифрираниот пакет со податоци што ја содржи целната адреса и товарот на ss-далечинскиот управувач.
[целна адреса] носивост]
Откако ќе се прими шифрираниот пакет, ss-далечинскиот управувач ја дешифрира и анализира целната адреса. Потоа испраќа нов пакет со податоци со товарот до целта. ss-remote ги прима пакетите со податоци од целта и ја поставува целната адреса на товарот во секој пакет. Шифрираните копии се испраќаат назад до ss-local.
[целна адреса] носивост]
Овој процес може да се сведе на ss-далечинско извршување на превод на мрежна адреса за ss-local.