Shadowsocks-libev

By | February 16, 2019

Shadowsocks-libev is a lightweight and secure socks5 proxy. It is a port of the original shadowsocks created by clowwindy. Shadowsocks-libev is written in pure C and takes advantage of libev to achieve both high performance and low resource consumption.

Shadowsocks-libev consists of five components. One is ss-server(1) that runs on a remote server to provide secured tunnel service. ss-local(1) and ss-redir(1)are clients on your local machines to proxy traffic(TCP/UDP or both). ss-tunnel(1) is a tool for local port forwarding. While ss-local(1) works as a standard socks5 proxy, ss-redir(1) works as a transparent proxy and requires netfilter’s NAT module. For more information, check out the EXAMPLE section. ss-manager(1) is a controller for multi-user management and traffic statistics, using UNIX domain socket to talk with ss-server(1). Also, it provides a UNIX domain socket or IP based API for other software. About the details of this API, please refer to the PROTOCOL section.

CONFIG FILE

The config file is written in JSON and easy to edit. The config file equivalent of command line options is listed as example below.

Command line JSON
-s some.server.net “server”: “some.server.net”
-s some.server.net -p 1234 (client) “server”: “some.server.net:1234”
-p 1234 “server_port”: “1234”
-b 0.0.0.0 “local_address”: “0.0.0.0”
-l 4321 “local_port”: “4321”
-k “PasSworD” “password”: “PasSworD”
-m “aes-256-cfb” “method”: “aes-256-cfb”
-t 60 “timeout”: 60
-a nobody “user”: “nobody”
–fast-open “fast_open”: true
–reuse-port “reuse_port”: true
–no-delay “no_delay”: true
–plugin “obfs-server” “plugin”: “obfs-server”
–plugin-opts “obfs=http” “plugin_opts”: “obfs=http”
-6 “ipv6_first”: true
-n “/etc/nofile” “nofile”: “/etc/nofile”
-d “8.8.8.8” “nameserver”: “8.8.8.8”
-L “somedns.net:53” “tunnel_address”: “somedns.net:53”
-u “mode”: “tcp_and_udp”
-U “mode”: “udp_only”
no “-u” nor “-U” options (default) “mode”: “tcp_only”
(only in ss-manager’s config) “port_password”: {“1234″:”PasSworD”}

PROTOCOL

ss-manager(1) provides several APIs through UDP protocol.

– Send UDP commands in the following format to the manager-address provided to ss-manager(1):

command: [JSON data]

– To add a port:

add: {“server_port”: 8001, “password”:”7cd308cc059″}
 – To remove a port:
remove: {“server_port”: 8001}
 – To receive a pong:
ping
 – Then ss-manager(1) will send back the traffic statistics:
stat: {“8001”:11370}

NEED Shadwosock Server?

.Please wait for our UPDATE !
>_

Leave a Reply

Your email address will not be published.