don't unpack polipo every time

This commit is contained in:
clowwindy
2015-01-14 01:17:41 +08:00
parent 179eb818a7
commit 4dae44c59b
+14 -2
View File
@@ -12,6 +12,20 @@ namespace Shadowsocks.Controller
class PolipoRunner
{
private Process _process;
private static string temppath;
static PolipoRunner()
{
temppath = Path.GetTempPath();
try
{
FileManager.UncompressFile(temppath + "/ss_polipo.exe", Resources.polipo_exe);
}
catch (IOException e)
{
Logging.LogUsefulException(e);
}
}
public void Start(Configuration configuration)
{
@@ -31,12 +45,10 @@ namespace Shadowsocks.Controller
Console.WriteLine(e.ToString());
}
}
string temppath = Path.GetTempPath();
string polipoConfig = Resources.polipo_config;
polipoConfig = polipoConfig.Replace("__SOCKS_PORT__", server.local_port.ToString());
polipoConfig = polipoConfig.Replace("__POLIPO_BIND_IP__", configuration.shareOverLan ? "0.0.0.0" : "127.0.0.1");
FileManager.ByteArrayToFile(temppath + "/polipo.conf", System.Text.Encoding.UTF8.GetBytes(polipoConfig));
FileManager.UncompressFile(temppath + "/ss_polipo.exe", Resources.polipo_exe);
_process = new Process();
// Configure the process using the StartInfo properties.