explaingit

shadowsocks/shadowsocks-libev

Analysis updated 2026-06-24

16,159CAudience · ops devopsComplexity · 4/5LicenseSetup · moderate

TLDR

A lightweight C implementation of the Shadowsocks encrypted SOCKS5 proxy, built for embedded devices and low-end servers. Maintenance mode only, new work moved to shadowsocks-rust.

Mindmap

mindmap
  root((shadowsocks-libev))
    Inputs
      Server config JSON
      Encrypted TCP traffic
      UDP packets
    Outputs
      Proxied SOCKS5 stream
      Tunneled traffic
    Use Cases
      Bypass network restrictions
      Run on routers and embedded boxes
      Self-host a personal proxy
    Tech Stack
      C
      libev
      libsodium
      mbedTLS
      CMake
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Self-host a Shadowsocks server on a VPS to tunnel personal traffic.

USE CASE 2

Install on a home router or OpenWRT box as a lightweight proxy client.

USE CASE 3

Run on a low-memory ARM board like a Raspberry Pi for an always-on proxy.

USE CASE 4

Package into a container as the proxy backend for a custom client app.

What is it built with?

ClibevlibsodiummbedTLSCMakePCRE2

How does it compare?

shadowsocks/shadowsocks-libevdavatorium/rofisystemd/systemd
Stars16,15916,06416,297
LanguageCCC
Setup difficultymoderateeasyhard
Complexity4/53/55/5
Audienceops devopsops devopsops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Easy via apt or snap, building from source needs libsodium, mbedTLS, libev and CMake plus a remote server to actually be useful.

Free to use, modify, and redistribute under GPLv3, but derivative projects must also be open source under the same license.

In plain English

Shadowsocks-libev is a lightweight, encrypted proxy tool written in the C programming language. A proxy acts as a middleman between your device and the internet, routing your traffic through a different server. This particular version is designed to be resource-efficient, making it suitable for low-powered devices and embedded hardware. The tool implements the Shadowsocks protocol, which encrypts your network traffic to help it pass through network restrictions. It runs in two modes: as a server (which you set up on a remote machine) and as a client (which runs on your local device and connects to that server). This client-server pair allows your internet traffic to travel through the encrypted tunnel. This is the C-language port of the original Shadowsocks project, and it is now in bug-fix-only maintenance mode, meaning no new features are being added. The project description notes that future development has moved to a separate implementation called shadowsocks-rust. It can be installed on a wide range of systems through package managers or compiled from source using a build tool called CMake. The README covers installation instructions for many different operating systems and distributions. If you are a developer or someone comfortable with command-line tools who needs an encrypted proxy solution for a low-resource environment, this library provides that capability. Non-technical users would typically look for a graphical application that wraps this tool rather than using it directly.

Copy-paste prompts

Prompt 1
Write a minimal /etc/shadowsocks-libev/config.json for a server listening on port 8388 with chacha20-ietf-poly1305 and a strong password.
Prompt 2
Give me a docker-compose.yml that runs shadowsocks-libev ss-server with config mounted from a file, exposes 8388 tcp and udp.
Prompt 3
Show the systemd unit changes needed to run ss-redir as a transparent proxy on a Linux gateway with iptables rules.
Prompt 4
Compile shadowsocks-libev from source on Debian 12 with libsodium and mbedTLS, list the apt packages and cmake flags.
Prompt 5
Compare shadowsocks-libev vs shadowsocks-rust for a 512MB VPS and explain which I should pick in 2026.

Frequently asked questions

What is shadowsocks-libev?

A lightweight C implementation of the Shadowsocks encrypted SOCKS5 proxy, built for embedded devices and low-end servers. Maintenance mode only, new work moved to shadowsocks-rust.

What language is shadowsocks-libev written in?

Mainly C. The stack also includes C, libev, libsodium.

What license does shadowsocks-libev use?

Free to use, modify, and redistribute under GPLv3, but derivative projects must also be open source under the same license.

How hard is shadowsocks-libev to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is shadowsocks-libev for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub shadowsocks on gitmyhub

Verify against the repo before relying on details.