Commit Graph
370 Commits
Author SHA1 Message Date
Tristan Schmelcher 1630764b02 Fix --mptcp on kernels with mainlined MPTCP.
Mainlined MPTCP on Linux 5.6+ is enabled with IPPROTO_MPTCP rather than setsockopt.
2022-05-23 09:11:50 +08:00
Fabrice Fontaine 0c23224e92 fix maybe-uninitialized errors
Set {listen,server}_sock to -1 when needed as already done in
src/manager.c by commit ecf1fcc845 to
avoid the following build failure:

local.c: In function 'create_and_bind':
local.c:218:12: error: 'listen_sock' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  218 |     return listen_sock;
      |            ^~~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/27471a878ff52a972ac087d534e44fb0c50808f6

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2022-04-11 08:28:07 +08:00
Max Lv b911755900 Remove the fragmentation check for the first AEAD chunk 2021-08-19 08:38:02 +08:00
Aven 4bbbe212eb Add support of nftables firewall
The change is to support the 'fail2ban' feature. Instead of
blocking IPs by server itself, server just add malicious IPs
to specified sets of nftables. So admin can configure rules
to deal with those IPs.

Notes: cap_net_admin capability is required.

Example configuration:
 # nft add table ip fail2ban
 # nft add chain ip fail2ban input { type filter hook input priority 0 \; }
 # nft add set ip fail2ban badips { type ipv4_addr \; flags dynamic, timeout \; timeout 1h \; }
 # nft add rule ip fail2ban input ip saddr @badips drop
 # ss-server -c config.json --nftables-sets badips
2021-07-01 12:05:39 +08:00
Not Sure b68157e6f7 Fix typo. 2020-12-23 07:13:14 +08:00
Not Sure 36d9993bbf Add --tcp-incoming-rcvbuf and --tcp-outgoing-rcvbuf which allow precise control over TCP receive buffers. 2020-12-23 07:13:14 +08:00
Not Sure 5617841694 Add --tcp-incoming-sndbuf and --tcp-outgoing-sndbuf which allow precise control over TCP send buffers.
- This is very useful in advanced scenarios such as ss-redir or chaining of servers using TPROXY
  to avoid bufferbloat-like performance degradation due to default large buffers of OS.
2020-12-23 07:13:14 +08:00
Max Lv aa9fe8cceb Fix #2692 2020-04-27 09:44:22 +08:00
Max Lv 8c251b2bc5 Fix build 2020-02-12 15:48:22 +08:00
babarosaM33 247d53098c server: replace memmove with idx 2020-01-19 09:46:18 +08:00
babarosaM33 b48dcddc6c server: fix setTosFromConnmark typo
Server made a connection to remote, remote replied with that connection.

nf_conntrack module would not check reply-dst and reply-src by default.

more information please refer to https://www.spinics.net/lists/netfilter/msg57842.html

As a result, src and dst should be swapped to make nf_conntrack find the connection.
2020-01-17 13:10:47 +08:00
Max Lv 6d73201b9a Fix #2539 2019-11-10 19:58:21 +08:00
Max Lv 1ba753adaa Fix #2536 2019-11-09 07:08:59 +08:00
Max Lv 22d5e59972 Remove request timeout 2019-10-30 09:44:58 +08:00
Max Lv 29936626b2 Refine the timeout logic 2019-10-12 17:13:28 +08:00
Max Lv 5da991a88c Refine the handling of fragment request 2019-10-12 08:18:45 +08:00
Max Lv 313b9a7086 Refine #2463, set default min timeout to 24h 2019-09-02 09:35:06 +08:00
Max Lv 03fb8c9f74 Revert "Add option '--long-idle' for server"
This reverts commit b4cda9dd42.
2019-09-02 09:25:30 +08:00
lixingcong b4cda9dd42 Add option '--long-idle' for server
Restore the default behavior handling timeout, make an option to enable
long idle connections.

Previously discussion:

https://github.com/shadowsocks/shadowsocks-libev/pull/2421

