Skip to content

Releases: database64128/shadowsocks-go

v1.14.0 - Slipstream 🌬️

22 May 10:07
v1.14.0
f170b6a

Choose a tag to compare

📝 Release Notes

This release introduces several new features, improvements, and bug fixes.

API

  • Added a new endpoint (/api/tlscerts/v1) for enumerating and reloading TLS certificates.
  • Fixed an issue where non-canonicalized "realIPHeaderKey" did not work as expected.
  • "trustedProxies" is no longer mandated for real IP, as proxies may be authenticated using client certificates instead.

Service

  • Dial errors from establishing remote connections will now be propagated and translated to protocol-specific error responses when configuration allows.
  • The global "stats" configuration is now obsolete and will be removed in a future release.

SOCKS5

  • Fixed an issue where logging stream errors caused the program to crash. (#63 thanks @CalmLong)

HTTP Proxy

  • Fixed a potential goroutine leak that might occur with excessive pipelining.
  • Fixed how non-100 1xx informational responses are handled.
  • Improved how closed remote connections are handled.

Networking

  • Refactored how byte streams (TCP connections) are processed throughout the program. This comes with minor performance optimizations, many reliability improvements, and better test coverage.

Client Groups

  • Fixed an issue where empty fields were printed in log messages when default probe settings were used.

General

  • Added the -fmtConf flag to facilitate configuration migration and formatting.
  • Reloadable TLS certificates are now also reloaded upon receiving a SIGUSR1 signal.

📦 Packages

Filename Build type
shadowsocks-go-v1.14.0-archlinux-x86-64-v2.tar.zst Go 1.24.3 w/ CGO
shadowsocks-go-v1.14.0-archlinux-x86-64-v3.tar.zst Go 1.24.3 w/ CGO
shadowsocks-go-v1.14.0-linux-arm64.tar.zst Go 1.24.3 w/o CGO
shadowsocks-go-v1.14.0-linux-x86-64-v2.tar.zst Go 1.24.3 w/o CGO
shadowsocks-go-v1.14.0-linux-x86-64-v3.tar.zst Go 1.24.3 w/o CGO
shadowsocks-go-v1.14.0-macos-arm64.tar.zst Go 1.24.3 w/o CGO
shadowsocks-go-v1.14.0-macos-x86-64-v3.tar.zst Go 1.24.3 w/o CGO
shadowsocks-go-v1.14.0-windows-arm64.tar.zst Go 1.24.3 w/o CGO
shadowsocks-go-v1.14.0-windows-x86-64-v2.tar.zst Go 1.24.3 w/o CGO
shadowsocks-go-v1.14.0-windows-x86-64-v3.tar.zst Go 1.24.3 w/o CGO

© 2025 database64128

v1.13.0 - Radio Check 📡

03 Mar 16:21
v1.13.0
4e86892

Choose a tag to compare

📝 Release Notes

This release introduces client groups, with various bug fixes and improvements.

Special thanks to @arinc9 for testing and reporting bugs!

API

  • Reimplemented using net/http to reduce binary bloat. This introduces breaking changes to the configuration. Make sure to review the updated configuration examples.

Service

  • Fixed a regression where tproxy UDP servers failed to process UDP packets.
  • Fixed a regression that caused tproxy UDP servers to crash the program.

Networking

  • Fixed an issue preventing TCP servers from creating MPTCP sockets when the option was enabled.

Client Groups

  • Client groups allow you to combine multiple clients and use them as if they are a single client.
  • Each client group utilizes a client selection policy to determine the actual client to use for each new session.
  • This release includes the following client selection policies:
    • "round-robin": Selects clients sequentially, cycling through the list.
    • "random": Selects clients randomly.
    • "availability": Selects the client with the highest availability.
    • "latency": Selects the client with the lowest average latency.
    • "min-max-latency": Selects the client with the lowest maximum latency.

General

  • Upgraded Go to version 1.24.
  • Many performance and reliability improvements.

📦 Packages

Filename Build type
shadowsocks-go-v1.13.0-archlinux-x86-64-v2.tar.zst Go 1.24.0 w/ CGO
shadowsocks-go-v1.13.0-archlinux-x86-64-v3.tar.zst Go 1.24.0 w/ CGO
shadowsocks-go-v1.13.0-linux-arm64.tar.zst Go 1.24.0 w/o CGO
shadowsocks-go-v1.13.0-linux-x86-64-v2.tar.zst Go 1.24.0 w/o CGO
shadowsocks-go-v1.13.0-linux-x86-64-v3.tar.zst Go 1.24.0 w/o CGO
shadowsocks-go-v1.13.0-macos-arm64.tar.zst Go 1.24.0 w/o CGO
shadowsocks-go-v1.13.0-macos-x86-64-v3.tar.zst Go 1.24.0 w/o CGO
shadowsocks-go-v1.13.0-windows-arm64.tar.zst Go 1.24.0 w/o CGO
shadowsocks-go-v1.13.0-windows-x86-64-v2.tar.zst Go 1.24.0 w/o CGO
shadowsocks-go-v1.13.0-windows-x86-64-v3.tar.zst Go 1.24.0 w/o CGO

© 2025 database64128

v1.12.0 - Proxy Completeness 🏰

03 Dec 15:56
v1.12.0
0d81d17

Choose a tag to compare

📝 Release Notes

This release introduces authentication support for SOCKS5 and HTTP proxies, TLS options for HTTPS proxies, and various other bug fixes and improvements.

Service

  • Added an option to allow IP fragmentation for specific use cases.
  • Implemented duplicate name checks for clients, DNS resolvers, and servers.

SOCKS5

  • Added username/password authentication support.
  • Fixed incorrect reporting of some rare errors.

HTTP Proxy

  • Added Basic authentication support.
  • Added TLS options to enable HTTPS proxying, with client certificate and custom CA support.
  • Fixed handling of 100 Continue responses.
  • Fixed handling of hop-by-hop header fields.

Networking

  • Resolved an issue preventing "udp6" listeners from starting on Windows.

General

  • Added a -version flag to display version information.

📦 Packages

Filename Build type
shadowsocks-go-v1.12.0-archlinux-x86-64-v2.tar.zst Go 1.23.3 w/ CGO
shadowsocks-go-v1.12.0-archlinux-x86-64-v3.tar.zst Go 1.23.3 w/ CGO
shadowsocks-go-v1.12.0-linux-arm64.tar.zst Go 1.23.3 w/o CGO
shadowsocks-go-v1.12.0-linux-x86-64-v2.tar.zst Go 1.23.3 w/o CGO
shadowsocks-go-v1.12.0-linux-x86-64-v3.tar.zst Go 1.23.3 w/o CGO
shadowsocks-go-v1.12.0-macos-arm64.tar.zst Go 1.23.3 w/o CGO
shadowsocks-go-v1.12.0-macos-x86-64-v3.tar.zst Go 1.23.3 w/o CGO
shadowsocks-go-v1.12.0-windows-arm64.tar.zst Go 1.23.3 w/o CGO
shadowsocks-go-v1.12.0-windows-x86-64-v2.tar.zst Go 1.23.3 w/o CGO
shadowsocks-go-v1.12.0-windows-x86-64-v3.tar.zst Go 1.23.3 w/o CGO

© 2024 database64128

v1.11.3 - Patch Release 🛠️

19 Oct 17:20
v1.11.3
75b561c

Choose a tag to compare

📝 Release Notes

Networking

  • Fixed an issue that could cause UDP relay sessions to get stuck forever when sendmmsg(2) is used on Linux and NetBSD.
  • Improved sendmmsg(2) error handling and stats accuracy.

General

  • Fixed build on 32-bit Linux.

📦 Packages

Filename Build type
shadowsocks-go-v1.11.3-archlinux-x86-64-v2.tar.zst Go 1.23.2 w/ CGO
shadowsocks-go-v1.11.3-archlinux-x86-64-v3.tar.zst Go 1.23.2 w/ CGO
shadowsocks-go-v1.11.3-linux-arm64.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.3-linux-x86-64-v2.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.3-linux-x86-64-v3.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.3-macos-arm64.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.3-macos-x86-64-v3.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.3-windows-arm64.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.3-windows-x86-64-v2.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.3-windows-x86-64-v3.tar.zst Go 1.23.2 w/o CGO

© 2024 database64128

v1.11.2 - Patch Release 🛠️

13 Oct 08:02
v1.11.2
f0c30eb

Choose a tag to compare

📝 Release Notes

Service

  • Fixed an issue where garbage bytes are sent when initial payload read times out.

Networking

  • Improved socket address and control message handling.
  • Increased UDP socket buffer size to 7 MiB for improved performance.

📦 Packages

Filename Build type
shadowsocks-go-v1.11.2-archlinux-x86-64-v2.tar.zst Go 1.23.2 w/ CGO
shadowsocks-go-v1.11.2-archlinux-x86-64-v3.tar.zst Go 1.23.2 w/ CGO
shadowsocks-go-v1.11.2-linux-arm64.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.2-linux-x86-64-v2.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.2-linux-x86-64-v3.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.2-macos-arm64.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.2-macos-x86-64-v3.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.2-windows-arm64.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.2-windows-x86-64-v2.tar.zst Go 1.23.2 w/o CGO
shadowsocks-go-v1.11.2-windows-x86-64-v3.tar.zst Go 1.23.2 w/o CGO

© 2024 database64128

v1.11.1 - Patch Release 🛠️

08 Sep 06:40
v1.11.1
a2168a2

Choose a tag to compare

📝 Release Notes

Domain set

  • Optimized domain suffix matching.
  • Optimized generation and loading of domain sets.

Service

  • Improved TFO reliability on macOS.

Toolchain

  • Upgraded to Go 1.23.1.

📦 Packages

Filename Build type
shadowsocks-go-v1.11.1-archlinux-x86-64-v2.tar.zst Go 1.23.1 w/ CGO
shadowsocks-go-v1.11.1-archlinux-x86-64-v3.tar.zst Go 1.23.1 w/ CGO
shadowsocks-go-v1.11.1-linux-arm64.tar.zst Go 1.23.1 w/o CGO
shadowsocks-go-v1.11.1-linux-x86-64-v2.tar.zst Go 1.23.1 w/o CGO
shadowsocks-go-v1.11.1-linux-x86-64-v3.tar.zst Go 1.23.1 w/o CGO
shadowsocks-go-v1.11.1-macos-arm64.tar.zst Go 1.23.1 w/o CGO
shadowsocks-go-v1.11.1-macos-x86-64-v3.tar.zst Go 1.23.1 w/o CGO
shadowsocks-go-v1.11.1-windows-arm64.tar.zst Go 1.23.1 w/o CGO
shadowsocks-go-v1.11.1-windows-x86-64-v2.tar.zst Go 1.23.1 w/o CGO
shadowsocks-go-v1.11.1-windows-x86-64-v3.tar.zst Go 1.23.1 w/o CGO

© 2024 database64128

v1.11.0 - Eleven 🕚

23 Jul 15:04
v1.11.0
e589b77

Choose a tag to compare

📝 Release Notes

Service

  • Added TCP Fast Open (TFO) accept backlog and fallback options. TFO fallback is now enabled by default in the default client.
  • Added support for configuring TCP_DEFER_ACCEPT and TCP_USER_TIMEOUT socket options on Linux.

HTTP Proxy

  • Improved handling of reused non-CONNECT connections.
  • Avoid draining response body when the client disconnects.
  • Fixed a regression in error propagation for non-CONNECT connections.

API

  • The SSMv1 API has been moved from /v1 to /api/ssm/v1.
  • The pprof endpoint has been moved behind the secret path.
  • Added support for serving static files, which is useful for hosting a web UI alongside the API.

General

  • Adjusted default logger presets for increased efficiency (up to 900 ns/op faster).
  • Prepared for upcoming changes in Go 1.23. Notably, TFO will not be available on Windows starting with Go 1.23, due to new restrictions by the Go toolchain, unless the build tag tfogo_checklinkname0 is specified along with the linker flag -checklinkname=0. Release binaries will be built with these flags to ensure full functionality.
  • Various other improvements and fixes.

📦 Packages

Filename Build type
shadowsocks-go-v1.11.0-archlinux-x86-64-v2.tar.zst Go 1.22 w/ CGO
shadowsocks-go-v1.11.0-archlinux-x86-64-v3.tar.zst Go 1.22 w/ CGO
shadowsocks-go-v1.11.0-linux-arm64.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.11.0-linux-x86-64-v2.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.11.0-linux-x86-64-v3.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.11.0-macos-arm64.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.11.0-macos-x86-64-v3.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.11.0-windows-arm64.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.11.0-windows-x86-64-v2.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.11.0-windows-x86-64-v3.tar.zst Go 1.22 w/o CGO

© 2024 database64128

v1.10.1 - Patch Release 🛠️

22 Feb 13:56
v1.10.1
98931e1

Choose a tag to compare

📝 Release Notes

DNS

  • Fixed TCP fallback when handling truncated UDP responses.

Release

  • Added macOS build.

📦 Packages

Filename Build type
shadowsocks-go-v1.10.1-archlinux-x86-64-v2.tar.zst Go 1.22 w/ CGO
shadowsocks-go-v1.10.1-archlinux-x86-64-v3.tar.zst Go 1.22 w/ CGO
shadowsocks-go-v1.10.1-linux-arm64.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.1-linux-x86-64-v2.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.1-linux-x86-64-v3.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.1-macos-arm64.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.1-macos-x86-64-v3.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.1-windows-arm64.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.1-windows-x86-64-v2.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.1-windows-x86-64-v3.tar.zst Go 1.22 w/o CGO

© 2024 database64128

v1.10.0 - Shortcake 🍰

21 Feb 14:12
v1.10.0
0ed9882

Choose a tag to compare

📝 Release Notes

  • Upgraded to Go 1.22
  • Service: Added "network" field to client configuration for choosing the preferred address family.
  • DNS: Improved handling of truncated responses. Truncated UDP DNS responses immediately trigger fallback to TCP without any warning messages. Truncated TCP DNS responses are accepted without causing lookup failures.
  • Other fixes and improvements in code.

📦 Packages

Filename Build type
shadowsocks-go-v1.10.0-archlinux-x86-64-v2.tar.zst Go 1.22 w/ CGO
shadowsocks-go-v1.10.0-archlinux-x86-64-v3.tar.zst Go 1.22 w/ CGO
shadowsocks-go-v1.10.0-linux-arm64.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.0-linux-x86-64-v2.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.0-linux-x86-64-v3.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.0-windows-arm64.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.0-windows-x86-64-v2.tar.zst Go 1.22 w/o CGO
shadowsocks-go-v1.10.0-windows-x86-64-v3.tar.zst Go 1.22 w/o CGO

© 2024 database64128

v1.9.0 - Pathfinder 🧭

05 Oct 16:28
v1.9.0
275c1ce

Choose a tag to compare

📝 Release Notes

  • Upgraded to Go 1.21.
  • Service: Added support for Multipath TCP (MPTCP) with an option to explicitly enable or disable it.
  • API: Added an option to enable pprof for profiling and debugging.
  • HTTP: Fixed a server goroutine leak in the fail path.

📦 Packages

Filename Build type
shadowsocks-go-v1.9.0-archlinux-x86-64-v2.tar.zst Go 1.21 w/ CGO
shadowsocks-go-v1.9.0-archlinux-x86-64-v3.tar.zst Go 1.21 w/ CGO
shadowsocks-go-v1.9.0-linux-arm64.tar.zst Go 1.21 w/o CGO
shadowsocks-go-v1.9.0-linux-x86-64-v2.tar.zst Go 1.21 w/o CGO
shadowsocks-go-v1.9.0-linux-x86-64-v3.tar.zst Go 1.21 w/o CGO
shadowsocks-go-v1.9.0-windows-arm64.tar.zst Go 1.21 w/o CGO
shadowsocks-go-v1.9.0-windows-x86-64-v2.tar.zst Go 1.21 w/o CGO
shadowsocks-go-v1.9.0-windows-x86-64-v3.tar.zst Go 1.21 w/o CGO

© 2023 database64128