Skip to content

Tags: database64128/shadowsocks-go

Tags

v1.12.0

Toggle v1.12.0's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.12.0 - Proxy Completeness 🏰

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

v1.11.3

Toggle v1.11.3's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.11.3 - Patch Release 🛠️

- Removed broken sendmmsg short-write optimization that could cause relay sessions to get stuck on error.
- Improved sendmmsg error handling and stats accuracy.
- Fixed build on 32-bit Linux.

v1.11.2

Toggle v1.11.2's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.11.2 - Patch Release 🛠️

- Service: Fixed an issue where garbage bytes are sent when initial payload read times out.
- Networking: Improved socket address and control message handling.
- Networking: Increased UDP socket buffer size to 7 MiB for improved performance.

v1.11.1

Toggle v1.11.1's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.11.1 - Patch Release 🛠️

- Domain set: Optimized domain suffix matching.
- Domain set: Optimized generation and loading of domain sets.
- Service: Improved TFO reliability on macOS.
- Toolchain: Upgraded to Go 1.23.1.

v1.11.0

Toggle v1.11.0's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.11.0 - Eleven 🕚

- Service: Added TCP Fast Open (TFO) accept backlog and fallback options. TFO fallback is now enabled by default in the default client.
- Service: Added support for configuring TCP_DEFER_ACCEPT and TCP_USER_TIMEOUT socket options on Linux.
- HTTP Proxy: Improved handling of reused non-CONNECT connections.
- HTTP Proxy: Avoid draining response body when the client disconnects.
- HTTP Proxy: Fixed a regression in error propagation for non-CONNECT connections.
- Logging: Adjusted default presets for increased efficiency (up to 900 ns/op faster).
- API: The SSMv1 API has been moved from /v1 to /api/ssm/v1.
- API: The pprof endpoint has been moved behind the secret path.
- API: Added support for serving static files, which is useful for hosting a web UI alongside the API.
- 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 improvements and fixes.

v1.10.1

Toggle v1.10.1's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.10.1 - Patch Release 🛠️

- DNS: Fixed TCP fallback when handling truncated UDP responses.
- Release: Added macOS build.

v1.10.0

Toggle v1.10.0's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.10.0 - Shortcake 🍰

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

v1.9.0

Toggle v1.9.0's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.9.0 - Pathfinder 🧭

- Upgraded to Go 1.21
- Service: Added MPTCP support with option to explicitly enable or disable it.
- API: Added option to enable pprof.
- HTTP: Fixed server goroutine leak in fail path.
- Other fixes and improvements in code.

v1.8.0

Toggle v1.8.0's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.8.0 - Listen Up, Hands Down 👆

- Service: Support multiple listeners per server. Each listener has its own listen address and socket options.
- Service: Allow independent TCP and UDP client endpoint addresses.
- Service: Allow customizing initial payload wait timeout and buffer size.
- Startup: UDP client endpoint address resolution is now deferred until first session, and will no longer cause startup failures.
- Service: Relaxed NAT timeout requirements. The previous 60-second minimum NAT timeout is now only enforced on Shadowsocks 2022 servers.
- Service: 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.
- Logging: Use colored level printer.
- DNS: Added system resolver, improved API and cleaned up message parsing code.
- Shadowsocks 2022: Added a new option to allow segmented TCP fixed-length header.
- Shadowsocks 2022: Refactored sliding window filter to support a customizable size. The default size has been reduced to 256.

v1.7.0

Toggle v1.7.0's commit message

Verified

This tag was signed with the committer’s verified signature.
v1.7.0 - Definitive Optimum 🪻

- Router: Switched to bit set for efficient source server filtering.
- Router: Switched to port set and port range set for efficient source and destination port filtering.
- Router: Port filtering rules can now be defined as a comma-separated list of ports and port ranges.
- REST API: The returned user list and traffic stats are now sorted by username.
- Networking: Refactored socket control functions.
- Networking: Refactored UDP mmsg path to be allocation-free during use.
- Networking: Opened up UDP mmsg path for NetBSD.
- Networking: Extended PKTINFO support to macOS.
- Networking: Added traffic class (DiffServ + ECN) support.
- Networking: Added SO_USER_COOKIE support on FreeBSD.
- All: Switched non-crypto RNG from math/rand to runtime.fastrand for performance.