Commit Graph
99 Commits
Author SHA1 Message Date
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
Syrone Wong 33b2ca8c8a Refactor
- Only use one instance of LogForm

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-16 00:47:05 +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
破娃酱 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 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 a7b0ce5bcb Use atomic long read.
Signed-off-by: noisyfox <timemanager.rick@gmail.com>
2016-08-26 12:23:21 +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 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
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
noisyfox 95d4e3a0c0 Add proxy support 2016-06-29 22:38:51 +08:00
noisyfox 2307c9515e add proxy settings 2016-06-29 18:21:11 +08:00
Mygod 9c7b100f2b Support one-time authentication in ss urls for sharing
This commit implements the new ss protocol proposed here:
https://github.com/shadowsocks/shadowsocks-org/issues/16

Also removes a TODO in Server.cs. You are welcome.
2016-04-15 23:12:39 +08: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 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
Licshee 4a45d60c40 more reliable & maintainable extension methods 2016-02-06 12:56:25 +08:00
Licshee 0e2c28c9b0 . 2016-02-06 11:52:07 +08:00
Licshee 0c7597cdf4 moar 2016-02-06 11:36:40 +08:00
Licshee 859474b577 misc improve 2016-02-04 17:30:04 +08:00
icylogic aef4b86c91 refactor AvailabilityStatistics to singleton 2016-01-18 17:21:06 +08:00
icylogic 7599704d1f add speed to statistics 2016-01-18 01:31:50 +08:00
Gang Zhuo fcec167c72 revert save bandwidth
Some bugs on Save Bandwidth. Maybe commit again after all is ok.
2016-01-14 03:45:57 -05:00
kimw 1ee07d196a save bandwidth in config file per shadowsocks server 2016-01-10 10:23:58 +08:00
kimw f9bd1c9150 featured: save bandwidth in config.json file 2016-01-10 09:45:25 +08:00
Gang Zhuo 12ba488c7b atomic operations to increase traffic statistics 2016-01-05 21:42:57 -05:00
kimw d2bb2c4a7d fixed don't update abp rules while event user-rule file changed. in fact, the PAC will overwrite with gfwlist & use-rule but abp. 2016-01-05 03:48:55 +08:00
kimw c2095b5ad7 migrated SimpleJson => Newtonesoft.Json, and of cause removed SimpleJson source files. 2016-01-05 03:45:26 +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
icylogic 4684af053e Merge branch 'master' into feature/statistics_ui 2015-09-30 21:16:45 +08:00
Gang Zhuo a070c3c986 small fix 2015-09-22 23:52:12 +08:00
Gang Zhuo b197af124b fix bug: shadowsocks restart twice, when click Ok button on Edit Servers window 2015-09-22 06:36:15 -04:00
Gang Zhuo 00ccb52bef Add an option for checking updates 2015-09-21 22:42:16 -04:00
icylogic 107bc99282 move loading and filtering jobs to statistics service 2015-09-14 20:57:17 +08:00
icylogic e45dd8b695 core functions finished 2015-09-03 23:37:43 +08:00
icylogic 4e1b140dd9 Add Json.Net and separate out Statistics Configuration file
Import Json.Net since it's difficult for SimpleJson to deal with nested type.
2015-09-03 14:08:35 +08:00
icylogic aa2334c9fd Merge branch 'master' into feature/statistics_ui
# Conflicts:
#	shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs
#	shadowsocks-csharp/Controller/Strategy/StatisticsStrategy.cs
#	shadowsocks-csharp/View/LogForm.Designer.cs
#	shadowsocks-csharp/View/MenuViewController.cs
2015-09-02 00:51:14 +08:00
kimw 3283c93857 fix: auto detected user-rule.txt's change while no gfwlist.txt file, the application crashs. 2015-08-22 12:26:26 +08:00
kimw b2c2d05c94 support auto check user-rule.txt's change, and update the PAC file.
Note: This is a dirty hack.
2015-08-21 22:12:14 +08:00
kimw 758c497eba same the source code format.
1/ removed dual empty line
2/ removed tailing spaces
3/ converted tabs into spaces
4/ added some TODO comments
2015-08-19 00:24:08 +08:00
clowwindy 71bd0d2b5a improve user experience for some users 2015-08-18 04:26:11 -07:00
icylogic 6375a3d4a8 Merge branch 'master' into feature/statistics_ui 2015-08-17 10:42:36 +08:00
icylogic bf1c79304e Basic user controls 2015-08-16 20:07:51 +08:00
clowwindy 766b9aac56 revert gc 2015-08-16 15:46:57 -07:00
icylogic 34ab170e4c fix serveral minor bugs 2015-08-13 18:29:17 +08:00
icylogic 0e4f0f17cd Add availability statistics service and a simple strategy
Strategy: Simply Choose By Statistics
2015-08-11 02:59:56 +08:00
Jeffrey Zhang 5ed40c7565 Added list of servers in QRCode generate window to select.
To add multiple servers in android phone, now it is no need to chose server one by one and generate QRCode for each. Just need to select the server listed in right.
2015-08-07 00:53:07 +08:00