Skip to content

Releases: shadowsocks/shadowsocks-rust

v1.14.0

07 Mar 02:26
5a7105f
Compare
Choose a tag to compare

Features

  • Optimization: UDP associations managment removes unnecessary locks

Breaking Changes

  • shadowsocks_service::local::net::udp::UdpAssociationManager::new returns clean-up interval and keep-alive receiver. It is not recommended to use this directly in your Project, because the API may change occasionally.

What's Changed

Full Changelog: v1.13.5...v1.14.0

v1.13.5

25 Feb 14:05
21008ac
Compare
Choose a tag to compare

Features

  • #773 Set environment variable SS_SYSTEM_DNS_RESOLVER_FORCE_BUILTIN to use system's builtin DNS resolver

Full Changelog: v1.13.4...v1.13.5

v1.13.4

25 Feb 06:48
3e58abd
Compare
Choose a tag to compare

Features

  • Allow setting "system" in DNS configuration key "dns" to use system provided DNS API

BUG Fixes

  • ssservice - fixed command line options when running it as symlink of ssserver and ssmanager

What's Changed

Full Changelog: v1.13.3...v1.13.4

v1.13.3

20 Feb 09:13
120737e
Compare
Choose a tag to compare

BUG Fixes

  • #767 REGRESSION: ssmanager missing --server-host command line option since v1.13.0
  • shadowsocks/shadowsocks-crypto#12 REGRESSION: rc4-md5 method cipher IV length should be 16
  • #768 Disable md5-asm and sha1-asm on x86_64-pc-windows-gnu target.

Full Changelog: v1.13.2...v1.13.3

v1.13.2

13 Feb 01:54
a2ad0c3
Compare
Choose a tag to compare

Features

  • (EXPERIMENTAL) Support setting SO_USER_COOKIE on FreeBSD
    • Set cookie with --outbound-user-cookie command line option, working just like --outbound-fwmark on Linux
  • (EXPERIMENTAL) Local tun interface refactored the VirtDevice::poll strategy
    • Improve performance
    • Still slow comparing to system's network stack

BUG Fixes

  • #765 Updated broken Wiki URL for Plugins in command line help message
  • #764 Regression of client blocking ACL strategy on ssserver
    • Introduced since v1.9.0

What's Changed

New Contributors

Full Changelog: v1.13.1...v1.13.2

v1.13.1

29 Jan 16:45
161d87e
Compare
Choose a tag to compare

Bug Fixes

  • Instant subtraction may be overflowed in PingBalancer
    • When sslocal has set multiple remote servers and the host system just reboots, it will crash.

v1.13.0

28 Jan 02:16
73ad85d
Compare
Choose a tag to compare

Features

  • #706 balancer.check_best_interval could let ping balancer to ping only the choosen best server in this interval
  • Recommended: Set a shorter interval in balancer.check_best_interval than balancer.check_interval to check much frequently the best server.
    • balancer.check_interval controls the interval of checking all the available servers
    • When server start, the "check best" strategy starts after it receives enough data for estimating all servers' scores
  • #744 Refactored local-tun, using smoltcp as a user-space network stack

Miscelleneous

  • Upgrade clap (the command-line argument handling library) to v3.0
  • #739 Support K8S deployment
  • shadowsocks-crypto switch underlying encryption library to RustCrypto
    • Able to build with stable Rust
    • Build for target aarch64 with nightly, features "armv8 neon" should be enabled for hardware acceleration.

What's Changed

New Contributors

Full Changelog: v1.12.5...v1.13.0

v1.12.5

16 Dec 16:41
1012067
Compare
Choose a tag to compare

Bug Fixed

  • #725 High CPU consumption on Linux Kernel < 4.11 when TCP Fast Open is enabled.

What's Changed

New Contributors

Full Changelog: v1.12.4...v1.12.5

v1.12.4

28 Nov 07:02
d5c54af
Compare
Choose a tag to compare

Features

  • Configuration
    • ipv6_only configuration option setting IPV6_V6ONLY to all listener sockets that are listening to dual-stack address (::)
    • #700 Default configuration search path also includes $PWD
    • Log and Runtime related options could be configured via configuration file
  • #698 New binary ssservice with unified features in (sslocal, ssserver and ssmanager)
    • sslocal, ssserver, ssmanager may not be included in the release build in the future.
    • COMPATIBLE NOTE: ssservice can be served as any of the sslocal, ssserver and ssmanager, for example, ln -s ssservice sslocal and then run sslocal with exactly the same options as the standalone sslocal binary.

Bug Fixes

  • #694 UDP binds to dual-stack address (::) will detect 0.0.0.0 already in use automatically
  • Transparent Proxy (redir) local client will always set IPV6_V6ONLY for listeners that are listening on ::

Miscelleneous

  • Deprecating SS_LOG_VERBOSE_LEVEL and SS_LOG_WITHOUT_TIME (introduced in v1.12.3) in flavor of "log" in the configuration file

What's Changed

  • fixed UDP listener binds to dual-stack addresses (::) by @zonyitoo in #696
  • Support ipv6_only socket option (IPV6_V6ONLY) by @zonyitoo in #699
  • Local, Server & Manager unified binary ssservice by @zonyitoo in #701
  • "log" and "runtime" specific options configurable in file by @zonyitoo in #702

Full Changelog: v1.12.3...v1.12.4

v1.12.3

26 Nov 13:24
1eff9b1
Compare
Choose a tag to compare

Features

  • #688 Support default configuration file path for sslocal, ssserver and ssmanager
    • Linux: $XDG_CONFIG_PATH/shadowsocks-rust/config.json or $HOME/.config/shadowsocks-rust/config.json
    • Windows: {FOLDERID_RoamingAppData}\shadowsocks\shadowsocks-rust\config\config.json
    • macOS: $HOME/Library/Application Support/org.shadowsocks.shadowsocks-rust/config.json
    • *NIX: $XDG_CONFIG_PATH/shadowsocks-rust/config.json or $HOME/.config/shadowsocks-rust/config.json or /etc/shadowsocks-rust/config.json
  • #691 Manipulating default logging options (command line options -vvv and --log-without-time) with environment variable SS_LOG_VERBOSE_LEVEL and SS_LOG_WITHOUT_TIME
  • #419 Read servers' password from environment variables
    • Server created from command line argument without --password will try to read it from TTY
    • Servers' "password" field or --password option support ${VAR_NAME} format to read password from environment variable VAR_NAME

What's Changed

Full Changelog: v1.12.2...v1.12.3