https://github.com/shadowsocks/shadowsocks-libev/issues/2427
2019-08-31 10:45:52 +08:00
Max Lv 1c4ddd3724 Fix #2449 2019-08-09 14:52:54 +08:00
Max Lv 64b97cd9a3 Clean up 2019-07-17 09:16:06 +08:00
Max Lv a5daf4d502 Fix #2427 2019-07-11 12:42:36 +08:00
Mygod ebdf27975c Allow long idle connections in server 2019-07-04 10:22:34 +08:00
Max Lv 6c28add775 Enable -Wcas-align for #2412 2019-06-30 21:34:35 +08:00
Max Lv a99c39c7dd Simplify the server auto blocking mechanism 2019-06-01 15:20:45 +08:00
Max Lv 4a42da641b Allow bind to local IPv4/v6 addresses. Fix #2372 2019-05-09 10:59:16 +08:00
Max Lv a7291ea725 Enlarge the socket buffer size to 16KB.
After five years, memory footprint is not a problem for most of
low-end boxes and high-end routers now.

It should also improve the speed on loopback and high-speed LAN
networks.
2019-04-30 09:22:54 +08:00
Max Lv f35c162357 Reduce size of UDP remote context 2019-03-24 22:15:25 -04:00
Chinsyo 7bd382042b bump copyright year 2019-03-21 12:39:29 +08:00
Max Lv 3fa9e57248 Refine ipv6only handling 2019-03-10 07:40:07 +08:00
Max Lv 14dd82045e Refine json config handling. #2308 2019-03-05 09:52:44 +08:00
Max Lv 144138788b Refine ipv6 only handling. #2300 2019-03-01 07:32:25 +08:00
Max Lv 404ec62b79 Fix #2285 2019-02-18 09:59:40 +08:00
Max Lv d217209271 Revert "Switch user before starting plugin server" (#2275) 2019-02-04 08:27:02 +08:00
poplite afeceeaf4d Switch user before starting plugin server 2019-02-03 23:32:52 +08:00
Max Lv 782311ad2b Refine ss_align interfaces 2019-01-22 12:59:29 +08:00
Max Lv d6b21daa9c Refine ACL log 2019-01-21 12:26:27 +08:00
Max Lv c33cf3efc0 Fix #2267 2019-01-21 12:12:42 +08:00
Mygod 641e4ed9c8 Refine passing plugin args
Refine 68f885c271. Somehow I postponed this change for 8 months. Good job me!
2019-01-17 00:48:29 +08:00
Gyt 84b157e866 add server port in log file 2018-11-26 21:16:25 +08:00
Max Lv 46ff0a8045 Refine #2162 2018-09-02 17:27:59 -07:00
Max Lv dd5e954ab4 Clean up 2018-09-02 17:21:23 -07:00
Max Lv 1dcfe68c8c Fix #2162 2018-09-02 12:43:37 +08:00
sxyoxygen 8356d8ae74 Update server.c 2018-08-08 01:56:12 +08:00
Yegor Ievlev 8fd83e2686 Use chacha20-ietf as a default cipher instead of rc4-md5 (#2080)
* Use chacha20-ietf as a default cipher instead of rc4-md5

* Update tunnel.c

* Update utils.c

* Update ss-local.asciidoc

* Update ss-local.asciidoc

* Update tunnel.c

* Update ss-tunnel.asciidoc

* Update ss-manager.asciidoc

* Update ss-redir.asciidoc

* Update shadowsocks-libev.asciidoc

* Update aead.c

* Update local.c

* Update server.c

* Update utils.c
2018-06-07 08:58:10 +08:00
Max Lv a0ef456977 Fix #2051 2018-05-24 16:54:57 +08:00
FlyingheartCN 662b6db3f3 Fix Build Fail with GCC8 2018-05-04 01:41:36 +08:00
Linus Yang 14fb82b966 Enable plugins on MinGW 2018-03-14 09:58:25 +08:00
Max Lv a377c5114a Fix #1974 2018-03-13 02:58:48 -07:00
Linus Yang 3f00e533bf Minor format fix 2018-03-12 13:16:37 +08:00