363 Commits
Author SHA1 Message Date
noisyfox ac45b44c09 Update CHANGES and bump version 2016-12-09 17:59:05 +11:00
noisyfox c0299090c4 Merge branch 'proxy_dev' 2016-12-09 02:48:22 +11:00
noisyfox 430137495c Always use {} 2016-12-09 02:36:33 +11:00
noisyfox 566a0fcfa5 Logging exception 2016-12-09 02:17:46 +11:00
noisyfox 9cdb71875a Typo and refine code 2016-12-09 02:17:46 +11:00
noisyfox b04c59d8e6 http -> shadowsocks protocol directly
No more http->socks5 transform.
2016-12-09 02:17:46 +11:00
noisyfox f2b8e91f81 Reuse buffer from first pakcage
Remove some debug output
2016-12-09 02:17:46 +11:00
noisyfox d1e8f38767 Better host parse 2016-12-09 02:17:46 +11:00
noisyfox f9e39fdd1d Refine header parse 2016-12-09 02:17:46 +11:00
noisyfox 5ba0dffa5d First working built-in http proxy 2016-12-09 02:17:46 +11:00
noisyfox 0d4d01af3b Remove privoxy 2016-12-09 02:17:46 +11:00
noisyfox be3cc3f3a6 Rename Shadowsocks.Proxy -> Shadowsocks.ForwardProxy 2016-12-09 02:17:46 +11:00
noisyfox 5c5f753721 Use external agents to set system proxy.
This fix the proxy issue on win10 insider preview.
2016-12-09 02:15:29 +11:00
noisyfox 264b91d6b0 Fix a problem that forward proxy settings are saved twice
Fix #926
2016-12-09 02:05:42 +11:00
noisyfox 4b067346bf Refine random string generate. 2016-12-09 01:39:07 +11:00
noisyfox 983c1adb28 Check secret in PACServer 2016-12-08 18:54:57 +11:00
noisyfox 22d8cdeff7 Add secret in local pac url. 2016-12-08 18:13:22 +11:00
noisyfox b6cd8e0750 Update CHANGES and bump version 2016-12-06 22:43:19 +11:00
noisyfox cc6f77efa5 Refine code 2016-12-06 22:34:17 +11:00
noisyfox 65b9c9f5fa Allow check pre-release version 2016-12-06 22:01:00 +11:00
Syrone Wong 1e7a8de34a Fix privoxy listening port conflict (#920)
Let TCP stack find a free port for us

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-12-03 03:00:31 +11:00
Syrone Wong 355ab0e63d Use UTF-8 encoding for optional tag in ss url (#918)
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-12-01 00:31:03 +11:00
noisyfox 17c60bf9cc Don't UpdateSystemProxy before SaveConfig.
Otherwise we will update proxy twice.
2016-11-23 03:46:14 +11:00
noisyfox 41827f283e Refine code 2016-11-23 03:22:00 +11:00
noisyfox e7b559f1da Refine code 2016-11-23 02:42:12 +11:00
noisyfox 63816ccdd1 Fix hotkey unregister issue.
Use singleton mode for hotkey callbacks.
2016-11-23 02:34:07 +11:00
noisyfox b63bab0d1a Refine LogViewerConfig. Don't store window size in main settings file 2016-11-15 04:23:59 +11:00
noisyfox 4b49431800 Parse dest address before connect to SS server.
This gives us the possibility to chose SS server based on dest address.
2016-11-14 09:58:48 +11:00
noisyfox cfc6e674da Catch and log known exceptions in SystemProxy 2016-11-12 19:38:47 +11:00
noisyfox 0101aa3741 Merge branch 'master' of https://github.com/shadowsocks/shadowsocks-windows 2016-11-12 19:23:33 +11:00
Noisyfox bce876f42e Merge pull request #869 from wongsyrone/master
Refine RNG usage
2016-11-09 22:35:17 +11:00
Syrone Wong 8fcb66b6ff Refine RNG usage
- Create instance once, bind it to ShadowsocksController

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-11-09 10:28:50 +08:00
noisyfox da6466e247 Improve exception handling 2016-11-08 18:49:09 +11:00
noisyfox 24db6438bd Update CHANGES and bump version 2016-11-07 16:52:28 +11:00
Syrone Wong 89b7043a4e Update CHANGES and bump version
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-10-21 09:57:08 +08:00
Syrone Wong 4b99a5c210 Make registry opening more generic
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-10-20 08:05:25 +08:00
Syrone Wong a12ae96443 Update CHANGES and bump version
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-10-10 13:53:45 +08:00
Syrone Wong 04ed25e16f Add timeout support for server and forward proxy
Also, fix typo in ProxyForm

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-10-06 21:03:45 +08:00
Syrone Wong 70bff7d7cc Use wininet API to setup system proxy
Get rid of tricky registry handling

Several files come from https://code.msdn.microsoft.com/windowsapps/CSWebBrowserWithProxy-c8535715/view/SourceCode

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-10-06 16:12:35 +08:00
Syrone Wong f910400449 Update CHANGES and bump version
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-10-03 18:58:45 +08:00
Syrone Wong 13ebb5ef01 Fix RegistryKey dispose
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-10-01 06:53:43 +08:00
Syrone Wong 41eb43b54e Drop retry connect
Shadowsocks don't need to reconnect, which is the software's
responsibility to retry.

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-29 16:39:58 +08:00
Syrone Wong 46d95e7411 Get rid of lock(this)
- Use readonly object as lock

Info from stackoverflow:

If I want to be sure that it will be locked for all threads inside my
application:
The lock object has to be static, if it locks access to static state.
Otherwise it has to be instance, because there's no need to lock state of
one class instance, and prevent other threads to work with another class
instance at the same time.

everyone says that the object has to be "readonly" I didn't found the
reason
Well, it doesn't have to be. This is just a best practice, which helps you
to avoid errors.

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-29 16:39:58 +08:00
Syrone Wong d5f24df128 Don't suppress exceptions
It is better to log them.

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-29 16:38:54 +08:00
Syrone Wong a0fd003099 Close connection in the caller if exception is caught
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-29 16:38:24 +08:00
Syrone Wong 4bd9fd8a6b Replace treewide polipo with privoxy
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-28 16:35:51 +08:00
Noisyfox 35fc73b58b Add HTTP proxy support in forward proxy (#745)
* Add HTTP proxy support in forward proxy

Signed-off-by: noisyfox <timemanager.rick@gmail.com>

* Typo

* Throw exception if forward proxy not supported.
2016-09-24 23:37:24 -05:00
Syrone Wong b8c5f8e331 Update CHANGES and bump version
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-20 14:54:57 +08:00
noisyfox 063cf111cb Fix a bug that a TCPHandler may be shutdown immediately
after creation.

Becuase we put handler.Start() call after timeout check and
lastActivity is initialized in Start(), this will lead to a
incorrect timeout.

Also because we will call handler.Start() right after the
constructor and timeout check, so it makes no difference
where we put the initializtion of lastActivity. We won't do
this again in Start() because DateTime.Now will consumes a
lot of cpu time.
2016-09-17 16:21:03 +10:00
noisyfox 390144351a Fix #710
When using http proxy, this will cause distinct latency
if we are trying to resolve localhost.

Currently it's unnecessary to do that because our privoxy
doesn't listern on ipv6 address, so it's ok to hard code
the ipv4 address.

There is a plan to add a cache to record the ipv6 connectivity
so that we needn't to try both ipv4 and ipv6 every time when we
attempt to connect a DnsEndPoint.
2016-09-17 16:13:12 +10:00