diff --git a/.gitignore b/.gitignore
index 76aade35..288cbf1a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,366 @@
-/.vs/
-Backup/
-bin/
-obj/
-shadowsocks-csharp/shadowsocks-csharp.csproj.user
-TestResults
+## Ignore Visual Studio and VSCode temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+## and https://github.com/github/gitignore/blob/master/Global/VisualStudioCode.gitignore
+
+# User-specific files
+*.rsuser
*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Ww][Ii][Nn]32/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+[Ll]ogs/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*[.json, .xml, .info]
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+#*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
-shadowsocks-csharp/3rd/*
-packages/*
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
-shadowsocks-csharp.sln.DotSettings.user
+# VSCode
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
diff --git a/Shadowsocks.Crypto/Crypto/CryptoFactory.cs b/Shadowsocks.Crypto/Crypto/CryptoFactory.cs
index 845bd527..985e42da 100644
--- a/Shadowsocks.Crypto/Crypto/CryptoFactory.cs
+++ b/Shadowsocks.Crypto/Crypto/CryptoFactory.cs
@@ -3,8 +3,6 @@ using System.Collections.Generic;
using System.Reflection;
using System.Text;
-using Shadowsocks.Common.Crypto;
-using Shadowsocks.Common.Model;
using Shadowsocks.Crypto.AEAD;
using Shadowsocks.Crypto.Stream;
diff --git a/Shadowsocks.WPF/Resource.Designer.cs b/Shadowsocks.WPF/Resource.Designer.cs
deleted file mode 100644
index b599894d..00000000
--- a/Shadowsocks.WPF/Resource.Designer.cs
+++ /dev/null
@@ -1,133 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 此代码由工具生成。
-// 运行时版本:4.0.30319.42000
-//
-// 对此文件的更改可能会导致不正确的行为,并且如果
-// 重新生成代码,这些更改将会丢失。
-//
-//------------------------------------------------------------------------------
-
-namespace Shadowsocks.WPF {
- using System;
-
-
- ///
- /// 一个强类型的资源类,用于查找本地化的字符串等。
- ///
- // 此类是由 StronglyTypedResourceBuilder
- // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
- // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
- // (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resource {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resource() {
- }
-
- ///
- /// 返回此类使用的缓存的 ResourceManager 实例。
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Shadowsocks.WPF.Resource", typeof(Resource).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// 重写当前线程的 CurrentUICulture 属性
- /// 重写当前线程的 CurrentUICulture 属性。
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// 查找 System.Byte[] 类型的本地化资源。
- ///
- internal static byte[] ss128 {
- get {
- object obj = ResourceManager.GetObject("ss128", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// 查找 System.Byte[] 类型的本地化资源。
- ///
- internal static byte[] ss32 {
- get {
- object obj = ResourceManager.GetObject("ss32", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// 查找 System.Drawing.Bitmap 类型的本地化资源。
- ///
- internal static System.Drawing.Bitmap ss32Fill {
- get {
- object obj = ResourceManager.GetObject("ss32Fill", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- ///
- /// 查找 System.Drawing.Bitmap 类型的本地化资源。
- ///
- internal static System.Drawing.Bitmap ss32In {
- get {
- object obj = ResourceManager.GetObject("ss32In", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- ///
- /// 查找 System.Drawing.Bitmap 类型的本地化资源。
- ///
- internal static System.Drawing.Bitmap ss32Out {
- get {
- object obj = ResourceManager.GetObject("ss32Out", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- ///
- /// 查找 System.Drawing.Bitmap 类型的本地化资源。
- ///
- internal static System.Drawing.Bitmap ss32Outline {
- get {
- object obj = ResourceManager.GetObject("ss32Outline", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- ///
- /// 查找 System.Drawing.Bitmap 类型的本地化资源。
- ///
- internal static System.Drawing.Bitmap ssw128 {
- get {
- object obj = ResourceManager.GetObject("ssw128", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
- }
-}
diff --git a/Shadowsocks.WPF/Resource.resx b/Shadowsocks.WPF/Resource.resx
deleted file mode 100644
index 136f7759..00000000
--- a/Shadowsocks.WPF/Resource.resx
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- assets\ss128.pdn;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- assets\ss32.pdn;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- assets\ss32fill.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- assets\ss32in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- assets\ss32out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- assets\ss32outline.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- assets\ssw128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
\ No newline at end of file
diff --git a/Shadowsocks.WPF/Shadowsocks.WPF.csproj b/Shadowsocks.WPF/Shadowsocks.WPF.csproj
index c8dcf349..95613db6 100644
--- a/Shadowsocks.WPF/Shadowsocks.WPF.csproj
+++ b/Shadowsocks.WPF/Shadowsocks.WPF.csproj
@@ -45,11 +45,6 @@
True
Strings.resx
-
- True
- True
- Resource.resx
-
@@ -57,10 +52,6 @@
ResXFileCodeGenerator
Strings.Designer.cs
-
- ResXFileCodeGenerator
- Resource.Designer.cs
-
diff --git a/Shadowsocks.WPF/Shadowsocks.WPF.csproj.user b/Shadowsocks.WPF/Shadowsocks.WPF.csproj.user
deleted file mode 100644
index 93cbea4a..00000000
--- a/Shadowsocks.WPF/Shadowsocks.WPF.csproj.user
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- <_LastSelectedProfileId>D:\workspaces\repos\shadowsocks-windows\Shadowsocks.WPF\Properties\PublishProfiles\win-x64.pubxml
-
-
-
- Designer
-
-
-
-
- Code
-
-
-
-
- Designer
-
-
-
\ No newline at end of file
diff --git a/Shadowsocks/Resource.Designer.cs b/Shadowsocks/Resource.Designer.cs
deleted file mode 100644
index ff15eaa2..00000000
--- a/Shadowsocks/Resource.Designer.cs
+++ /dev/null
@@ -1,153 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 此代码由工具生成。
-// 运行时版本:4.0.30319.42000
-//
-// 对此文件的更改可能会导致不正确的行为,并且如果
-// 重新生成代码,这些更改将会丢失。
-//
-//------------------------------------------------------------------------------
-
-namespace Shadowsocks {
- using System;
-
-
- ///
- /// 一个强类型的资源类,用于查找本地化的字符串等。
- ///
- // 此类是由 StronglyTypedResourceBuilder
- // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
- // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
- // (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resource {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resource() {
- }
-
- ///
- /// 返回此类使用的缓存的 ResourceManager 实例。
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Shadowsocks.Resource", typeof(Resource).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// 重写当前线程的 CurrentUICulture 属性
- /// 重写当前线程的 CurrentUICulture 属性。
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// 查找类似 /* eslint-disable */
- ///// Was generated by gfwlist2pac in precise mode
- ///// https://github.com/clowwindy/gfwlist2pac
- ///
- ///// 2019-10-06: More 'javascript' way to interaction with main program
- ///// 2019-02-08: Updated to support shadowsocks-windows user rules.
- ///
- ///var proxy = __PROXY__;
- ///var userrules = [];
- ///var rules = [];
- ///
- ///// convert to abp grammar
- ///for (var i = 0; i < __RULES__.length; i++) {
- /// var s = __RULES__[i];
- /// if (s.substring(0, 2) == "||") s += "^";
- /// rules.push(s);
- ///}
- ///
- ///for (var i = 0; i < [字符串的其余部分被截断]"; 的本地化字符串。
- ///
- internal static string ABP_JS {
- get {
- return ResourceManager.GetString("ABP_JS", resourceCulture);
- }
- }
-
- ///
- /// 查找 System.Byte[] 类型的本地化资源。
- ///
- internal static byte[] DLC_DAT {
- get {
- object obj = ResourceManager.GetObject("DLC_DAT", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// 查找类似 <?xml version="1.0" encoding="utf-8" ?>
- ///<!-- Warning: Configuration may reset after shadowsocks upgrade. -->
- ///<!-- If you messed it up, delete this file and Shadowsocks will create a new one. -->
- ///<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- /// <targets>
- /// <!-- This line is managed by Shadowsocks. Do not modify it unless you know what you are doing.-->
- /// <target name="file" xsi:type="File" fileName="ss_win_temp\shadowsocks [字符串的其余部分被截断]"; 的本地化字符串。
- ///
- internal static string NLOG_CONFIG {
- get {
- return ResourceManager.GetString("NLOG_CONFIG", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 listen-address __PRIVOXY_BIND_IP__:__PRIVOXY_BIND_PORT__
- ///toggle 0
- ///logfile ss_privoxy.log
- ///show-on-task-bar 0
- ///activity-animation 0
- ///forward-socks5 / __SOCKS_HOST__:__SOCKS_PORT__ .
- ///max-client-connections 2048
- ///hide-console
- /// 的本地化字符串。
- ///
- internal static string PRIVOXY_CONF {
- get {
- return ResourceManager.GetString("PRIVOXY_CONF", resourceCulture);
- }
- }
-
- ///
- /// 查找 System.Byte[] 类型的本地化资源。
- ///
- internal static byte[] PRIVOXY_EXE {
- get {
- object obj = ResourceManager.GetObject("PRIVOXY_EXE", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// 查找类似 ! Put user rules line by line in this file.
- ///! See https://adblockplus.org/en/filter-cheatsheet
- /// 的本地化字符串。
- ///
- internal static string USER_RULE {
- get {
- return ResourceManager.GetString("USER_RULE", resourceCulture);
- }
- }
- }
-}
diff --git a/Shadowsocks/Resource.resx b/Shadowsocks/Resource.resx
deleted file mode 100644
index 04be637b..00000000
--- a/Shadowsocks/Resource.resx
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- assets\abp.js;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312
-
-
- assets\dlc.dat;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- assets\nlog.config;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312
-
-
- assets\privoxy_conf.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312
-
-
- assets\privoxy.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- assets\user-rule.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
-
-
\ No newline at end of file
diff --git a/Shadowsocks/Shadowsocks.csproj b/Shadowsocks/Shadowsocks.csproj
index eb331c1c..f43b6b00 100644
--- a/Shadowsocks/Shadowsocks.csproj
+++ b/Shadowsocks/Shadowsocks.csproj
@@ -14,18 +14,7 @@
-
- True
- True
- Resource.resx
-
-
-
-
-
- ResXFileCodeGenerator
- Resource.Designer.cs
-
+
diff --git a/appveyor.yml.obsolete b/appveyor.yml.obsolete
deleted file mode 100644
index d23aa997..00000000
--- a/appveyor.yml.obsolete
+++ /dev/null
@@ -1,24 +0,0 @@
-# Created by wongsyrone
-
-version: 1.0.{build}
-image: Visual Studio 2017
-environment:
- matrix:
- - platform: x86
- configuration: Debug
- - platform: x86
- configuration: Release
-matrix:
- fast_finish: false
-nuget:
- project_feed: true
-before_build:
-- cmd: nuget restore
-build:
- parallel: true
- verbosity: normal
-artifacts:
-- path: shadowsocks-csharp\bin\x86\Release\Shadowsocks.exe
- name: Shadowsocks-release.exe
-- path: shadowsocks-csharp\bin\x86\Debug\Shadowsocks.exe
- name: Shadowsocks-debug.exe
diff --git a/appveyor.yml.sample b/appveyor.yml.sample
deleted file mode 100644
index e3bd655a..00000000
--- a/appveyor.yml.sample
+++ /dev/null
@@ -1,483 +0,0 @@
-
-# Notes:
-# - Minimal appveyor.yml file is an empty file. All sections are optional.
-# - Indent each level of configuration with 2 spaces. Do not use tabs!
-# - All section names are case-sensitive.
-# - Section names should be unique on each level.
-
-#---------------------------------#
-# general configuration #
-#---------------------------------#
-
-# version format
-version: 1.0.{build}
-
-# you can use {branch} name in version format too
-# version: 1.0.{build}-{branch}
-
-# branches to build
-branches:
- # whitelist
- only:
- - master
- - production
-
- # blacklist
- except:
- - gh-pages
-
-# Do not build on tags (GitHub and BitBucket)
-skip_tags: true
-
-# Start builds on tags only (GitHub and BitBucket)
-skip_non_tags: true
-
-# Skipping commits with particular message or from specific user
-skip_commits:
- message: /Created.*\.(png|jpg|jpeg|bmp|gif)/ # Regex for matching commit message
- author: John # Commit author's username, name, email or regexp maching one of these.
-
-# Including commits with particular message or from specific user
-only_commits:
- message: /build/ # Start a new build if message contains 'build'
- author: jack@company.com # Start a new build for commit of user with email jack@company.com
-
-# Skipping commits affecting specific files (GitHub only). More details here: /docs/appveyor-yml
-#skip_commits:
-# files:
-# - docs/*
-# - '**/*.html'
-
-# Including commits affecting specific files (GitHub only). More details here: /docs/appveyor-yml
-#only_commits:
-# files:
-# - Project-A/
-# - Project-B/
-
-# Do not build feature branch with open Pull Requests
-skip_branch_with_pr: true
-
-# Maximum number of concurrent jobs for the project
-max_jobs: 1
-
-#---------------------------------#
-# environment configuration #
-#---------------------------------#
-
-# Build worker image (VM template)
-image: Visual Studio 2015
-
-# scripts that are called at very beginning, before repo cloning
-init:
- - git config --global core.autocrlf input
-
-# clone directory
-clone_folder: c:\projects\myproject
-
-# fetch repository as zip archive
-shallow_clone: true # default is "false"
-
-# set clone depth
-clone_depth: 5 # clone entire repository history if not defined
-
-# setting up etc\hosts file
-hosts:
- queue-server: 127.0.0.1
- db.server.com: 127.0.0.2
-
-# environment variables
-environment:
- my_var1: value1
- my_var2: value2
- # this is how to set encrypted variable. Go to "Settings" -> "Encrypt YAML" page in account menu to encrypt data.
- my_secure_var1:
- secure: FW3tJ3fMncxvs58/ifSP7w==
-
-# environment:
-# global:
-# connection_string: server=12;password=13;
-# service_url: https://127.0.0.1:8090
-#
-# matrix:
-# - db: mysql
-# provider: mysql
-#
-# - db: mssql
-# provider: mssql
-# password:
-# secure: $#(JFDA)jQ@#$
-
-# this is how to allow failing jobs in the matrix
-matrix:
- fast_finish: true # set this flag to immediately finish build once one of the jobs fails.
- allow_failures:
- - platform: x86
- configuration: Debug
- - platform: x64
- configuration: Release
-
-# exclude configuration from the matrix. Works similarly to 'allow_failures' but build not even being started for excluded combination.
- exclude:
- - platform: x86
- configuration: Debug
-
-# build cache to preserve files/folders between builds
-cache:
- - packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified
- - projectA\libs
- - node_modules # local npm modules
- - '%LocalAppData%\NuGet\Cache' # NuGet < v3
- - '%LocalAppData%\NuGet\v3-cache' # NuGet v3
-
-# enable service required for build/tests
-services:
- - mssql2014 # start SQL Server 2014 Express
- - mssql2014rs # start SQL Server 2014 Express and Reporting Services
- - mssql2012sp1 # start SQL Server 2012 SP1 Express
- - mssql2012sp1rs # start SQL Server 2012 SP1 Express and Reporting Services
- - mssql2008r2sp2 # start SQL Server 2008 R2 SP2 Express
- - mssql2008r2sp2rs # start SQL Server 2008 R2 SP2 Express and Reporting Services
- - mysql # start MySQL 5.6 service
- - postgresql # start PostgreSQL 9.5 service
- - iis # start IIS
- - msmq # start Queuing services
- - mongodb # start MongoDB
-
-# scripts that run after cloning repository
-install:
- # by default, all script lines are interpreted as batch
- - echo This is batch
- # to run script as a PowerShell command prepend it with ps:
- - ps: Write-Host 'This is PowerShell'
- # batch commands start from cmd:
- - cmd: echo This is batch again
- - cmd: set MY_VAR=12345
-
-# enable patching of AssemblyInfo.* files
-assembly_info:
- patch: true
- file: AssemblyInfo.*
- assembly_version: "2.2.{build}"
- assembly_file_version: "{version}"
- assembly_informational_version: "{version}"
-
-
-# Automatically register private account and/or project AppVeyor NuGet feeds.
-nuget:
- account_feed: true
- project_feed: true
- disable_publish_on_pr: true # disable publishing of .nupkg artifacts to account/project feeds for pull request builds
- publish_wap_octopus: true # disable publishing of Octopus Deploy .nupkg artifacts to account/project feeds
-
-#---------------------------------#
-# build configuration #
-#---------------------------------#
-
-# build platform, i.e. x86, x64, Any CPU. This setting is optional.
-platform: Any CPU
-
-# to add several platforms to build matrix:
-#platform:
-# - x86
-# - Any CPU
-
-# build Configuration, i.e. Debug, Release, etc.
-configuration: Release
-
-# to add several configurations to build matrix:
-#configuration:
-# - Debug
-# - Release
-
-# Build settings, not to be confused with "before_build" and "after_build".
-# "project" is relative to the original build directory and not influenced by directory changes in "before_build".
-build:
- parallel: true # enable MSBuild parallel builds
- project: MyTestAzureCS.sln # path to Visual Studio solution or project
- publish_wap: true # package Web Application Projects (WAP) for Web Deploy
- publish_wap_xcopy: true # package Web Application Projects (WAP) for XCopy deployment
- publish_wap_beanstalk: true # Package Web Applications for AWS Elastic Beanstalk deployment
- publish_wap_octopus: true # Package Web Applications for Octopus deployment
- publish_azure_webjob: true # Package Azure WebJobs for Zip Push deployment
- publish_azure: true # package Azure Cloud Service projects and push to artifacts
- publish_aspnet_core: true # Package ASP.NET Core projects
- publish_core_console: true # Package .NET Core console projects
- publish_nuget: true # package projects with .nuspec files and push to artifacts
- publish_nuget_symbols: true # generate and publish NuGet symbol packages
- include_nuget_references: true # add -IncludeReferencedProjects option while packaging NuGet artifacts
-
- # MSBuild verbosity level
- verbosity: quiet|minimal|normal|detailed
-
-
-# scripts to run before build
-before_build:
-
-# to run your custom scripts instead of automatic MSBuild
-build_script:
-
-# scripts to run after build (working directory and environment changes are persisted from the previous steps)
-after_build:
-
-# scripts to run *after* solution is built and *before* automatic packaging occurs (web apps, NuGet packages, Azure Cloud Services)
-before_package:
-
-# to disable automatic builds
-#build: off
-
-#---------------------------------#
-# tests configuration #
-#---------------------------------#
-
-# to run tests against only selected assemblies and/or categories
-test:
- assemblies:
- only:
- - asm1.dll
- - asm2.dll
-
- categories:
- only:
- - UI
- - E2E
-
-# to run tests against all except selected assemblies and/or categories
-#test:
-# assemblies:
-# except:
-# - asm1.dll
-# - asm2.dll
-#
-# categories:
-# except:
-# - UI
-# - E2E
-
-# to run tests from different categories as separate jobs in parallel
-#test:
-# categories:
-# - A # A category common for all jobs
-# - [UI] # 1st job
-# - [DAL, BL] # 2nd job
-
-# scripts to run before tests (working directory and environment changes are persisted from the previous steps such as "before_build")
-before_test:
- - echo script1
- - ps: Write-Host "script1"
-
-# to run your custom scripts instead of automatic tests
-test_script:
- - echo This is my custom test script
-
-# scripts to run after tests
-after_test:
-
-# to disable automatic tests
-#test: off
-
-
-#---------------------------------#
-# artifacts configuration #
-#---------------------------------#
-
-artifacts:
-
- # pushing a single file
- - path: test.zip
-
- # pushing a single file with environment variable in path and "Deployment name" specified
- - path: MyProject\bin\$(configuration)
- name: myapp
-
- # pushing entire folder as a zip archive
- - path: logs
-
- # pushing all *.nupkg files in build directory recursively
- - path: '**\*.nupkg'
-
-
-#---------------------------------#
-# deployment configuration #
-#---------------------------------#
-
-# providers: Local, FTP, WebDeploy, AzureCS, AzureBlob, S3, NuGet, Environment
-# provider names are case-sensitive!
-deploy:
-
- # FTP deployment provider settings
- - provider: FTP
- protocol: ftp|ftps|sftp
- host: ftp.myserver.com
- username: admin
- password:
- secure: eYKZKFkkEvFYWX6NfjZIVw==
- folder:
- application:
- active_mode: false
- beta: true # enable alternative FTP library for 'ftp' and 'ftps' modes
- debug: true # show complete FTP log
-
- # Amazon S3 deployment provider settings
- - provider: S3
- access_key_id:
- secure: ABcd==
- secret_access_key:
- secure: ABcd==
- bucket: my_bucket
- folder:
- artifact:
- set_public: false
-
- # Azure Blob storage deployment provider settings
- - provider: AzureBlob
- storage_account_name:
- secure: ABcd==
- storage_access_key:
- secure: ABcd==
- container: my_container
- folder:
- artifact:
-
- # Web Deploy deployment provider settings
- - provider: WebDeploy
- server: http://www.deploy.com/myendpoint
- website: mywebsite
- username: user
- password:
- secure: eYKZKFkkEvFYWX6NfjZIVw==
- ntlm: false
- remove_files: false
- app_offline: false
- do_not_use_checksum: true # do not use check sum for comparing source and destination files. By default checksums are used.
- sync_retry_attempts: 2 # sync attempts, max
- sync_retry_interval: 2000 # timeout between sync attempts, milliseconds
- aspnet_core: true # artifact zip contains ASP.NET Core application
- aspnet_core_force_restart: true # poke app's web.config before deploy to force application restart
- skip_dirs: \\App_Data
- skip_files: web.config
- on:
- branch: release
- platform: x86
- configuration: debug
-
- # Deploying to Azure Cloud Service
- - provider: AzureCS
- subscription_id:
- secure: fjZIVw==
- subscription_certificate:
- secure: eYKZKFkkEv...FYWX6NfjZIVw==
- storage_account_name: my_storage
- storage_access_key:
- secure: ABcd==
- service: my_service
- slot: Production
- target_profile: Cloud
- artifact: MyPackage.cspkg
-
- # Deploying to NuGet feed
- - provider: NuGet
- server: https://my.nuget.server/feed
- api_key:
- secure: FYWX6NfjZIVw==
- skip_symbols: false
- symbol_server: https://your.symbol.server/feed
- artifact: MyPackage.nupkg
-
- # Deploy to GitHub Releases
- - provider: GitHub
- artifact: /.*\.nupkg/ # upload all NuGet packages to release assets
- draft: false
- prerelease: false
- on:
- branch: master # release from master branch only
- APPVEYOR_REPO_TAG: true # deploy on tag push only
-
- # Deploying to a named environment
- - provider: Environment
- name: staging
- on:
- branch: staging
- env_var1: value1
- env_var2: value2
-
-# scripts to run before deployment
-before_deploy:
-
-# scripts to run after deployment
-after_deploy:
-
-# to run your custom scripts instead of provider deployments
-deploy_script:
-
-# to disable deployment
-#deploy: off
-
-#---------------------------------#
-# global handlers #
-#---------------------------------#
-
-# on successful build
-on_success:
- - do something
-
-# on build failure
-on_failure:
- - do something
-
-# after build failure or success
-on_finish:
- - do something
-
-
-#---------------------------------#
-# notifications #
-#---------------------------------#
-
-notifications:
-
- # Email
- - provider: Email
- to:
- - user1@email.com
- - user2@email.com
- subject: 'Build {{status}}' # optional
- message: "{{message}}, {{commitId}}, ..." # optional
- on_build_status_changed: true
-
- # HipChat
- - provider: HipChat
- auth_token:
- secure: RbOnSMSFKYzxzFRrxM1+XA==
- room: ProjectA
- template: "{message}, {commitId}, ..."
-
- # Slack
- - provider: Slack
- incoming_webhook: http://incoming-webhook-url
-
- # ...or using auth token
-
- - provider: Slack
- auth_token:
- secure: kBl9BlxvRMr9liHmnBs14A==
- channel: development
- template: "{message}, {commitId}, ..."
-
- # Campfire
- - provider: Campfire
- account: appveyor
- auth_token:
- secure: RifLRG8Vfyol+sNhj9u2JA==
- room: ProjectA
- template: "{message}, {commitId}, ..."
-
- # Webhook
- - provider: Webhook
- url: http://www.myhook2.com
- headers:
- User-Agent: myapp 1.0
- Authorization:
- secure: GhD+5xhLz/tkYY6AO3fcfQ==
- on_build_success: false
- on_build_failure: true
- on_build_status_changed: true
diff --git a/packaging/upload.sh b/packaging/upload.sh
deleted file mode 100755
index 82f48b06..00000000
--- a/packaging/upload.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-version=$1
-
-rsync --progress -e ssh shadowsocks-csharp/bin/x86/Release/Shadowsocks-win-dotnet4.0-$1.zip frs.sourceforge.net:/home/frs/project/shadowsocksgui/dist/
-rsync --progress -e ssh shadowsocks-csharp/bin/x86/Release/Shadowsocks-win-$1.zip frs.sourceforge.net:/home/frs/project/shadowsocksgui/dist/