33 Commits
Author SHA1 Message Date
Syrone Wong c46149a375 Fix hotkey dispose
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-30 15:15:48 +08:00
Syrone Wong 6e8d6d3d21 Adjust garbage collection
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-30 15:15:39 +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 156b3acd9b Misc
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-22 09:45:08 +08:00
Syrone Wong c8d070fb09 Free unmanaged memory
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-21 20:01:52 +08:00
noisyfox 5e082e2961 Fix comment
Signed-off-by: noisyfox <timemanager.rick@gmail.com>
2016-09-17 15:12:48 +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 99bdec334c Add global hotkey support (#724)
Design:

Use the plain string for both config and hotkey parsing
and make use of KeyConverter, ModifierKeysConverter
to make it more rubust.

Find corresponding label (to display operation result) and callback (to do the real work) based on textbox name. In this case, they should be named as `<Feature-Name><Control-Name>`.

ShowLogsTextBox,
ShowLogsLabel,
ShowLogsCallback.

If this requirement doesn't meet, throw an exception at runtime.

Logic:

How to input keys:
1. put focus in the corresponding textbox
2. press the key combination you want to use
3. when you think it is ready, release all keys
4. the textbox shows your input

How to change keys:
1. put focus in the corresponding textbox
2. press BackSpace to clear content
3. re-input new one

How to deactivate:
1. clear content in the textbox
2. press OK button

Meaning of label color:
- Green: this combination is not occupied by other programs and register successfully
- Yellow: this combination is occupied by other programs and you have to change to another one
- Transparent without color: initial status

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-16 23:42:16 -05:00
破娃酱 7586739a52 remove all tuple (#718) 2016-09-15 22:02:55 -05: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
破娃酱 59c315d465 new traffic chart style (#704)
* new traffic chart style
- remove invoke
- force to set AxisY.Maximum not zero
- format LogForm.cs

* avoid data race
2016-09-08 15:24:46 +08:00
noisyfox e364457b1b Fix a memory leak.
Caused by not call SocketAsyncEventArgs.Dispose().
2016-09-03 15:17:16 +08: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 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
Syrone Wong 8637277c27 Cleanup
- drop unused using directive
- add a comment

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-08-17 15:58:00 +08:00
Syrone Wong ddb7374432 Refine Windows registry again(#512)
Used a method added in .NET 4, user may not have
this version installed, reverting to an older
method seems to be a better solution.

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-08-17 11:13:35 +08:00
Syrone Wong 3417a984fa Change requirements
- Running on Windows Vista or above

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-08-17 11:13:25 +08: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
Syrone Wong d67b94c76b Minor changes
- Revert UncompressFile() changes
- Simplify code

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-08-13 18:12:11 +08:00
Syrone Wong 6a26436850 Refine Windows registry handling(#512)
- Added a util function to handle x86 and x64
  currently, we only handle keys in HKCU
- Close registry key after operations

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-08-10 17:42:37 +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
Allen Zhu b0f71c43f5 Add traffic chart and traffic icon support (#595)
* Implement the line chart on Log View window for inbound/outbound traffic per second

* Implement dynamic tray icon to indicate Inbound and Outbound

* Refine linechart

* Bugfix for dynamic icon

* Refine chart presentation

* Change the data points' type for more accurate calculation

* Tweak inbound/outbound indicator image for tray icon
2016-08-04 17:32:56 +08:00
kimw 4b3ec38691 featured print "connect to hostname:port" to log 2016-05-15 01:34:28 -04:00
kimw 6f38bbb1d3 fixed 0 bytes will not show up, and, corrected function name 2016-01-05 04:49:17 +08:00
kimw 64390d45ac GetTempPath() now supports: return a full path with filename combined which pointed to the temporary directory 2016-01-04 23:56:43 +08:00
kimw 2cce646700 featured show bandwidth in log form's title 2016-01-04 23:21:53 +08:00
kimw 0b16ef7445 Merge upstream
# Conflicts:
#	README.md
#	shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs
#	shadowsocks-csharp/Controller/Service/PACServer.cs
#	shadowsocks-csharp/Controller/Strategy/SimplyChooseByStatisticsStrategy.cs
#	shadowsocks-csharp/Data/cn.txt
#	shadowsocks-csharp/Model/Configuration.cs
#	shadowsocks-csharp/Model/LogViewerConfig.cs
#	shadowsocks-csharp/View/LogForm.Designer.cs
#	shadowsocks-csharp/View/LogForm.cs
#	shadowsocks-csharp/View/MenuViewController.cs
2016-01-04 09:14:55 +08:00
kimw 0a733c61b8 fixed: standardize Logging usage
1. Add Logging.Info()
2. Console.WriteLine() -> Logging.Info()
3. Console.WriteLine() in exceptions -> Logging.LogUsefulException()
2015-09-14 14:58:46 +08:00
clowwindy 765720dbd9 small fix 2015-08-19 21:51:28 -07:00
clowwindy c767f55b3c add portable mode 2015-08-19 21:39:06 -07:00
clowwindy 71bd0d2b5a improve user experience for some users 2015-08-18 04:26:11 -07:00
clowwindy a0a5cafe3d lint code 2015-01-08 21:57:51 +08:00
clowwindy 09ad2ca272 release memory periodically 2014-11-18 21:55:45 +08:00