diff --git a/README.md b/README.md
index f4f4aefd..86883de7 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ Download the latest release from [release page].
#### Requirements
-Microsoft [.NET Framework 4.6.2] or higher, Microsoft [Visual C++ 2015 Redistributable] (x86) .
+Microsoft [.NET Framework 4.7.2] or higher, Microsoft [Visual C++ 2015 Redistributable] (x86) .
#### Basic
@@ -105,8 +105,8 @@ Please visit [Servers] for more information.
#### Development
-1. [Visual Studio 2015] & [.NET Framework 4.6.2 Developer Pack] are required.
-2. It is recommended to share your idea on the Issue Board before you start to work,
+1. [Visual Studio 2017] & [.NET Framework 4.7.2 Developer Pack] are required.
+3. It is recommended to share your idea on the Issue Board before you start to work,
especially for feature development.
#### License
@@ -137,9 +137,9 @@ Sysproxy () https://github.com/Noisyfox/sysproxy
[GFWList]: https://github.com/gfwlist/gfwlist
[Servers]: https://github.com/shadowsocks/shadowsocks/wiki/Ports-and-Clients#linux--server-side
[中文说明]: https://github.com/shadowsocks/shadowsocks-windows/wiki/Shadowsocks-Windows-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E
-[Visual Studio 2015]: https://www.visualstudio.com/downloads/
-[.NET Framework 4.6.2]: https://www.microsoft.com/en-US/download/details.aspx?id=53344
-[.NET Framework 4.6.2 Developer Pack]: https://www.microsoft.com/download/details.aspx?id=53321
+[Visual Studio 2017]: https://www.visualstudio.com/downloads/
+[.NET Framework 4.7.2]: https://dotnet.microsoft.com/download/dotnet-framework/net472
+[.NET Framework 4.7.2 Developer Pack]: https://dotnet.microsoft.com/download/dotnet-framework/net472
[Visual C++ 2015 Redistributable]: https://www.microsoft.com/en-us/download/details.aspx?id=53840
[GPLv3]: https://github.com/shadowsocks/shadowsocks-windows/blob/master/LICENSE.txt
[Working with non SIP003 standard Plugin]: https://github.com/shadowsocks/shadowsocks-windows/wiki/Working-with-non-SIP003-standard-Plugin
\ No newline at end of file
diff --git a/shadowsocks-csharp/Properties/Resources.Designer.cs b/shadowsocks-csharp/Properties/Resources.Designer.cs
index 90ca3e1c..9c931553 100644
--- a/shadowsocks-csharp/Properties/Resources.Designer.cs
+++ b/shadowsocks-csharp/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@ namespace Shadowsocks.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -79,7 +79,6 @@ namespace Shadowsocks.Properties {
///
///System Proxy=システムプロキシ
///Disable=無効
- ///Mode=モード
///PAC=PAC
///Global=全般
///Servers=サーバー
@@ -93,7 +92,7 @@ namespace Shadowsocks.Properties {
///Edit Local PAC File...=ローカル PAC ファイルの編集...
///Update Local PAC from GFWList=GFWList からローカル PAC を更新
///Edit User Rule for GFWList...=ユーザールールの編集...
- ///Secur [rest of string was truncated]";.
+ ///Secure Local PA [rest of string was truncated]";.
///
internal static string ja {
get {
@@ -248,7 +247,6 @@ namespace Shadowsocks.Properties {
///
///System Proxy=系统代理
///Disable=禁用
- ///Mode=系统代理模式
///PAC=PAC 模式
///Global=全局模式
///Servers=服务器
@@ -262,7 +260,8 @@ namespace Shadowsocks.Properties {
///Edit Local PAC File...=编辑本地 PAC 文件...
///Update Local PAC from GFWList=从 GFWList 更新本地 PAC
///Edit User Rule for GFWList...=编辑 GFWList 的用户规则...
- ///Secure Local PAC=保护本地 [rest of string was truncated]";.
+ ///Secure Local PAC=保护本地 PAC
+ ///Copy Lo [rest of string was truncated]";.
///
internal static string zh_CN {
get {
@@ -279,7 +278,6 @@ namespace Shadowsocks.Properties {
///
///System Proxy=系統代理
///Disable=禁用
- ///Mode=系統代理模式
///PAC=PAC 模式
///Global=全局模式
///Servers=伺服器
@@ -293,7 +291,7 @@ namespace Shadowsocks.Properties {
///Edit Local PAC File...=編輯本機 PAC 檔案...
///Update Local PAC from GFWList=從 GFWList 更新本機 PAC
///Edit User Rule for GFWList...=編輯 GFWList 的使用者規則...
- ///Secure Local [rest of string was truncated]";.
+ ///Secure Local PAC=安全本機 PAC
/// [rest of string was truncated]";.
///
internal static string zh_TW {
get {
diff --git a/shadowsocks-csharp/Properties/Settings.Designer.cs b/shadowsocks-csharp/Properties/Settings.Designer.cs
index 7fb89eda..efed8372 100644
--- a/shadowsocks-csharp/Properties/Settings.Designer.cs
+++ b/shadowsocks-csharp/Properties/Settings.Designer.cs
@@ -1,86 +1,86 @@
-//------------------------------------------------------------------------------
-//
-// 此代码由工具生成。
-// 运行时版本:4.0.30319.42000
-//
-// 对此文件的更改可能会导致不正确的行为,并且如果
-// 重新生成代码,这些更改将会丢失。
-//
-//------------------------------------------------------------------------------
-
-namespace Shadowsocks.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("600")]
- public int LogViewerWidth {
- get {
- return ((int)(this["LogViewerWidth"]));
- }
- set {
- this["LogViewerWidth"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("400")]
- public int LogViewerHeight {
- get {
- return ((int)(this["LogViewerHeight"]));
- }
- set {
- this["LogViewerHeight"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("True")]
- public bool LogViewerMaximized {
- get {
- return ((bool)(this["LogViewerMaximized"]));
- }
- set {
- this["LogViewerMaximized"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("0")]
- public int LogViewerTop {
- get {
- return ((int)(this["LogViewerTop"]));
- }
- set {
- this["LogViewerTop"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("0")]
- public int LogViewerLeft {
- get {
- return ((int)(this["LogViewerLeft"]));
- }
- set {
- this["LogViewerLeft"] = value;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Shadowsocks.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.1.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("600")]
+ public int LogViewerWidth {
+ get {
+ return ((int)(this["LogViewerWidth"]));
+ }
+ set {
+ this["LogViewerWidth"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("400")]
+ public int LogViewerHeight {
+ get {
+ return ((int)(this["LogViewerHeight"]));
+ }
+ set {
+ this["LogViewerHeight"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("True")]
+ public bool LogViewerMaximized {
+ get {
+ return ((bool)(this["LogViewerMaximized"]));
+ }
+ set {
+ this["LogViewerMaximized"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("0")]
+ public int LogViewerTop {
+ get {
+ return ((int)(this["LogViewerTop"]));
+ }
+ set {
+ this["LogViewerTop"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("0")]
+ public int LogViewerLeft {
+ get {
+ return ((int)(this["LogViewerLeft"]));
+ }
+ set {
+ this["LogViewerLeft"] = value;
+ }
+ }
+ }
+}
diff --git a/shadowsocks-csharp/app.config b/shadowsocks-csharp/app.config
index d8ffbaca..f1118d57 100755
--- a/shadowsocks-csharp/app.config
+++ b/shadowsocks-csharp/app.config
@@ -1,12 +1,12 @@
-
-
+
+
-
+
diff --git a/shadowsocks-csharp/shadowsocks-csharp.csproj b/shadowsocks-csharp/shadowsocks-csharp.csproj
index 60be34bd..7e600fac 100644
--- a/shadowsocks-csharp/shadowsocks-csharp.csproj
+++ b/shadowsocks-csharp/shadowsocks-csharp.csproj
@@ -12,7 +12,7 @@
Properties
Shadowsocks
Shadowsocks
- v4.6.2
+ v4.7.2
512
diff --git a/test/test.csproj b/test/test.csproj
index f12e71b3..326225ef 100755
--- a/test/test.csproj
+++ b/test/test.csproj
@@ -8,7 +8,7 @@
Properties
test
test
- v4.6.2
+ v4.7.2
512
{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
10.0