Commit Graph
298 Commits
Author SHA1 Message Date
Max Lv aebb79c222 Refine build on platform without TCP_FASTOPEN 2017-11-27 14:02:11 +08:00
Max Lv 42b29fbb63 Fix cmake builds 2017-11-27 12:13:04 +08:00
Max Lv 6eb93c4c4e Fix conditional build for new TFO API 2017-11-26 23:31:19 +08:00
Max Lv 9ac81759df Refine TFO on Darwin 2017-11-26 14:43:50 +08:00
Max Lv d445ea938b Refine TFO interface. #1800 2017-11-26 13:12:00 +08:00
星野ハジメ cc1bb4cf62 format with .uncrustify.cfg (#1759)
* format with .uncrustify.cfg

format with .uncrustify.cfg

* format with .uncrustify.cfg

* format with .uncrustify.cfg exclude json.* base64.* uthash.h

* format with .uncrustify.cfg exclude json.* base64.* uthash.h
2017-10-30 21:28:53 +08:00
Max Lv 26ae365f7b Refine #1756 2017-10-30 18:02:59 +08:00
星野ハジメ 44027da326 enable TCP_NODELAY from config file (#1757)
* Fix #1739

Refine #1739

* enable TCP_NODELAY from config file
2017-10-30 10:35:14 +08:00
Vladimir Olteanu 82694c8f19 properly set recv_ctx->connected 2017-09-16 14:19:43 +08:00
Max Lv 666801ddfc Disable addr reconstruction on Android 2017-09-15 10:19:03 +08:00
Vladimir Olteanu 1c64829dfa Add command-line argument for keeping TCP_NODELAY (#1685) 2017-09-15 09:17:00 +08:00
linxiaocong da4bbe74fb fix segment fault when plugin and multi remote servers enabled 2017-09-10 14:56:25 +08:00
Vladimir Olteanu 9201619090 ss-local: properly handle SOCKS5
* close the connection if the client doesn't speak SOCKS5
 * check if client supports "no auth. required"
2017-09-04 15:28:07 +08:00
Max Lv ede744ae7c Add c-ares support (#1655)
* Replace udns with c-ares

* Get IO loop work

* Clean up

* Avoid initializing nameservers each query

* Add ARES_OPT_SERVERS

* Refine resolv_cancel

* Fix a memory leak

* Replace udns.h with ares.h

* Fix all inet_* fucntions

* Clean up

* Enable servers_ports when VERSION_MINOR >= 11

* Avoid ares_inet_XtoX

* Handle multipe nameservers correctly

* Use ares_set_servers for IPv4 and IPv6 mixed list

* Refine c-ares for udprelay

* Refine ares_set_servers()

* Refine the timer based on ares_timeout

* Avoid resolv_cancel

* Fix an issue of null pointer

* Fix another null pointer issue

* Refine the order of resolv_shutdown

* Fix the corrupted ev io
2017-08-31 09:16:07 +08:00
Yousong Zhou db1728c76d decouple use_syslog from pid_flags
Sometimes we need processes to run in the foreground to be supervised
and at the same time use syslog facility instead of logging its stdout,
stderr output
2017-08-01 22:59:38 -07:00
Yifu Yu 4ea517daf3 Fix: ss-local and ss-redir should also respect ipv6_first. 2017-07-14 01:51:35 -05:00
Vladimir Olteanu 556627399e parsing socks 5 request: more suggestive code 2017-07-04 23:57:21 -05:00
Vladimir Olteanu afb27ad054 count length bit when checking buffer size 2017-07-04 23:57:21 -05:00
Max Lv b7bdb16338 Fix #1502 2017-05-19 12:27:19 +08:00
Mygod 72622a3e3d Use standard __ANDROID__ preprocessor macro 2017-05-17 07:08:41 +08:00
Max Lv 33fe5adc19 Remove debug info 2017-05-06 07:30:30 +08:00
Max Lv 0313c8bcc6 Fix stat_update_cb for UDP packets 2017-05-06 07:24:12 +08:00
Max Lv 3f0d39aee6 Fix #1491 2017-05-03 15:36:58 +08:00
Vladimir Olteanu c6bc21bc1a Make use of struct when parsing method select requests 2017-04-27 07:45:26 +08:00
Daniel b918fd7a77 aviod twice resolving when domain has bypassed ip 2017-04-25 07:13:27 +08:00
Daniel 81006d4690 resolve when acl_match_host failed 2017-04-23 16:46:23 +08:00
Daniel 54acbba2a7 resolve domain so we can bypass domain with geoip 2017-04-23 16:46:23 +08:00
Max Lv 5b2fb72b14 Refine interface 2017-03-27 13:09:29 +08:00
Max Lv 087bfe7f91 Stop the timer properly 2017-03-19 17:19:49 +08:00
Max Lv fa82628dd9 Add delayed connect to ss-local as well 2017-03-17 09:54:20 +08:00
Max Lv 5e13d396ee Refine port binding 2017-03-07 12:05:07 +08:00
Max Lv de0cebb62e Fix a building issue 2017-03-05 16:07:10 +08:00
Max Lv 9241e545f4 Don't apply ACL on DNS port on Android 2017-03-05 15:59:07 +08:00
Sebastien DUPONCHEEL 5074cd336d mptcp: make shadowsocks kernel independant 2017-03-03 20:14:00 +08:00
Max Lv 997ac83702 Fix #1296 2017-02-24 15:57:01 +08:00
Max Lv b655fb2b8f Replace nonce cache with a ping-pong bloom filter (#1282)
* Add Ping-Pong bloom filter

* Refine bloom filter insertion

* Reduce the error rate to 0.00001

* Avoid alignment issue in murmurhash2

* Fix a memory leak

* Fix build on non-GPU targets

* Detect get_current_dir_name in configure

* Update README.md

* Remove redudant bfree()

* Reduce the memory usage for local client

* Fix #1275

* Refine #1275

* Use IP when bypassing SNI domains

* Also apply replay detector on UDP traffic

* Update deb build script

Now build script is able to auto detect system and choose libraries
necessary to build.

Also update the README accordingly.

* Update build script to enable jessie/stretch etc

Also include a few cleanup that simplified pkg installation from
backports repository.
2017-02-20 10:29:32 +08:00
Max Lv d434cd20ec Fix a memory leak 2017-02-17 12:31:22 +08:00
Max Lv ef0402eb10 Add --key option to set key directly (#1207) 2017-02-06 17:02:04 +08:00
Max Lv f45c150e02 Fix redundant options 2017-02-04 09:23:22 +08:00
Max Lv a906d0cfc8 Fix UDP relay issue on Android 2017-02-03 12:33:28 +08:00
Max Lv 7b290f30d6 Make SO_REUSEPORT disabled by default 2017-02-02 21:05:57 +08:00
Max Lv 56658d1c79 Merge pull request #1152 from shadowsocks/sip004
Add AEAD support
2017-02-01 18:19:40 +08:00
anonymous-contributor 98c51cd0d5 Obfsproxy standalone mode (#1156)
* ss-libev: Introduce mode parameter for start_plugin

Since obfsproxy handles client and server in different ways, no matter
standalone or manged mode, so introduce the mode for start_plugin() to
support obfsproxy.

With more comments added to plugin.h for later developers.

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>

* ss-libev: Move SS protocol plugin initialization code to start_ss_plugin

Move SS protocol plugin initialization to start_ss_plugin() function, as
the support for obfsproxy will not use that environment.

Also, remove the use of get_current_dir_name() which is a glibc
extension, such macro hack will just make code less readable.
Not to mention it already screw up code folding of vim.

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>

* ss-libev: Introduce obfsproxy standalone mode support as plugin

Now shadowsocks-libev supports to use obfsproxy as plugin.

Currently we only support to use standalone(proxy) mode of obfsproxy, as
managed mode needs to use SOCKS5 as upstream forward, while ss-libev
doesn't support it yet.

And the output from plugin is just trashed for now.
Support to pipe them into stdout/stderr will be added later.

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>

* ss-libev: doc: Fix wrong cmdline parameter for plugin options

Command line option for plugin options is "--plugin-opts", not the json
option "--plugin_opts"

Fix it.

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
2017-02-01 18:18:43 +08:00
anonymous-contributor a3d0f02c3e Use enum number for val of long options (#1155) 2017-02-01 12:53:20 +08:00
anonymous-contributor 1fc17aca38 Use enum number for val of long options (#1155)
* ss-libev: local: Use enum number for val of long options

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>

* ss-libev: manager: Use enum number for val of long options

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>

* ss-libev: redir: Use enum number for val of long options

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>

* ss-libev: server: Use enum number for val of long options

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>

* ss-libev: tunnel: Use enum number for val of long options

Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
2017-02-01 12:49:10 +08:00
Max Lv 3b2a5d1a1f Fix SNI parser 2017-01-31 18:41:57 +08:00
Max Lv 9c7add71dd Fix #1148 2017-01-30 08:41:04 +08:00
Max Lv 4ebe5aeb12 Add SIP004 (AEAD) support 2017-01-29 10:10:44 +08:00
Max Lv 3f8cd982e5 Drop MinGW32 support 2017-01-24 20:10:31 +08:00
Mygod da6a6884a9 Remove prefix option 2017-01-20 18:11:38 +08:00