@@ -21,7 +21,7 @@ Download the latest release from [release page]. | |||||
#### Requirements | #### 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 | #### Basic | ||||
@@ -105,8 +105,8 @@ Please visit [Servers] for more information. | |||||
#### Development | #### 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. | especially for feature development. | ||||
#### License | #### License | ||||
@@ -137,9 +137,9 @@ Sysproxy () https://github.com/Noisyfox/sysproxy | |||||
[GFWList]: https://github.com/gfwlist/gfwlist | [GFWList]: https://github.com/gfwlist/gfwlist | ||||
[Servers]: https://github.com/shadowsocks/shadowsocks/wiki/Ports-and-Clients#linux--server-side | [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 | [中文说明]: 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 | [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 | [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 | [Working with non SIP003 standard Plugin]: https://github.com/shadowsocks/shadowsocks-windows/wiki/Working-with-non-SIP003-standard-Plugin |
@@ -19,7 +19,7 @@ namespace Shadowsocks.Properties { | |||||
// class via a tool like ResGen or Visual Studio. | // class via a tool like ResGen or Visual Studio. | ||||
// To add or remove a member, edit your .ResX file then rerun ResGen | // To add or remove a member, edit your .ResX file then rerun ResGen | ||||
// with the /str option, or rebuild your VS project. | // 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.Diagnostics.DebuggerNonUserCodeAttribute()] | ||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | ||||
internal class Resources { | internal class Resources { | ||||
@@ -79,7 +79,6 @@ namespace Shadowsocks.Properties { | |||||
/// | /// | ||||
///System Proxy=システムプロキシ | ///System Proxy=システムプロキシ | ||||
///Disable=無効 | ///Disable=無効 | ||||
///Mode=モード | |||||
///PAC=PAC | ///PAC=PAC | ||||
///Global=全般 | ///Global=全般 | ||||
///Servers=サーバー | ///Servers=サーバー | ||||
@@ -93,7 +92,7 @@ namespace Shadowsocks.Properties { | |||||
///Edit Local PAC File...=ローカル PAC ファイルの編集... | ///Edit Local PAC File...=ローカル PAC ファイルの編集... | ||||
///Update Local PAC from GFWList=GFWList からローカル PAC を更新 | ///Update Local PAC from GFWList=GFWList からローカル PAC を更新 | ||||
///Edit User Rule for GFWList...=ユーザールールの編集... | ///Edit User Rule for GFWList...=ユーザールールの編集... | ||||
///Secur [rest of string was truncated]";. | |||||
///Secure Local PA [rest of string was truncated]";. | |||||
/// </summary> | /// </summary> | ||||
internal static string ja { | internal static string ja { | ||||
get { | get { | ||||
@@ -248,7 +247,6 @@ namespace Shadowsocks.Properties { | |||||
/// | /// | ||||
///System Proxy=系统代理 | ///System Proxy=系统代理 | ||||
///Disable=禁用 | ///Disable=禁用 | ||||
///Mode=系统代理模式 | |||||
///PAC=PAC 模式 | ///PAC=PAC 模式 | ||||
///Global=全局模式 | ///Global=全局模式 | ||||
///Servers=服务器 | ///Servers=服务器 | ||||
@@ -262,7 +260,8 @@ namespace Shadowsocks.Properties { | |||||
///Edit Local PAC File...=编辑本地 PAC 文件... | ///Edit Local PAC File...=编辑本地 PAC 文件... | ||||
///Update Local PAC from GFWList=从 GFWList 更新本地 PAC | ///Update Local PAC from GFWList=从 GFWList 更新本地 PAC | ||||
///Edit User Rule for GFWList...=编辑 GFWList 的用户规则... | ///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]";. | |||||
/// </summary> | /// </summary> | ||||
internal static string zh_CN { | internal static string zh_CN { | ||||
get { | get { | ||||
@@ -279,7 +278,6 @@ namespace Shadowsocks.Properties { | |||||
/// | /// | ||||
///System Proxy=系統代理 | ///System Proxy=系統代理 | ||||
///Disable=禁用 | ///Disable=禁用 | ||||
///Mode=系統代理模式 | |||||
///PAC=PAC 模式 | ///PAC=PAC 模式 | ||||
///Global=全局模式 | ///Global=全局模式 | ||||
///Servers=伺服器 | ///Servers=伺服器 | ||||
@@ -293,7 +291,7 @@ namespace Shadowsocks.Properties { | |||||
///Edit Local PAC File...=編輯本機 PAC 檔案... | ///Edit Local PAC File...=編輯本機 PAC 檔案... | ||||
///Update Local PAC from GFWList=從 GFWList 更新本機 PAC | ///Update Local PAC from GFWList=從 GFWList 更新本機 PAC | ||||
///Edit User Rule for GFWList...=編輯 GFWList 的使用者規則... | ///Edit User Rule for GFWList...=編輯 GFWList 的使用者規則... | ||||
///Secure Local [rest of string was truncated]";. | |||||
///Secure Local PAC=安全本機 PAC /// [rest of string was truncated]";. | |||||
/// </summary> | /// </summary> | ||||
internal static string zh_TW { | internal static string zh_TW { | ||||
get { | get { | ||||
@@ -1,86 +1,86 @@ | |||||
//------------------------------------------------------------------------------ | |||||
// <auto-generated> | |||||
// 此代码由工具生成。 | |||||
// 运行时版本:4.0.30319.42000 | |||||
// | |||||
// 对此文件的更改可能会导致不正确的行为,并且如果 | |||||
// 重新生成代码,这些更改将会丢失。 | |||||
// </auto-generated> | |||||
//------------------------------------------------------------------------------ | |||||
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; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
//------------------------------------------------------------------------------ | |||||
// <auto-generated> | |||||
// 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. | |||||
// </auto-generated> | |||||
//------------------------------------------------------------------------------ | |||||
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; | |||||
} | |||||
} | |||||
} | |||||
} |
@@ -1,12 +1,12 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||
<configuration> | <configuration> | ||||
<configSections> | <configSections> | ||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > | |||||
<section name="Shadowsocks.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> | |||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | |||||
<section name="Shadowsocks.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> | |||||
</sectionGroup> | </sectionGroup> | ||||
</configSections> | </configSections> | ||||
<startup> | <startup> | ||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/> | |||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/> | |||||
</startup> | </startup> | ||||
<runtime> | <runtime> | ||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | ||||
@@ -12,7 +12,7 @@ | |||||
<AppDesignerFolder>Properties</AppDesignerFolder> | <AppDesignerFolder>Properties</AppDesignerFolder> | ||||
<RootNamespace>Shadowsocks</RootNamespace> | <RootNamespace>Shadowsocks</RootNamespace> | ||||
<AssemblyName>Shadowsocks</AssemblyName> | <AssemblyName>Shadowsocks</AssemblyName> | ||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> | |||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> | |||||
<FileAlignment>512</FileAlignment> | <FileAlignment>512</FileAlignment> | ||||
<StartupObject> | <StartupObject> | ||||
</StartupObject> | </StartupObject> | ||||
@@ -8,7 +8,7 @@ | |||||
<AppDesignerFolder>Properties</AppDesignerFolder> | <AppDesignerFolder>Properties</AppDesignerFolder> | ||||
<RootNamespace>test</RootNamespace> | <RootNamespace>test</RootNamespace> | ||||
<AssemblyName>test</AssemblyName> | <AssemblyName>test</AssemblyName> | ||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> | |||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> | |||||
<FileAlignment>512</FileAlignment> | <FileAlignment>512</FileAlignment> | ||||
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | ||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> | <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> | ||||