Commit Graph
2520 Commits
Author SHA1 Message Date
Maxim Galaganov 9eeadf9137 Add submodules to git safe.directory for .copr build 2022-06-26 06:21:12 +08:00
Maxim Galaganov d61d09aa0c Detect kernel support for MPTCP at runtime 2022-06-23 10:38:32 +08:00
zonyitoo 01dd7df1da Redir UDP send back sockets should always be IPv6
ref shadowsocks/shadowsocks-rust#855

When receiving UDP packets from remote servers, Redir will have to
create transparent sockets to bind() on those target addresses and then
relay data back to the local client. Target addresses may be IPv4 or
IPv6 addresses, so we may have to create that transprent sockets based
on the target addresses' family.

The most simpliest and easiest way is to always create IPv6 sockets and
converts IPv4 binding addresses and peer addresses to IPv4-mapped-IPv6.
2022-06-04 16:48:45 +08:00
Bill Zhong c2fc967c1a fix .copr build 2022-05-29 08:51:29 +08:00
Chen Shaoju 90f21abc2d Update README.md
Update the PKGBUILD url.
2022-05-29 08:50:41 +08:00
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
Alexandre ABRIOUX e21f8248b6 fix: being able to use empty DNS_ADDRS with docker image 2022-04-11 08:32:33 +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 46382c23fa Disable fragmentation for all the outgoing UDP packets 2022-02-15 11:48:43 +08:00
Paul "Joey" Clark 3654658111 Add git submodule to the build docs
This confused me, and looking at the issues, it has confused other people as well. [1](https://github.com/shadowsocks/shadowsocks-libev/issues/2758)

I'm not sure if we can automate it though, e.g. in `autogen.sh`. Because some people might want to build with a modified version of the libraries.

Perhaps we could automatically fetch the submodules IF we see they are empty...

Anyway, for now, we can at least document this step.
2021-08-27 08:11:33 +08:00
Max Lv b911755900 Remove the fragmentation check for the first AEAD chunk 2021-08-19 08:38:02 +08:00
Gilles Depeyrot abcf85e983 fix order of tests to avoid strstr on NULL value 2021-07-16 09:36:54 +08:00
Gilles Depeyrot 0a7d178134 properly terminate string which recvfrom does not do 2021-07-16 09:36:26 +08:00
Gilles Depeyrot 49ead5e570 apply memory leak fix for create_and_bind to create_server_socket 2021-07-16 09:36:07 +08:00
Gilles Depeyrot a19328a977 close socket to avoid memory leak when error occurs 2021-07-16 09:35:39 +08:00
Gilles Depeyrot 8bcffa54b5 fix check for return value of open when redirecting to null device 2021-07-16 09:34:57 +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
Max Lv d1171f44d0 Revert ""DynamicUser=true" makes "/etc/init.d/shadowsocks-libev start" fail."
This reverts commit ca4caabac6.
2021-05-13 12:33:57 +08:00
lixingcong ed23402637 Fix memory leak in manager 2021-05-12 16:13:10 +08:00
abner_bob ca4caabac6 "DynamicUser=true" makes "/etc/init.d/shadowsocks-libev start" fail. 2021-05-12 16:12:56 +08:00
dependabot[bot] 16867e1c73 Bump docker/setup-qemu-action from 1 to 1.1.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 1.1.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v1.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 16:12:11 +08:00
dependabot[bot] 3b3ba96210 Bump actions/checkout from 2 to 2.3.4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 2.3.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v2.3.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 16:11:53 +08:00
dependabot[bot] a4a8fc1e04 Bump docker/login-action from 1 to 1.9.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 1.9.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v1.9.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 16:11:44 +08:00
dependabot[bot] ada0bae70a Bump docker/build-push-action from 2 to 2.4.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 2.4.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v2...v2.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 16:11:28 +08:00
dependabot[bot] da3aa4d6b9 Bump docker/setup-buildx-action from 1 to 1.3.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 1.3.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v1.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 16:10:37 +08:00
Maxim Shpak 6329526199 Run systemd service after network is available (unit file fix)
There is a race condition between shadowsocks-libev.service and
systemd-resolved.service after reboot/on boot. The shadowsocks
service tries to start before the dns service is started properly
and fails showing the corresponding errors in the logs.
2021-03-31 07:39:59 +08:00
lixingcong e04b73d1b6 Fix memory leak 2021-03-17 09:54:43 +08:00
Fabrice Fontaine 7e5922aa44 configure.ac: use pkg-config to find netfilter_conntrack
Use pkg-config to retrieve the dependencies of netfilter_conntrack
and avoid the following build failure when building statically:

configure:13096: /data/buildroot-test/instance-1/output-1/host/bin/x86_64-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -static -I/data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include -DPCRE_STATIC -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -static -L/data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib conftest.c -lnetfilter_conntrack -lnfnetlink -lev  -lcares -lsodium -lmbedcrypto -lpcre  >&5
/data/buildroot-test/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: /data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libnetfilter_conntrack.a(api.o): in function `nfct_fill_hdr.constprop.4':
api.c:(.text+0x3f): undefined reference to `mnl_nlmsg_put_header'

Fixes:
 - http://autobuild.buildroot.org/results/6cad497a7ab941a0ee3fd7007defc81e30cdcbe0

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-03-11 12:20:18 +08:00
t0nyt4ng 8e0fe4e6a2 update libsodium url
libsodium 1.0.16 has been removed to the old release
2021-03-11 12:19:50 +08:00
Jared Pyzynski 13f472077d Fix "ERROR: [udp] remote_recv_bind: Address already in use" when multiple reuse_port-enabled ss-redir instances are listening on the same address 2021-01-30 07:27:00 +08:00
Roger Shimizu cfe0c2cba0 Fix ftbfs for Hurd since there is no IPV6_TCLASS defined 2021-01-09 14:53:48 -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 920dbac0d3 Missing config file parsing logic. 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 aed81a1c2b Create FUNDING.yml 2020-12-13 18:19:43 +08:00
Max Lv 89b5f987d6 Merge pull request #2762 from thesamhurwitz/manager-iface-option
Fix manager not passing -i option
2020-10-19 09:54:01 +08:00
SamHurwitz 72db525aac Fix manager not passing -i option 2020-10-17 14:58:31 +05:00
Max Lv b5d6225863 Merge pull request #2759 from morlay/master
bump workflow actions to docker official provided
2020-09-30 09:52:51 +08:00
Morlay 53ca5eb2d3 bump workflow actions to docker official provided 2020-09-30 09:30:22 +08:00
Max Lv 8be4f19758 Merge pull request #2753 from JohnTheNerd/password-file
added support for Docker secrets and password file in the Docker image
2020-09-21 14:58:04 +08:00
John 2a249b0bac added support for Docker secrets and password file in the Docker image
this means we no longer have to hardcode the password in the docker-compose file, and can treat the file as configuration rather than a secret.
2020-09-19 16:10:26 -02:30
Max Lv 8285e5a7de Bump version v3.3.5 2020-09-15 10:30:48 +08:00
babarosaM33 a727596faa jconf: fix memory leak 2020-08-04 21:56:45 +08:00
Max Lv 31dd81649d Merge pull request #2736 from zfl9/master
Add TPROXY support for TCP (ss-redir)
2020-07-20 16:24:19 +08:00
zfl9 03df264fcd add tcp_tproxy option, add a sample script in readme.md 2020-07-18 21:09:08 +08:00
zfl9 cde88d4074 add tcp_tproxy option, README.md update 2020-07-18 17:10:37 +08:00
zfl9 6d4a3ad82c add tcp_tproxy option, asciidoc update 2020-07-18 17:08:56 +08:00
zfl9 37cdf8d45a add tcp_tproxy option, completions bash/zsh 2020-07-18 17:00:18 +08:00
zfl9 78784507f1 add tcp_tproxy option, use tproxy instead of redirect (tcp) 2020-07-18 16:23:21 +08:00