Commit Graph
119 Commits
Author SHA1 Message Date
dependabot[bot] e9869ee2f8 Bump trust-dns-resolver from 0.20.2 to 0.20.3
Bumps [trust-dns-resolver](https://github.com/bluejekyll/trust-dns) from 0.20.2 to 0.20.3.
- [Release notes](https://github.com/bluejekyll/trust-dns/releases)
- [Changelog](https://github.com/bluejekyll/trust-dns/blob/v0.20.3/CHANGELOG.md)
- [Commits](https://github.com/bluejekyll/trust-dns/compare/v0.20.2...v0.20.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-17 21:50:46 +08:00
zonyitoo 39c484f264 fixed clippy warnings 2021-05-16 01:27:14 +08:00
zonyitoo f0f1ab59cd properly set available redir types for TCP and UDP separately 2021-05-15 00:40:21 +08:00
zonyitoo 0af3aff112 release v1.11.0 2021-05-14 12:44:49 +08:00
zonyitoo 9ef26b57e4 avoid divide by zero, limits user weight to EPSILON 2021-05-07 13:43:40 +08:00
zonyitoo b06391c7b3 bypassing DNS queries of remote servers' address
- ref shadowsocks/shadowsocks-android#2722
2021-05-07 13:32:47 +08:00
zonyitoo d476ef35b0 fixed score calculation, user_weight should be divider 2021-05-07 12:44:14 +08:00
zonyitoo 032aba58fa make clippy happy 2021-05-07 11:55:16 +08:00
zonyitoo e8772950fb allow customizing servers' weight for balancer
- fixes #510
2021-05-07 11:35:35 +08:00
zonyitoo e167d7814f reverted LFU strategy for UDP management
LFU cache was getting more troubles than benefits
2021-04-28 23:06:07 +08:00
zonyitoo 04bddab6c0 record every resolved target SocketAddr 2021-04-28 14:48:39 +08:00
zonyitoo 7b3415f3b4 trigger CI to address dead lock 2021-04-28 14:29:38 +08:00
zonyitoo d69a2fa544 add recv log for UDP remote-to-local task 2021-04-28 13:06:34 +08:00
ty 4dfcc8e036 Manage UDP associations with LFU strategy (#506)
* manage UDP associations with LFU

- DNS associations could be evicted firstly then others like HTTP/3

* UDP redir caches inbound non-local socket

- Optimization: prevent creating new sockets for the same remotes

* updated libc to v0.2.94 for unified TCP options

* make clippy happy

* Pin lfu-cache to v1.2.1 for edward-shen/lfu-cache#2

* UDP target should cache with expiration 1hrs

* UDP tunnel test with an echo server

- CI crashes occasionally because of 8.8.8.8:53 doesn't respond
2021-04-28 01:27:33 +08:00
zonyitoo 89b329c1ed send syn after 500ms if TFO is enabled for server
- ref #232
2021-04-26 00:38:08 +08:00
ty 8a27bb296c support TFO on Linux, FreeBSD, macOS and Windows (#487)
- ref #184
2021-04-25 23:31:13 +08:00
zonyitoo 423bde10a9 enable features for docrs 2021-04-24 00:24:35 +08:00
zonyitoo df83d24c5f release v1.10.9 2021-04-23 23:58:08 +08:00
zonyitoo 665027a708 HTTP proxy preserves headers' title case
- fixes #491
- ref hyperium/hyper#2313
2021-04-23 10:27:04 +08:00
zonyitoo 40764b70aa update shadowsocks-crypto to v0.2.1
- updated crypto2 to 0.1.2
- support AEAD extra ciphers with aead-cipher-extra
- fixes shadowsocks/shadowsocks-android#2663
- ref shadowsocks/shadowsocks-crypto#8
2021-04-17 21:28:24 +08:00
zonyitoo bbf8fb30a3 make clippy happier 2021-04-15 18:44:59 +08:00
zonyitoo 1d3e6b77fe fixed local-redir compatibility build on windows 2021-04-15 17:58:29 +08:00
zonyitoo 67179c10ee rustls doesnt support webpki 0.22 2021-04-15 17:15:58 +08:00
zonyitoo ca85b6a65b make clippy happy
- allow clippy::collapsible_else_if, useful in separating feature blocks
2021-04-15 16:46:57 +08:00
zonyitoo a79517af6c Lower log level of early EOF while handshaking
- ref #490
- Enable clippy on github action
2021-04-15 14:12:46 +08:00
dependabot-preview[bot] e349a35b19 Bump webpki-roots from 0.21.1 to 0.22.0
Bumps [webpki-roots](https://github.com/ctz/webpki-roots) from 0.21.1 to 0.22.0.
- [Release notes](https://github.com/ctz/webpki-roots/releases)
- [Commits](https://github.com/ctz/webpki-roots/compare/v/0.21.1...v/0.22.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-12 17:33:38 +08:00
zonyitoo 50286dc9d9 free the memory of clap after parsing options
- --nofile is now only existed in *nix build except Android
2021-04-11 20:03:04 +08:00
zonyitoo f805b5d350 Fixed bug, concatenated buffer kept available before first write successfully 2021-04-10 09:22:53 +08:00
zonyitoo 1746c624fc release v1.10.4 2021-04-09 17:25:04 +08:00
zonyitoo 8e54d9940e fixed bug. ProxyClientStream write may missed the addr if send() returns EAGAIN 2021-04-09 17:20:00 +08:00
zonyitoo c4f0687309 support "protocol" in basic configuration format
- fixes #485
2021-04-07 22:21:46 +08:00
zonyitoo 81cd368172 replaced lazy_static with once_cell 2021-04-02 10:19:20 +08:00
DuckSoft b0de896c16 don't panic when sip002 account is invalid 2021-04-01 17:05:19 +08:00
zonyitoo 7b493baa71 fixed basic config format mode for local instance
- release v1.10.2
2021-03-28 11:13:01 +08:00
zonyitoo a2a5a66d10 fixed compile warnings 2021-03-27 00:16:51 +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 0b1630d1c6 msg_controllen has type socklen_t in musl and ulibc arm 2021-03-23 22:00:48 +08:00
zonyitoo c6d70f3786 PingBalancer fixed 2nd check after sleep
- Updated shadowsocks-crypto to v0.2.0
- Updated other dependencies with minor changes
2021-03-23 14:21:42 +08:00
zonyitoo 587e566fa3 convert libc sockaddr to SocketAddr explicitly
SocketAddr may not have the same layout as libc, rust-lang/rust#78802

- fixes #462
- ref tokio-rs/mio#1388, rust-lang/socket2#120
2021-03-22 09:35:45 +08:00
dependabot-preview[bot] bf409c20a1 Bump spin from 0.8.0 to 0.9.0
Bumps [spin](https://github.com/mvdnes/spin-rs) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/mvdnes/spin-rs/releases)
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdnes/spin-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-19 17:45:33 +08:00
zonyitoo 4e8e4fe75e updated dependencies, spin v0.8, trust-dns supports quad9_https predefined DNS 2021-03-16 18:25:23 +08:00
zonyitoo fd926bb8d7 update socket2 to v0.4
- Domain uses IPV4 and IPV6
- Type uses DGRAM
- Protocol uses UDP and TCP
- into_udp_socket uses Into::into

fixes #456
2021-03-15 16:15:06 +08:00
zonyitoo 68d315ecd6 expose dns in command line options 2021-03-14 17:59:27 +08:00
zonyitoo 435de948b9 updated dependencies, tokio v1.3 2021-03-14 17:09:41 +08:00
zonyitoo dbe51e466d check server config is_basic 2021-03-14 17:09:41 +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 b632d35689 redir local converts IPv4-mapped IPv6 addresses to IPv4
- Dual-stack IPv6 will always return destination addresses in IPv4-mapped
  IPv6 addresses
2021-03-12 01:08:21 +08:00
zonyitoo 7700c94ae0 print server remarks info when switching 2021-03-08 22:07:09 +08:00