Commit Graph
799 Commits
Author SHA1 Message Date
zonyitoo b226d2a50d [#273] Use AtomicUsize for maximum compatibility 2020-08-06 22:10:22 +08:00
zonyitoo 23c2695b3d Support mimalloc and tcmalloc 2020-08-04 00:08:49 +08:00
Stzx f6565fb948 Refactor some code 2020-08-03 23:46:50 +08:00
zonyitoo 357e1a06f5 Uses tokio *_buf APIs for better styling, kill plugins when Dropped 2020-08-03 02:09:17 +08:00
zonyitoo 7eac5416b3 Optimize ring AEAD cipher data copy 2020-07-24 19:22:07 +08:00
Max Lv e39de3416f Remove the VPN option hack 2020-07-23 11:05:41 +08:00
Max Lv edf69098f4 Fix the tx/rx update in ProxyStream 2020-07-20 10:37:35 +08:00
Max Lv b56eaac692 Revert "Fix tx/rx order for android RPC"
This reverts commit 205eaa95ad.
2020-07-20 10:37:35 +08:00
zonyitoo 5324ab7829 Removed unnecessary ACL cache 2020-07-13 23:03:14 +08:00
zonyitoo 1f29c73111 fix #277, compilation error for feature=local-dns-relay 2020-07-07 01:47:22 +08:00
zonyitoo ad12d59d12 AEAD TCP protocol should check the reserved higher 2 bits
- https://shadowsocks.org/en/spec/AEAD-Ciphers.html
- Higher 2 bits are reserved for future use
2020-07-04 22:11:43 +08:00
zonyitoo a940a4085f [#272] Support customizing manager created server's bind address 2020-06-28 21:05:18 +08:00
zonyitoo 2765766772 Print error when server exited unexpectly 2020-06-21 22:18:22 +08:00
zonyitoo a27c3902e0 Do not panic for listen error 2020-06-21 22:03:41 +08:00
zonyitoo 1a9529b43f Add necessary INFO log for ssmanager 2020-06-20 10:23:30 +08:00
zonyitoo 66fcb5947b User abortable for killing servers 2020-06-20 02:23:28 +08:00
zonyitoo c84387dc8c Cache recently ACL checking results
ACL checking may requires lots of calculation and network I/O (DNS resolution)
2020-06-15 09:13:55 +08:00
zonyitoo d3e2922120 Logging elapse time for DNS resolving and ACL checking
fix #269
2020-06-11 22:56:06 +08:00
zonyitoo edab23bf94 Enable jemalloc by feature. Enable parking_lot feature for tokio
ref: #174
2020-06-09 23:08:36 +08:00
zonyitoo d231c7f3fe Direct send for none ciphers, prevent unnecessary data copy 2020-06-07 12:38:37 +08:00
Taiki Endo 34f1728cfb Remove uses of pin_project::project attribute
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: https://github.com/taiki-e/pin-project/issues/225
2020-06-06 13:44:30 +08:00
zonyitoo 62832b9ad9 [#149] Setting timeout, udp_timeout, udp_max_associations from opt
Add ManagerConfig for encapsulating add manager's options
Removed Config.timeout, servers should always use ServerConfig.timeout
2020-06-01 21:55:00 +08:00
zonyitoo f9ed9d35ea Fixed error messages 2020-06-01 00:09:27 +08:00
zonyitoo 07307fc4e8 [#260] Support HTTPS local with rustls 2020-06-01 00:02:07 +08:00
zonyitoo 5a1d9efd83 [#260] Support HTTPS local server with native-tls 2020-05-31 22:50:17 +08:00
zonyitoo ab41fbcf17 Trim IPv6 host with trim_end_matches 2020-05-31 12:40:10 +08:00
zonyitoo 99fb4341d2 Preallocate buffer with Vec::with_capacity 2020-05-30 00:54:32 +08:00
zonyitoo 4140b21a4a Proxies everything if there is no ACL configured
Avoid creating an useless socket for bypass addresses
2020-05-30 00:40:20 +08:00
zonyitoo 1b6b0366fb Hide all socks4 implementations behind feature 2020-05-27 01:07:30 +08:00
zonyitoo 5ef6c8821e Revert "UDP associations' default timeout to be 15 seconds"
This reverts commit 98474e2329.
2020-05-25 09:32:46 +08:00
zonyitoo 98474e2329 UDP associations' default timeout to be 15 seconds
ref #262
2020-05-24 16:22:17 +08:00
zonyitoo 1f75f7a6b0 Optimized UDP association debug log 2020-05-24 16:12:59 +08:00
zonyitoo 688b4f235e More specific log for association closing 2020-05-24 11:24:49 +08:00
zonyitoo 086f35eb63 associate_with_acl also requires connect()
fixed tests
2020-05-24 04:13:27 +08:00
Mygod 5ddaf21447 Connect UDP sockets
Fixes #263.
2020-05-23 13:38:01 -04:00
zonyitoo 3b47fa67fa Unified server and local association manager implementation 2020-05-24 01:03:38 +08:00
zonyitoo b3052199df Encapsulate ProxyAssociation management logic 2020-05-24 00:25:30 +08:00
zonyitoo 520018d30a Add socks version in INFO 2020-05-22 21:49:05 +08:00
Mygod 4a1312c862 Fix build 2020-05-22 16:03:46 +08:00
Mygod 7917683121 Reduce unnecessary cloning 2020-05-22 16:03:46 +08:00
Mygod 69b0370441 Refine cache key for assoc_map 2020-05-21 22:06:34 +08:00
Mygod cea84e1690 Remove unnecessary wakeups from UDP 2020-05-21 22:06:34 +08:00
Mygod ab80e40dbb Warn when using tokio DNS resolver
Fixes #208.
2020-05-21 22:04:24 +08:00
zonyitoo 227cf267be Support SOCKS4/4a protocol
fix #233
2020-05-20 00:36:35 +08:00
Mygod f990462858 Support MX and NS records 2020-05-17 22:04:12 +08:00
Mygod 9a1b34f88e Check rec.name() in answers 2020-05-17 22:04:12 +08:00
Mygod 59d1535e18 Be more conservative when skipping resolving
As we examine CNAME records in answer section and possibly A/AAAA records in additional section, we should only skip the second stage only if the entire ACL is empty.
2020-05-17 09:32:40 +08:00
zonyitoo ce1e58641d Fixed typo 2020-05-16 01:37:41 +08:00
zonyitoo c825503b09 [#252] Changed config name to udp_max_associations 2020-05-15 23:53:07 +08:00
Alex aa99974706 Add option for max number of UDP associations 2020-05-15 23:39:53 +08:00