Commit Graph
68 Commits
Author SHA1 Message Date
Max Lv 873a577726 Add winsock.h to dist target 2018-05-28 21:53:13 -07:00
Linus Yang 2ed8791dab Re-add support for MinGW 2018-03-08 17:26:11 +08:00
Max Lv 512891c66f Refine SNI parser in ss-local 2018-01-07 20:20:15 -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
Felix Yan 0334e73c2b Use system libbloom on USE_SYSTEM_SHARED_LIB 2017-03-09 12:48:46 +08:00
zhou0 e1027a7c56 restore version_info to 2.0.0 2017-03-09 12:48:25 +08:00
zhou0 44625be901 fix wrong version_info 2017-03-09 12:48:25 +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 ef0402eb10 Add --key option to set key directly (#1207) 2017-02-06 17:02:04 +08:00
Max Lv df595fcb73 Fix #1168 2017-02-02 20:27:06 +08:00
Max Lv 833594e3c6 Update Makefile 2017-02-01 19:22:36 +08:00
Max Lv 28e07cc08a Clean up 2017-01-29 10:16:17 +08:00
Max Lv 4ebe5aeb12 Add SIP004 (AEAD) support 2017-01-29 10:10:44 +08:00
Max Lv c5807058ba Add missing ss-nat 2017-01-25 10:57:12 +08:00
Max Lv 3f8cd982e5 Drop MinGW32 support 2017-01-24 20:10:31 +08:00
Max Lv 633de3e228 Remove embedded libraries 2017-01-18 11:07:40 +08:00
Max Lv 61b82c45c5 Add SIP003 plugin support (#1044)
https://github.com/shadowsocks/shadowsocks-org/issues/28
2017-01-08 01:10:00 -06:00
GhostFlying 9753cc54dc Check port before add port via ss-manager (#1035)
* add simple port check functions

* release sock lock when manager exit

* simplfy the sock lock

* release sock lock when receive the stat report

* simplfy dns query

* add udp port check

* enable port check function

* clean code and logs
2017-01-05 06:06:05 -06:00
Max Lv 8cb4f81eba Add HTTP/TLS obfuscating. [SIP001] (#1009)
Add experimental HTTP/TLS obfuscating as an **optional extension** of shadowsocks protocol.

More discussions can be found here: https://github.com/shadowsocks/shadowsocks-org/issues/26

As this feature is still a SIP (Shadowsocks Improvement Proposal), it's very unstable and experimental. So, 

1. Don't enable it unless you know what it is.
2. Be very careful when using it in production environment.
2016-12-27 02:53:25 -06:00
Boyuan Yang c12e450e98 Update Debian dependency and bump library soname (#814)
* debian: add libpcre3-dev as build dependency.

* Bump soname of libshadowsocks-libev.

Soname for libshadowsocks-libev is bumped
from 1:0:0 to 2:0:0 due to ABI breakage
between shadowsocks-libev 2.5.0 and 2.5.1.
2016-09-08 22:35:27 +08:00
Max Lv 64870a276b Add HTTP/SNI parser (#809)
* WiP: add HTTP/SNI parser

* WiP: replace hostname with HTTP/SNI header

* WiP: add ACL

* Fix white list

* Replace free() with ss_free()

* Refine sockaddr handling

* Add HTTP/SNI support to redir
2016-09-08 10:10:23 +08:00
Boyuan Yang 2bf2d0787d Fix typo in source code (#666) 2016-06-06 05:30:43 -05:00
Max Lv 6fc1dccc58 Rename libshadowsocks to libshadowsocks-libev 2016-06-01 18:12:27 +08:00
Max Lv bddff70661 Refine ss-nat scripts 2016-05-23 13:31:30 +08:00
Max Lv 125cce3ff1 Remove internal hmac-sha1 2015-12-08 10:50:08 +08:00
Max Lv eccc91d711 Refine ACL support 2015-12-03 14:18:29 +08:00
Boyuan Yang f4576268a7 add option in configure to use shared libraries 2015-10-14 15:36:59 +08:00
Max Lv f0f23b4199 replace poly1305 with hmac-sha1 2015-09-23 21:25:48 +08:00
Max Lv 1b04b52490 update pthread lib configs 2015-09-09 18:53:51 +09:00
Max Lv 5f3c2e1256 Add ss-manager for multi-user control and traffic statistics. 2015-08-11 18:57:18 +09:00
Max Lv 2b1eef1197 fix #356, disable TLS for uClibc 2015-07-20 00:32:03 +09:00
Max Lv 9431b9b0c3 Add TPROXY support for redir mode 2015-05-05 14:37:27 +08:00
Max Lv 5cdd133fc7 add acl to server 2015-02-08 09:49:45 +08:00
Max Lv 40e9be0021 Avoid getaddrinfo() in the main loop 2015-01-12 16:49:47 +09:00
Max Lv 64c494e18f Fix issues with MinGW 2015-01-10 16:28:16 +09:00
Max Lv e5289e9ba4 Replace libasyncns with libudns 2015-01-10 12:31:13 +09:00
Max Lv 5ace152631 update autoconf tools 2014-12-13 06:59:06 +00:00
Max Lv bca8a499f9 integrate libsodium as a submodule 2014-12-13 11:58:13 +08:00
Max Lv 6f64d431b6 enable building shared library for #128 2014-11-06 10:42:00 +08:00
Max Lv d1d2847fc7 fix a typo 2014-11-02 10:32:59 +08:00
Max Lv 86087825a9 refine library interface 2014-11-02 10:24:32 +08:00
clowwindy 039e90df96 support building as libshadowsocks 2014-10-17 00:03:48 +08:00
Max Lv 182c81d14d fix #80 2014-06-19 20:44:23 +08:00
Max Lv b9ea252237 fix the build sequence 2014-05-03 04:49:38 -04:00
Max Lv 27cd819d06 refine local proxy for acl support 2014-05-07 14:33:36 +08:00
Max Lv 1b4c60b013 add acl module 2014-05-07 12:16:35 +08:00
Max Lv 6107427bf0 WiP: handle both ipv4 and ipv6 2014-02-21 11:58:41 +09:00
Max Lv cd4a420dfa define _GNU_SOURCE 2014-01-08 17:25:39 +09:00
Max Lv a1ed46a567 use gnu99 2014-01-08 17:08:54 +09:00
Max Lv 71a29de344 update makefile 2014-01-08 16:54:16 +09:00