Skip to content

Releases: database64128/shadowsocks-go

v1.12.0 - Proxy Completeness 🏰

03 Dec 15:56
v1.12.0
0d81d17
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

v1.8.0 - Listen Up, Hands Down 👆

28 Jun 20:38
v1.8.0
1ca861e
Compare
Choose a tag to compare

📝 Release Notes

This release introduces multiple listeners per server, system resolver within builtin DNS, and many other changes and improvements.

Service

  • Support multiple listeners per server. Each listener has its own listen address and socket options.
  • Allow independent TCP and UDP client endpoint addresses.
  • Allow customizing initial payload wait timeout and buffer size.
  • Relaxed NAT timeout requirements. The previous 60-second minimum NAT timeout is now only enforced on Shadowsocks 2022 servers.
  • Use real listen addresses in logs. This reveals the actual assigned random port if no port number is specified in the listen address, or whether the listener is using a dual-stack socket if the IP is unspecified.

Shadowsocks 2022

  • Added a new option to allow segmented TCP fixed-length header.
  • Refactored sliding window filter to support a customizable size. The default size has been reduced to 256.

Other Improvements

  • Logging: Use colored level printer.
  • DNS: Added system resolver, improved API and cleaned up message parsing code.
  • Startup: UDP client endpoint address resolution is now deferred until first session, and will no longer cause startup failures.

📦 Packages

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

© 2023 database64128

v1.7.0 - Definitive Optimum 🪻

24 Mar 12:23
v1.7.0
5d8da1e
Compare
Choose a tag to compare

📝 Release Notes

This release is mostly focused on stuff behind the scenes. New features are relatively small, but can be useful for those who need them.

Router

  • Switched to bit set for efficient source server filtering.
  • Switched to port set and port range set for efficient source and destination port filtering.
  • Port filtering rules can now be defined as a comma-separated list of ports and port ranges.

Networking

  • Refactored socket control functions.
  • Refactored UDP mmsg path to be allocation-free during use.
  • Opened up UDP mmsg path for NetBSD.
  • Extended PKTINFO support to macOS.
  • Added traffic class (DiffServ + ECN) support.
  • Added SO_USER_COOKIE support on FreeBSD.

Other Improvements

  • REST API: The returned user list and traffic stats are now sorted by username.
  • All: Switched non-crypto RNG from math/rand to runtime.fastrand for performance.

📦 Packages

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

© 2023 database64128