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
noisyfox
2a12ac5578
Merge branch 'master' of https://github.com/shadowsocks/shadowsocks-windows.git
2016-09-17 14:57:54 +10:00
Syrone Wong
6e6be823ad
Fix #710 by @breakwa11
...
- Drop irrelevant changes
- Closes #723
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-09-16 13:33:14 +08:00
Syrone Wong
d3c6039c61
Refine Proxy config
...
- Move to seperate model
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-09-14 23:19:39 +08:00
noisyfox
05063f074a
Fix an issue that the socket may not be released.
...
- New wrapper to handle tcp socket connection.
- Fix some memory leak.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-09-14 04:23:18 +10:00
Syrone Wong
4b6d641d17
Update CHANGES and bump version
...
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-09-09 17:48:22 +08:00
noisyfox
e364457b1b
Fix a memory leak.
...
Caused by not call SocketAsyncEventArgs.Dispose().
2016-09-03 15:17:16 +08:00
noisyfox
0266ad9d59
Remove redundant lock.
...
Lock is evil.
This will actually affect the accuracy of GetDelta because
inboundDelta and outboundDelta may be calculated based on
the data collected at different time (eg. UpdateOutbound
get called before Interlocked.Read(ref _outbound)).
But that's not a problem. We can tolerate this little
inaccuracy. Besides, the _inbound, _outbound, _lastInbound
and _lastOutbound will be totally good because we use Interlocked.
2016-09-03 08:57:30 +08:00
Syrone Wong
f70b177e56
Misc
...
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-08-29 21:30:05 +08:00
noisyfox
5b2327776a
Fix a null ref exception.
2016-08-27 03:35:33 +10:00
noisyfox
ed54b249db
Close services while closing listener.
...
Now it will close all existing TCP relay connections
while reloading the listener.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-26 21:08:04 +10:00
noisyfox
65d72fdfed
New approach to record and calculate inbound/outbound speed.
...
Use lock to sync between threads.This should fix issue #679
and other same issue.
Fix a bug in UpdateSpeed() that only save the first xxxSpeedRecord.
2016-08-26 13:49:44 +10:00
noisyfox
37d894594e
Use immutable remote reference during async process.
...
To prevent "The IAsyncResult object was not returned from
the corresponding asynchronous method on this class." exception.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-22 11:49:53 +10:00
noisyfox
28fe2fdc54
Only output some debug exceptions in debug mode.
...
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-22 10:53:18 +10:00
noisyfox
f676d2185e
Use Socket.ConnectAsync instead of socket.BeginConnect.
...
Socket.ConnectAsync will create socket and handle the address family
itself. This solves some compatibility issues on win7.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-20 11:36:27 +10:00
noisyfox
b335e6c8f5
Revert changes in UDPRelay.cs
...
UDP SendTo doesn't support DnsEndPoint.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-20 11:33:59 +10:00
noisyfox
80fc8b4ccf
Fix an exception caused by process.MainModule.
...
Try to access a dead process's MainModule will cause
"A 32 bit processes cannot access modules of
a 64 bit process." exception on win7 x64.
Simply ignore it.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-20 10:57:13 +10:00
noisyfox
2ed8ab50cd
Only parse socks5 header once per connection.
...
To avoid unreadable and uncessary output
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-19 13:36:49 +10:00
Noisyfox
a1eef6eac1
Multiple instances of ss_privoxy ( #665 )
...
* Use job object to manage polipo service's external processes.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
* Only kill those ss_privoxy.exe created by this ss instance.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
* Update README
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-18 19:31:01 +08:00
noisyfox
6cb58b229d
Fix a null ref exception.
...
At that time the remote even doesn't exist.
Also this debug output doesn't make any sense because when handling
udp request, this tcp connection won't have any meaningful data.
So I simply removed these two lines.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-16 20:52:53 +10:00
noisyfox
53ce1948e4
Unified ipv4, ipv6 and domain connections.
...
-Use dual-mode socket & DnsEndPoint to handle all domain name connection.
-Move all socket creation into one single function.
So that we could treat domain name just like ipv4 & ipv6 address.
This also solves the async domain solving problem because the os will
hanlde it for us.
2016-08-16 20:40:09 +10:00
noisyfox
ad15c7e64b
Improve host address handling using DnsEndPoint
...
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-16 17:28:26 +10:00
noisyfox
a02cd11dc9
Let proxy module handle name resolving itself.
...
Fix wrong output in proxyConnectTimer_Elapsed.
Signed-off-by: noisyfox <timemanager.rick@gmail.com >
2016-08-16 01:11:33 +10:00
Syrone Wong
5d554d966a
Bump version and update CHANGES
...
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-08-13 19:01:15 +08:00
Syrone Wong
a9af9fdfc0
Refactor
...
- use null conditional access in case some connections been
cancelled unexpectedly and may cause null reference exception
- Refine error message
- use conditional operator to simplify some code
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-08-10 15:27:38 +08:00
Syrone Wong
93e7641446
Minor changes
...
- display user-friendly server name
- clarify proxy type
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-08-09 08:24:44 +08:00
Noisyfox He
e23641c522
Improved debug info output by using isVerboseLogging
2016-08-08 22:24:00 +10:00
Noisyfox He
6a3e06cdb3
Merge branch 'master' of https://github.com/shadowsocks/shadowsocks-windows.git into dev_proxy
...
# Conflicts:
# shadowsocks-csharp/Controller/Service/TCPRelay.cs
# shadowsocks-csharp/Controller/ShadowsocksController.cs
# shadowsocks-csharp/View/MenuViewController.cs
2016-08-08 21:21:53 +10:00
Syrone Wong
d3acb3e681
Refine verbose logging handling
...
I can't wait until PR #604 get merged, do it manually.
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-08-08 15:36:04 +08:00
Syrone Wong
fb3fcdb90d
Add verbose logging to log every connection
...
Note:
- Added a configuration entry, user should add this
by hand or reset from scratch.
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-08-08 10:33:17 +08:00
Syrone Wong
f21c534704
minor changes
...
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-08-05 16:31:05 +08:00
Syrone Wong
0494f95fbb
Merge branch 'log_connect_to' of https://github.com/kimw/shadowsocks-windows into kimw-log_connect_to
2016-08-05 15:42:14 +08:00
Syrone Wong
6a8a09983e
Merge fixes from @GangZhuo, close #478 ( #638 )
...
Squashed commit of the following:
commit e280c2385c
Merge: 579039f 87aa9eb
Author: Gang Zhuo <gang.zhuo@gmail.com >
Date: Wed Mar 16 04:02:27 2016 -0400
Merge remote-tracking branch 'origin/master'
commit 579039fe40
Author: Gang Zhuo <gang.zhuo@gmail.com >
Date: Fri Mar 4 21:45:23 2016 +0800
log unhandle exception
commit 8d863f1d5f
Author: Gang Zhuo <gang.zhuo@gmail.com >
Date: Fri Mar 4 21:44:54 2016 +0800
fix Availability Statistics
commit b3ce1c698a
Author: Gang Zhuo <gang.zhuo@gmail.com >
Date: Fri Mar 4 21:07:54 2016 +0800
tiny refactor
commit 0f7d39e27e
Merge: bd7078a b01aced
Author: Gang Zhuo <gang.zhuo@gmail.com >
Date: Fri Mar 4 20:02:58 2016 +0800
Merge remote-tracking branch 'origin/master'
commit bd7078aa4f
Author: Gang Zhuo <gang.zhuo@gmail.com >
Date: Fri Mar 4 20:01:58 2016 +0800
tiny refactor
commit 49adb95b6e
Author: Gang Zhuo <gang.zhuo@gmail.com >
Date: Fri Mar 4 03:44:26 2016 -0500
log more Ping information for debug
commit 2aa0620ddd
Author: Gang Zhuo <gang.zhuo@gmail.com >
Date: Fri Mar 4 03:04:10 2016 -0500
reduce 3rd packages
[solve conflicts and squash to make history clean]
Signed-off-by: Syrone Wong <wong.syrone@gmail.com >
2016-08-05 11:05:16 +08:00
noisyfox
4a1aa01a4f
Enable proxy switch
2016-06-30 00:09:45 +08:00
noisyfox
95d4e3a0c0
Add proxy support
2016-06-29 22:38:51 +08:00
kimw
f9296b49b1
clean up buggy parameter.
...
Replaced SocketFlags.None (an enum which euqals 0) from zero.
2016-05-15 02:17:05 -04:00
kimw
ff04a2a18a
clean up code in C# 6
2016-05-15 02:04:04 -04:00
kimw
0cee110e59
renamed private properties with prefix underline
2016-05-15 01:44:03 -04:00
kimw
4b3ec38691
featured print "connect to hostname:port" to log
2016-05-15 01:34:28 -04:00
kimw
13e125d364
bump up version
2016-05-01 18:39:35 -04:00
Gang Zhuo
3da00178de
better way to kill privoxy
2016-03-03 21:49:40 -05:00
Gang Zhuo
4325b7f6f9
fix https://github.com/shadowsocks/shadowsocks-windows/issues/466
2016-03-02 21:00:57 -05:00
Gang Zhuo
a9589dba8b
bump 3.0
2016-03-01 21:24:30 -05:00
icylogic
a99fef37d3
track multiple servers at the same time
...
Correct AvailabilityStatistics's behavior under special strategies like "LoadBalance", which may switch the server several times in a short period.
2016-03-01 21:32:43 +08:00
icylogic
7914d704d9
finish basic calculation
2016-03-01 14:53:57 +08:00
icylogic
e0e0f646b0
fix the chart
2016-03-01 00:38:43 +08:00
icylogic
3b7cbf8020
fix weird logic for reading files.
2016-02-29 21:36:55 +08:00
icylogic
2086b5900d
Merge remote-tracking branch 'upstream/master' into feature/statistics_ui
...
# Conflicts:
# shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs
# shadowsocks-csharp/Controller/Strategy/StatisticsStrategy.cs
# shadowsocks-csharp/View/StatisticsStrategyConfigurationForm.cs
2016-02-29 20:56:01 +08:00
Licshee
a8ffc60d31
updated StringEx to 0.2, in favor of s.NonWhiteSpaceLines()
2016-02-06 15:03:52 +08:00