Commit Graph
199 Commits
Author SHA1 Message Date
Max Lv bdc77408cb Rename to shadowsocks-c with libuv, async DNS and CI lint (#3051)
Rename the project to shadowsocks-c while retaining ss-* commands, the embedding ABI, and legacy library/package lookup compatibility.

Replace libev with bundled libuv for IOCP/kqueue event backends, expand asynchronous runtime DNS coverage, and add actionlint/Ruff with strict clang-tidy failure handling. Validate native platforms, static builds, packaging, interoperability, sanitizers, and canonical/legacy consumers.

All 22 hosted checks pass at reviewed head a8493250eb.
2026-09-11 14:18:37 +08:00
Max Lv 201e70c4bd Modernize C builds with offline dependencies and portable runtime helpers (#3050)
Bundle pinned offline dependencies, remove libcork/libipset and submodule requirements, and add portable runtime helpers with relocatable static/shared library installations.

Add Clang static build validation for Linux/musl, macOS and Windows, real TCP/UDP and SIP003 interoperability coverage, and recorded performance tradeoffs. All 21 hosted checks pass at the reviewed PR head 8d504e6218.
2026-09-11 13:42:11 +08:00
Max LvandClaude Opus 4.6 c5e8788013 Bump version to 3.3.6
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:15:12 +08:00
Max LvandClaude Opus 4.6 6423c8e496 Add Debian package build test and statically link bundled submodules
Add tests/test_deb_build.sh with four phases:
1. Build .deb packages via dpkg-buildpackage
2. Verify all three packages contain expected files (binaries, man
   pages, shared library, headers, pkg-config)
3. Install packages and resolve dependencies
4. Smoke-test installed binaries, ldconfig, and headers

Add a Linux-only CI step in build.yml to run the test.

Statically link the bundled submodule libraries (libcork, libipset,
libbloom) into all targets instead of building them as shared libs.
These are vendored code built from git submodules, not system
libraries, so static linking is correct and eliminates
dpkg-shlibdeps warnings about missing .so files.

Pass -DWITH_STATIC=OFF in debian/rules since debian build-depends
only provide shared library dev packages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 11:32:13 +08:00
mesher2024 d52d4015d1 Update configure parameter in debian/rules 2026-02-08 09:59:34 +08:00
mesher2024 bb104036d2 Remove configure parameters in debian/rules 2026-02-08 09:59:34 +08:00
mesher2024 2d8af6e56c Update build-depends in debian/control
Replace libpcre3-dev with libpcre2-dev.
2026-02-08 09:59:34 +08:00
Max Lv d1171f44d0 Revert ""DynamicUser=true" makes "/etc/init.d/shadowsocks-libev start" fail."
This reverts commit ca4caabac6.
2021-05-13 12:33:57 +08:00
abner_bob ca4caabac6 "DynamicUser=true" makes "/etc/init.d/shadowsocks-libev start" fail. 2021-05-12 16:12:56 +08:00
Maxim Shpak 6329526199 Run systemd service after network is available (unit file fix)
There is a race condition between shadowsocks-libev.service and
systemd-resolved.service after reboot/on boot. The shadowsocks
service tries to start before the dns service is started properly
and fails showing the corresponding errors in the logs.
2021-03-31 07:39:59 +08:00
Max Lv 8285e5a7de Bump version 2020-09-15 10:30:48 +08:00
Roger Shimizu 5f947a8466 debian/rules: Fix #2675
Regression caused by commit [0d96da4].
2020-04-18 21:21:07 +09:00
Roger Shimizu 0d96da4471 Sync debian/ folder with debian version 3.3.4+ds-3 2020-03-29 17:49:39 +09:00
Mygod 301fea635b Remove sniparser 2020-02-11 23:48:30 -05:00
Max Lv 72d7d9217c Bump version 2020-01-10 09:48:42 +08:00
Max Lv e2765847cc Bump version 2019-10-31 15:16:05 +08:00
Max Lv 346ab1be47 Bump version 2019-10-12 15:20:52 +08:00
Max Lv 715f26e285 Change the default timeout value to 24h 2019-09-02 09:39:24 +08:00
Max Lv 615588bd39 Bump version 2019-08-09 15:17:53 +08:00
Suilong Liang c04e6dfe2d Change from network.target to network-online.target in systemd service files. 2019-06-26 11:51:37 +08:00
Max Lv ffad914ddd Bump version 2019-06-08 08:01:47 +08:00
Max Lv b0c6ba4945 Bump version 2019-03-09 19:07:22 +08:00
Max Lv c9159fc927 Bump version 2019-02-26 12:33:30 +08:00
Max Lv 545c04182f Bump version 2018-11-28 00:48:15 -08:00
Max Lv c8ea784ded Bump version 2018-11-26 21:04:24 -08:00
Max Lv 1d83944f5e Fix typos 2018-11-07 22:49:14 -08:00
Max Lv b9ed8da571 Bump version 2018-11-07 22:46:20 -08:00
edsgerlin 0496416387 Add AmbientCapabilities for all. 2018-09-15 17:20:57 +09:00
edsgerlin d5d28580f9 Add CAP_NET_BIND_SERVICE to shadowsocks-libev.service
It ensures process have permission to bind to port <=1000.
Other systemd config files already have it except this one.
2018-09-15 01:39:49 +09:00
Boyuan Yang 8a4b9d04e9 debian: Remove debian/*.symbols file (#2177)
Symbols file are meant to be used by distribution maintainers and
it is rather useless for upstream repository.
2018-09-12 07:56:05 +08:00
Max Lv 8c98bdecac Bump version 2018-05-28 19:55:12 -07:00
Max Lv 85a64ae836 Bump version 2018-01-15 17:25:03 -08:00
Max Lv cba94db423 Bump version 2017-12-28 21:09:40 -08:00
Roger Shimizu 24ecf4d780 Sync debian/ folder with debian release 3.1.1+ds-1~exp1 2017-11-23 20:06:38 +09:00
Max Lv 82198aece8 Bump version 2017-11-20 12:22:43 +08:00
Max Lv 69c41d9752 Bump version 2017-09-14 19:31:13 -07:00
Howard Liu 7525d518de Fixed Debian Package Control (#1656)
Removed dependency libudns-dev, added libc-ares-dev
2017-09-01 09:21:23 +08:00
Max Lv f1dd1354a9 Bump version 2017-07-27 11:22:27 +08:00
Max Lv c11b2c08e4 Bump version 2017-06-27 14:17:53 +08:00
Max Lv bc96aed3b0 Bump version 2017-04-26 15:02:56 +08:00
Daniel 82edb21595 Updates the ciphersuite method in debian/config.json.
This commit changes the "method" parameter in the debian/config.json
from "rc4-md5" to "chacha20-ietf-poly1305". rc4-md5 is unsafe and
there is support for a better AEAD ciphersuite.
2017-04-09 07:53:51 +08:00
Max Lv 48f5a3bec8 Bump version 2017-03-21 13:56:13 +08:00
Max Lv b725d575f2 Bump version 2017-03-16 14:21:11 +08:00
Rick Lei e63de4ce23 Turn off errexit option when detecting the apg command
Commit https://github.com/shadowsocks/shadowsocks-libev/commit/f32ac38c2f7aab09ec25131209954957518de42a
allows to use pwgen to generate the initial password at the first
installation. However it won't work when apg isn't installed because:

* the postinst script has errexit option set ("set -e")
* at the first installation of ss-libev, apg or pwgen will be called to
  generate the initial password in config.json
* when apg isn't installed, "pathfind apg" would return 1
* and the postinst script will immediately exit due to "set -e"

This commit temporarily turn off the errexit option for pathfind()
2017-03-09 12:48:37 +08:00
Patrick Li f32ac38c2f Allow the use of pwgen to generate passwords 2017-03-07 16:26:46 +08:00
Max Lv 661429e579 Bump version 2017-02-24 12:16:20 +08:00
Roger Shimizu 9185afb142 Update build script to enable jessie/stretch etc
Also include a few cleanup that simplified pkg installation from
backports repository.
2017-02-20 07:28:58 +08:00
Roger Shimizu 91643523c4 Bump debhelper 10
debhelper 10 is available in the following Debian/Ubuntu releases:
 - Debian 8.x Jessie (jessie-backports)
 - Debian 9.x Stretch / unstable
 - Ubuntu 16.04 Xenial (xenial-backports)
 - Ubuntu 16.10 Yakkety

debhelper supports dh-autoreconf and dh-systemd by default, so we can
safely remove a few Build-Depends and dh params.

We also sync a few other files under debian/ folder with Debian release
3.0.2+ds-1~exp1.
2017-02-16 20:38:08 +08:00
Roger Shimizu 7467f07984 Add CAP_NET_ADMIN capability to ss-redir in postinst script
Fix #1252
2017-02-15 08:01:00 +08:00
Max Lv 46fa5de9e4 Bump version 2017-02-13 09:13:16 +08:00