gitwtfhub

wtf is shadowsocks-libev?

shadowsocks/shadowsocks-libev — explained in plain English

Analysis updated 2026-06-24

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

TL;DR

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

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

Why would anyone build with this?

REASON 1

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

REASON 2

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

REASON 3

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

REASON 4

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

What's in the stack?

ClibevlibsodiummbedTLSCMakePCRE2

How it stacks up

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 spin it up?

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.

Wtf does this do

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.

Yoink these 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

wtf 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.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.