diff --git a/shadowsocks-csharp/Local.cs b/shadowsocks-csharp/Controller/Local.cs
similarity index 100%
rename from shadowsocks-csharp/Local.cs
rename to shadowsocks-csharp/Controller/Local.cs
diff --git a/shadowsocks-csharp/PACServer.cs b/shadowsocks-csharp/Controller/PACServer.cs
similarity index 100%
rename from shadowsocks-csharp/PACServer.cs
rename to shadowsocks-csharp/Controller/PACServer.cs
diff --git a/shadowsocks-csharp/PolipoRunner.cs b/shadowsocks-csharp/Controller/PolipoRunner.cs
similarity index 100%
rename from shadowsocks-csharp/PolipoRunner.cs
rename to shadowsocks-csharp/Controller/PolipoRunner.cs
diff --git a/shadowsocks-csharp/ShadowsocksController.cs b/shadowsocks-csharp/Controller/ShadowsocksController.cs
similarity index 100%
rename from shadowsocks-csharp/ShadowsocksController.cs
rename to shadowsocks-csharp/Controller/ShadowsocksController.cs
diff --git a/shadowsocks-csharp/SystemProxy.cs b/shadowsocks-csharp/Controller/SystemProxy.cs
similarity index 100%
rename from shadowsocks-csharp/SystemProxy.cs
rename to shadowsocks-csharp/Controller/SystemProxy.cs
diff --git a/shadowsocks-csharp/icon144.ico b/shadowsocks-csharp/Data/icon144.ico
similarity index 100%
rename from shadowsocks-csharp/icon144.ico
rename to shadowsocks-csharp/Data/icon144.ico
diff --git a/shadowsocks-csharp/polarssl.dll.gz b/shadowsocks-csharp/Data/polarssl.dll.gz
similarity index 100%
rename from shadowsocks-csharp/polarssl.dll.gz
rename to shadowsocks-csharp/Data/polarssl.dll.gz
diff --git a/shadowsocks-csharp/polipo.exe.gz b/shadowsocks-csharp/Data/polipo.exe.gz
similarity index 100%
rename from shadowsocks-csharp/polipo.exe.gz
rename to shadowsocks-csharp/Data/polipo.exe.gz
diff --git a/shadowsocks-csharp/config.txt b/shadowsocks-csharp/Data/polipo_config.txt
similarity index 100%
rename from shadowsocks-csharp/config.txt
rename to shadowsocks-csharp/Data/polipo_config.txt
diff --git a/shadowsocks-csharp/proxy.pac.txt.gz b/shadowsocks-csharp/Data/proxy.pac.txt.gz
similarity index 100%
rename from shadowsocks-csharp/proxy.pac.txt.gz
rename to shadowsocks-csharp/Data/proxy.pac.txt.gz
diff --git a/shadowsocks-csharp/Config.cs b/shadowsocks-csharp/Model/Config.cs
similarity index 100%
rename from shadowsocks-csharp/Config.cs
rename to shadowsocks-csharp/Model/Config.cs
diff --git a/shadowsocks-csharp/Program.cs b/shadowsocks-csharp/Program.cs
index f0f7c5ba..b1e05c49 100755
--- a/shadowsocks-csharp/Program.cs
+++ b/shadowsocks-csharp/Program.cs
@@ -39,6 +39,8 @@ namespace shadowsocks_csharp
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ShadowsocksController controller = new ShadowsocksController();
+
+ // TODO run without a main form to save RAM
Application.Run(new ConfigForm(controller));
diff --git a/shadowsocks-csharp/Properties/Resources.Designer.cs b/shadowsocks-csharp/Properties/Resources.Designer.cs
index ca8cb5fb..3a7e8121 100755
--- a/shadowsocks-csharp/Properties/Resources.Designer.cs
+++ b/shadowsocks-csharp/Properties/Resources.Designer.cs
@@ -71,22 +71,22 @@ namespace shadowsocks_csharp.Properties {
}
///
- /// Looks up a localized string similar to # Sample configuration file for Polipo. -*-sh-*-
- ///
- ///# You should not need to use a configuration file; all configuration
- ///# variables have reasonable defaults. If you want to use one, you
- ///# can copy this to /etc/polipo/config or to ~/.polipo and modify.
- ///
- ///# This file only contains some of the configuration variables; see the
- ///# list given by ``polipo -v'' and the manual for more.
- ///
- ///
- ///### Basic configuration
- ///### *******************
- ///
- ///# Uncomment one of these if you want to allow remote clients to
- ///# connect:
- ///
+ /// Looks up a localized string similar to # Sample configuration file for Polipo. -*-sh-*-
+ ///
+ ///# You should not need to use a configuration file; all configuration
+ ///# variables have reasonable defaults. If you want to use one, you
+ ///# can copy this to /etc/polipo/config or to ~/.polipo and modify.
+ ///
+ ///# This file only contains some of the configuration variables; see the
+ ///# list given by ``polipo -v'' and the manual for more.
+ ///
+ ///
+ ///### Basic configuration
+ ///### *******************
+ ///
+ ///# Uncomment one of these if you want to allow remote clients to
+ ///# connect:
+ ///
///# prox [rest of string was truncated]";.
///
internal static string polipo_config {
diff --git a/shadowsocks-csharp/Properties/Resources.resx b/shadowsocks-csharp/Properties/Resources.resx
index 97ca7965..14c098ec 100755
--- a/shadowsocks-csharp/Properties/Resources.resx
+++ b/shadowsocks-csharp/Properties/Resources.resx
@@ -119,15 +119,15 @@
- ..\polarssl.dll.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ ..\Data\polarssl.dll.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- ..\config.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312
+ ..\Data\polipo_config.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312
- ..\polipo.exe.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ ..\Data\polipo.exe.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- ..\proxy.pac.txt.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ ..\Data\proxy.pac.txt.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
\ No newline at end of file
diff --git a/shadowsocks-csharp/ConfigForm.Designer.cs b/shadowsocks-csharp/View/ConfigForm.Designer.cs
similarity index 100%
rename from shadowsocks-csharp/ConfigForm.Designer.cs
rename to shadowsocks-csharp/View/ConfigForm.Designer.cs
diff --git a/shadowsocks-csharp/ConfigForm.cs b/shadowsocks-csharp/View/ConfigForm.cs
similarity index 100%
rename from shadowsocks-csharp/ConfigForm.cs
rename to shadowsocks-csharp/View/ConfigForm.cs
diff --git a/shadowsocks-csharp/ConfigForm.resx b/shadowsocks-csharp/View/ConfigForm.resx
similarity index 100%
rename from shadowsocks-csharp/ConfigForm.resx
rename to shadowsocks-csharp/View/ConfigForm.resx
diff --git a/shadowsocks-csharp/shadowsocks-csharp.csproj b/shadowsocks-csharp/shadowsocks-csharp.csproj
index 635a5486..1e1dd0bd 100755
--- a/shadowsocks-csharp/shadowsocks-csharp.csproj
+++ b/shadowsocks-csharp/shadowsocks-csharp.csproj
@@ -14,7 +14,7 @@
512
- icon144.ico
+ Data\icon144.ico
false
@@ -87,21 +87,21 @@
-
-
-
+
+
+
Form
-
+
ConfigForm.cs
-
-
+
+
-
-
-
+
+
+
ConfigForm.cs
Designer
@@ -116,8 +116,8 @@
True
-
-
+
+
SettingsSingleFileGenerator
Settings.Designer.cs
@@ -128,12 +128,11 @@
True
-
+
-
-
-
+
+