* [POC] basic implementation of TCP redirecting tun (#581)
* [POC] basic implementation of UDP redirection of Tun
* build with action
* add configuration interface for tun
* refine document and command line options
* outbound-bind-addr instead of reusing local_address for outbound sockets
* support customizing udp expiry and capacity
* make clippy happy
* fixed build error for Android
* add docs
* make a customized AsyncFd with the released tun crate
* TUN_INTERFACE_NAME to_owned directly
* ignore accept errors for tcp tun
* tun supports Android only on master branch
* android doesnt support setting IFF_NO_PI
* set route for macos automatically when creating tun
* set route for macos directly with PF_ROUTE
* Linux-like uses ETH_P_IP and ETH_P_IPV6
* use tun on crates.io and ignores Android support temporary
* update dependencies
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
* 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
* 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
- shadowsocks-core is a library contains all necessary functions for
running shadowsocks
- shadowsocks is a binary crate that ships end-user products
ref #326