Files
shadowsocks-libev/doc/ss-server.md
Max Lv 227ad1bb9c Compile the event loop, UDP relay and programs as C++
Rename utils, ss_event, udprelay, winsock, local, server, tunnel, redir
and manager from .c to .cpp. Inside the moved files only the
\snippet{doc} file references and header comments change; snippet
references in doc/*.md, tests/test_cli_docs.py, the build files and
CONTRIBUTION.md follow the new names.

Also cast the Windows-only string literal returned by
get_default_conf(), found by the zig x86_64-windows-gnu build.

Every module of src/ except the unbuilt android.c and the vendored
blake3 is now compiled as C++20. The new .cpp files join the no-heap
ratchet baseline.
2026-10-14 22:51:17 +08:00

65 lines
1.7 KiB
Markdown

\page ss-server ss-server
\brief shadowsocks server, C implementation
\section ss_server_synopsis SYNOPSIS
`ss-server [options]`
\section ss_server_description DESCRIPTION
*shadowsocks-c* is a lightweight and secure socks5 proxy.
It is a port of the original shadowsocks created by clowwindy.
*shadowsocks-c* is written in pure C and takes advantage of libuv to
achieve both high performance and low resource consumption.
*shadowsocks-c* consists of five components.
ss-server(1) runs on a remote server to provide secured tunnel service.
For more information, check out shadowsocks-libev(8).
\section ss_server_options OPTIONS
Options include all supported platform variants; restrictions are noted below.
\snippet{doc} server.cpp cli-options
\section ss_server_example EXAMPLE
It is recommended to use a config file when starting ss-server(1).
The config file is written in JSON and is easy to edit.
Check out the `SEE ALSO` section for the default path of config file.
```
# Start the ss-server
ss-server --config /etc/shadowsocks-libev/config.json
```
\section ss_server_incompatibility INCOMPATIBILITY
The config file of shadowsocks-libev(8) is slightly different from original
shadowsocks.
In order to listen to both IPv4/IPv6 address, use the following grammar in
your config json file:
```
{
"server":["::0","0.0.0.0"],
...
}
```
ss-server(1) also does not understand "port_password" field in config file.
If you want to start up multiple server instances with a single config file,
please try ss-manager tool. See ss-manager(8) for details.
\section ss_server_see_also SEE ALSO
ss-local(1),
ss-tunnel(1),
ss-redir(1),
ss-manager(1),
shadowsocks-libev(8),
iptables(8),
/etc/shadowsocks-libev/config.json