Commit Graph

23 Commits

Author SHA1 Message Date
DuckSoft
8ff69772ee fix sip002 wiki url 2021-04-01 16:19:40 +08:00
zonyitoo
32640208fa release v1.10.1 2021-03-26 23:00:04 +08:00
zonyitoo
ab7d19df64 ProtocolType::Dns exists only if feature local-dns enabled
- fixes #469
2021-03-26 19:59:34 +08:00
zonyitoo
7cd59966e3 sslocal checks instance argument requirements 2021-03-26 16:17:15 +08:00
zonyitoo
46a51c877f manager mode should be set after parameter MANAGER_ADDRESS 2021-03-14 20:57:48 +08:00
zonyitoo
68d315ecd6 expose dns in command line options 2021-03-14 17:59:27 +08:00
zonyitoo
0ac0f15459 allow setting mode independently for every locals and servers
ref #452

- adding `mode` in `locals` and `servers` extended format`
redir and tunnel supports customizing UDP binding address by `udp_addr`

BREAKING CHANGES:

- `sslocal` and `ssserver` command line option `-u` and `-U` can only
  control mode of command line specified local or server instance`
2021-03-14 17:09:41 +08:00
zonyitoo
6bebb6c6c0 support multiple local servers in configuration file
ref #452

- support `locals` in configuration file, running multiple local server
  instance simultaneously
- support `unix://` in `dns` configuration

BREAKING CHANGE:

- `sslocal`'s `--dns-addr` is now only available in Android
- shadowsocks-service's `Config` struct have lots of changes
2021-03-14 17:09:41 +08:00
zonyitoo
0f81561f2f suppress warning of unused Result 2021-02-19 11:20:11 +08:00
zonyitoo
39c8d5fb3c resolved OUTBOUND_BIND_INTERFACE duplication
ref shadowsocks/shadowsocks-android#2667
2021-02-08 09:33:53 +08:00
zonyitoo
1bb86e47b0 set IP_BOUND_IF for darwin (macos) 2021-02-06 00:03:08 +08:00
zonyitoo
dd830c70ae allow customizing worker-threads for multi-threaded scheduler
fixes #379
2021-01-09 10:43:11 +08:00
zonyitoo
47169d6fc1 BREAKING: completely deprecated local-dns-relay and single-threaded features 2021-01-04 22:01:34 +08:00
zonyitoo
d41404cbf9 Revert deprecation of UDS local DNS
- ref shadowsocks/shadowsocks-android#2650
- Server's builtin DNS will not use local-dns-addr
2021-01-04 19:43:47 +08:00
zonyitoo
7bf6d320a7 uses multi-threaded to enable tokio's multi-thread runtime
- single-threaded is kept for compatible
2021-01-03 11:21:29 +08:00
zonyitoo
c1bb097cfa Start single-threaded mode with command opt 2021-01-02 21:09:49 +08:00
zonyitoo
ea03dc2122 fix typo of inbound-recv-buffer-size outbound-recv-buffer-size, ref #352 2020-12-28 19:12:42 +08:00
ty
303f96c61f Upgrade to tokio 1.0 (#358)
* upgrade to tokio v1.0

- removed tokio::prelude
- upgrade hyper to v0.14, tokio-rustls to v0.22

still working on migrating trust-dns-* and tokio-native-tls

ref #354

* tokio v1.0 removed with_poll

fix #355, ref #354

* removed CTRL-BREAK signal handler

ref #354

* fixes compliation error, add missing return

fixes #355

* allow setting SO_SNDBUF and SO_RCVBUF for sockets

ref #352

* completely removed unix socket based DNS resolving

ref shadowsocks/shadowsocks-android#2622

* fix build issue on Windows

* fixed uds poll_write loop, fixed udp outbound loopback check

ref #355

* disable default trust-dns resolver for andorid, macos, ios

This commit also:

- Optimized resolve() logging with elapsed time
- updated tokio-native-tls

* local-dns removed from default features

* fix rustc version with rust-toolchain

* Bump bytes from 0.6.0 to 1.0.0

* add dependabot badge

* indirectly depend on trust_dns_proto via trust_dns_resolver

* auto reconnect if udp sendto failed

* recreate proxied socket if recv() returns failure

* increase score precision to 0.0001

* example of log4rs configuration

* PingBalancer instance shouldn't kill probing task when dropping

- Probing task should be controlled by the internal shared state

* switch to trust-dns main for latest tokio 1.0 support
2020-12-28 10:10:19 +08:00
ty
07583f3cc8 Refactored and separate library into crates (#345)
* Refactored and separate library into crates

- shadowsocks: the core feature of shadowsocks
- shadowsocks-service: library for building shadowsocks services
    - dns, http, redir, socks, tunnel
    - load balancer
- shadowsocks-rust: release binaries

fix #347

* unified DnsResolver implementation

* unified local service common parameters into ServiceContext

- ServiceContext is common parameters shared between all local
implementations
- Completely removed https local support

* add #292 reply attack protection

* migrated redir local server

* support customizing outbound socket bind address

* manager outbound socket should accepts connect_opts

* republic local implementations

* socks5 udp server should always listen to client address

* socks4 controlled by local-socks4 feature

* socks4 also obey mode configuration

* socks server tcp cannot be disable. add support of udp-bind-addr parameter

* add udp-bind-addr for customizing udp-relay bind-addr

* local-dns infra, support customizing resolver

* fully implements DNS relay server

* support binding to specific interface on Linux-like platform

* tcp cannot be disabled in socks

* enable local-flow-stat

* fixed windows build

* fixed android specific warnings and compile errors

* allow udp_only mode in socks5

* dns relay listens to both TCP and UDP, mode controls outbound upstreams

* dns relay retries twice if request failed

* doc

* fix DnsClient typo

* fix stream EncryptWriter bug

* allow disable logging output

updated dependencies

* add readme

* refine doc

* remove depending on trust-dns-client

* socks4/4a client

* allow socks5 udp_only mode, fixes compile warning

* create standalone socks5 UDP relay server

- socks5 UDP association full cone (NAT2)

* server udp relay supports full cone (NAT2)

* acl moved to crate root

* redir udp relay support full cone (NAT2)

* standard socks5 udp test must use tcp_and_udp mode

* set server context fields with pub APIs

* udp_max_associations and udp_timeout default value set in Config

* local dns resolver retry with fixed attempts

* max_udp_association keeps unlimited by default

* fixed logging binary name

* pops first exited future result for local and server

* update reverse target index cache

* fix ProxyClientStreamWriteHalf that allows sending empty buffers

ref #232

* remove unused import when socks4 is disabled

* make balancer become a globally shared object

* print plugin exit status

* control local, server, manager services in features
2020-12-20 19:06:21 +08:00
zonyitoo
b0aeb128ab Removed duplicated shadowsocks Logger
- fix #337
2020-12-02 12:53:38 +08:00
zonyitoo
6880c5892c Renamed library back to shadowsocks
- ref #326
- Binary crate will keep shadowsocks-rust's name
2020-12-01 09:09:46 +08:00
zonyitoo
22c0180232 Enables shadowsocks-core logging by default 2020-11-29 00:45:32 +08:00
zonyitoo
4a4576bcf5 Split library and binaries into separated crates
- shadowsocks-core is a library contains all necessary functions for
running shadowsocks

- shadowsocks is a binary crate that ships end-user products

ref #326
2020-11-29 00:12:16 +08:00