Browse Source

add portable mode

tags/2.5.6
clowwindy 10 years ago
parent
commit
c767f55b3c
6 changed files with 30 additions and 7 deletions
  1. +3
    -2
      shadowsocks-csharp/Controller/Logging.cs
  2. +3
    -2
      shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs
  3. +2
    -1
      shadowsocks-csharp/Controller/Service/PolipoRunner.cs
  4. +2
    -1
      shadowsocks-csharp/Encryption/PolarSSL.cs
  5. +2
    -1
      shadowsocks-csharp/Encryption/Sodium.cs
  6. +18
    -0
      shadowsocks-csharp/Util/Util.cs

+ 3
- 2
shadowsocks-csharp/Controller/Logging.cs View File

@@ -1,4 +1,5 @@
using System;
using Shadowsocks.Util;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Sockets;
@@ -14,7 +15,7 @@ namespace Shadowsocks.Controller
{
try
{
string temppath = Path.GetTempPath();
string temppath = Utils.GetTempPath();
LogFile = Path.Combine(temppath, "shadowsocks.log");
FileStream fs = new FileStream(LogFile, FileMode.Append);
StreamWriterWithTimestamp sw = new StreamWriterWithTimestamp(fs);


+ 3
- 2
shadowsocks-csharp/Controller/Service/AvailabilityStatistics.cs View File

@@ -6,7 +6,8 @@ using System.Net.NetworkInformation;
using System.Threading;
using Shadowsocks.Model;
using System.Reflection;

using Shadowsocks.Util;
namespace Shadowsocks.Controller
{
class AvailabilityStatistics
@@ -25,7 +26,7 @@ namespace Shadowsocks.Controller
//static constructor to initialize every public static fields before refereced
static AvailabilityStatistics()
{
string temppath = Path.GetTempPath();
string temppath = Utils.GetTempPath();
AvailabilityStatisticsFile = Path.Combine(temppath, StatisticsFilesName);
}



+ 2
- 1
shadowsocks-csharp/Controller/Service/PolipoRunner.cs View File

@@ -9,6 +9,7 @@ using System.Text;
using System.Net.NetworkInformation;
using System.Net;
using System.Runtime.InteropServices;
using Shadowsocks.Util;
namespace Shadowsocks.Controller
{
@@ -20,7 +21,7 @@ namespace Shadowsocks.Controller
static PolipoRunner()
{
temppath = Path.GetTempPath();
temppath = Utils.GetTempPath();
try
{
FileManager.UncompressFile(temppath + "/ss_privoxy.exe", Resources.privoxy_exe);


+ 2
- 1
shadowsocks-csharp/Encryption/PolarSSL.cs View File

@@ -1,5 +1,6 @@
using Shadowsocks.Controller;
using Shadowsocks.Properties;
using Shadowsocks.Util;
using System;
using System.Collections.Generic;
using System.IO;
@@ -18,7 +19,7 @@ namespace Shadowsocks.Encryption
static PolarSSL()
{
string tempPath = Path.GetTempPath();
string tempPath = Utils.GetTempPath();
string dllPath = tempPath + "/libsscrypto.dll";
try
{


+ 2
- 1
shadowsocks-csharp/Encryption/Sodium.cs View File

@@ -1,5 +1,6 @@
using Shadowsocks.Controller;
using Shadowsocks.Properties;
using Shadowsocks.Util;
using System;
using System.Collections.Generic;
using System.IO;
@@ -14,7 +15,7 @@ namespace Shadowsocks.Encryption
static Sodium()
{
string tempPath = Path.GetTempPath();
string tempPath = Utils.GetTempPath();
string dllPath = tempPath + "/libsscrypto.dll";
try
{


+ 18
- 0
shadowsocks-csharp/Util/Util.cs View File

@@ -5,11 +5,29 @@ using System.IO;
using System.IO.Compression;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
namespace Shadowsocks.Util
{
public class Utils
{
// return path to store temporary files
public static string GetTempPath()
{
if (File.Exists(Application.StartupPath + "/shadowsocks_portable_mode.txt"))
{
try
{
Directory.CreateDirectory(Application.StartupPath + "/temp");
} catch (Exception e)
{
Console.WriteLine(e);
}
return Application.StartupPath + "/temp";
}
return Path.GetTempPath();
}
public static void ReleaseMemory(bool removePages)
{
// release any unused pages


Loading…
Cancel
Save