18 Commits

Author SHA1 Message Date
zonyitoo
bb276eda01 chore: example.com returns HTTP/1.1 2025-12-11 07:54:16 +08:00
zonyitoo
12c4ff2593 feat: add MakeSocketProtect and docs, reformatted 2025-06-19 00:33:20 +08:00
Aaron Chen
842fba0e25 chore: make clippy happy (#1955) 2025-05-18 17:17:19 +08:00
ty
9eefc2db3e feat: update hickory-resolver v0.25 public release
- ref hickory-dns/hickory-dns#2206

reformatted with 1.85 new formatter
2025-03-19 12:50:53 +08:00
Integral
6b672233ec refactor: replace static with const for constants (#1805) 2024-12-09 10:26:09 +08:00
zonyitoo
c85a74194f feat(shadowsocks): ServerConfig::new returns Result
- fix #1770
- allow users to check errors instead of just panic on wrong passwords
2024-11-17 01:18:05 +08:00
zonyitoo
3ccedeae28 fix: method none skip key derivation process 2024-11-02 23:01:24 +08:00
zonyitoo
85b6e47bbc fix: tests add aead-cipher feature gate 2024-11-02 22:43:58 +08:00
Aaron Chen
fbf968f14a chore: clippy fix (#1695) 2024-10-01 21:55:39 +08:00
zonyitoo
60d0576b26 feat(shadowsocks): DatagramTransport & DatagramTransportExt
ProxySocket and MonProxySocket accepts socket as a generic type that
implements DatagramTransport.
2024-09-21 00:03:50 +08:00
zonyitoo
29fc232e1f chore: imports_granularity set to default
- imports_granularity is still unstable since 2021:
  https://rust-lang.github.io/rustfmt/?version=v1.6.0&search=#imports_granularity
2024-08-07 00:17:00 +08:00
zonyitoo
995e3f3478 tcp-tfo test should handshake first 2022-04-22 13:25:53 +08:00
ty
7c154d2340 AEAD-2022 ciphers (new protocol) (#811) 2022-04-19 11:48:43 +08:00
zonyitoo
1a3aac0c10 Revert "completely remove the behavior of replay attack detection"
This reverts commit 90f05a5a0b.

We still need replay attack protection in the future, so the Context
is still required in the whole API design.
2021-09-29 01:31:50 +08:00
zonyitoo
90f05a5a0b completely remove the behavior of replay attack detection
ref #556
2021-09-28 16:02:33 +08:00
ty
8a27bb296c support TFO on Linux, FreeBSD, macOS and Windows (#487)
- ref #184
2021-04-25 23:31:13 +08:00
zonyitoo
9000b31ffb Disable deprecated stream ciphers by default
- Enable stream ciphers explicitly with stream-cipher feature
- Upgraded shadowsocks-crypto to v0.1.2

fixes #373
2021-01-04 23:09:12 +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