Xalgorix Cloud
Autonomous AI security testing for developers and security teams: find vulnerabilities, prove each with a working exploit, and ship verified fixes with zero infrastructure setup.
翻訳待ち
Self-contained Shadowsocks implementation in C with libuv, asynchronous DNS, and portable static builds for Linux, macOS, Windows, and FreeBSD.
翻訳待ち
セキュリティC++ · PythonGitHub @shadowsocks自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗shadowsocks-c is a lightweight secured SOCKS5 proxy for embedded devices and low-end boxes.
It is a port of Shadowsocks created by @clowwindy, and maintained by @madeye and @linusyang.
Current version: 3.3.6 | Changelog
CLI reference and configuration guide
are generated from the source with Doxygen and published after updates to master.
An opt-in printable TCP salt experiment is available
through ss-local --printable-salt or "printable_salt": true in the config
file. It is disabled by default.
Use --help for grouped CLI options and --version for version information.
See CLI conventions
for the long flags, short aliases, and configuration precedence.
See the contribution guide for development setup, testing, and pull request guidance.
Everyone participating in this project is expected to follow our Code of Conduct.
This repository began as shadowsocks-libev, the lightweight C implementation of Shadowsocks built around the libev event loop. It later entered a bug-fix-only maintenance phase, with new development directed toward shadowsocks-rust.
In September 2026, the C implementation was modernized with a focus on self-contained builds and portability. The build modernization bundled pinned dependency sources, removed several external dependencies, and added static-build validation across platforms. The subsequent migration replaced libev with libuv, added Windows IOCP and macOS kqueue support, expanded asynchronous runtime DNS coverage, and strengthened CI lint checks.
The project and GitHub repository were renamed shadowsocks-c to reflect its continuing identity as a pure C implementation. This repository retains the shadowsocks-libev commit history and releases. The canonical repository is now shadowsocks/shadowsocks-c.
ss-local and ss-server, the shadowsocks.h API, and the
embedding library ABI remain compatible.libshadowsocks-c and the CMake/pkg-config package
shadowsocks-c. Legacy library filenames and the shadowsocks-libev package
lookup name remain available as compatibility aliases.shadowsocks-libev in the installation examples
below refer to those existing integrations.See the modernization notes for build options and platform support, and the performance measurements for measured tradeoffs.
shadowsocks-c is written in pure C and depends on libuv. It's designed to be a lightweight implementation of shadowsocks protocol, in order to keep the resource usage as low as possible.
For a full list of feature comparison between different versions of shadowsocks, refer to the Wiki page.
Docker is the recommended way to run a server. The image contains the bundled, fully static C binaries and supports Linux AMD64 and ARM64, including Linux containers under Docker Desktop on macOS and Windows.
Create config.json and replace the example password with your own:
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "replace-with-a-long-random-password",
"method": "aes-256-gcm",
"mode": "tcp_and_udp"
}
In a POSIX shell, start the server with the configuration mounted read-only:
docker pull ghcr.io/shadowsocks/shadowsocks-c:latest
docker run -d --name shadowsocks-c --restart unless-stopped \
--user "$(id -u):$(id -g)" --read-only --cap-drop=ALL \
--security-opt=no-new-privileges:true \
-p 8388:8388/tcp -p 8388:8388/udp \
--mount type=bind,src="$PWD/config.json",dst=/etc/shadowsocks-c/config.json,readonly \
ghcr.io/shadowsocks/shadowsocks-c:latest
Using your user ID lets the container read a configuration file owned by you.
View logs with docker logs shadowsocks-c; stop it with docker stop shadowsocks-c.
Configure your Shadowsocks client with the server address, port, password and
method above.
latest follows master; version tags and sha-<full-commit> tags identify
specific published builds. If the registry image is not yet available, build it
from this checkout with the same name, then run the command above without pulling:
docker build -f docker/static/Dockerfile --target runtime \
-t ghcr.io/shadowsocks/shadowsocks-c:latest .
See Docker image details for publishing, updates,
client mode and build options. Existing Snap packages still use the
shadowsocks-libev name and may predate this modernization.
This is the beginning of the README. Read the rest at the original. Read the full README ↗