Compare commits

...

8 Commits
3.1 ... 3.3

Author SHA1 Message Date
2dust
5566df791c up spac 2019-12-24 09:33:23 +08:00
2dust
1ca416bacf Update AssemblyInfo.cs 2019-12-24 09:01:17 +08:00
2dust
97d7229974 Update V2rayHandler.cs 2019-12-24 09:01:13 +08:00
2dust
6a0bfc43dd Update Global.cs 2019-12-24 09:01:10 +08:00
2dust
732da0c330 Update libs.zip 2019-12-18 13:13:06 +08:00
2dust
012bb5654b Update MainForm.cs 2019-12-18 13:13:00 +08:00
2dust
068fe3113b up test 2019-12-17 16:16:47 +08:00
2dust
4a74102eb7 Update ProxySetting.cs 2019-12-17 09:14:31 +08:00
12 changed files with 234 additions and 139 deletions

View File

@@ -117,6 +117,7 @@
this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.tsbClose = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -659,6 +660,7 @@
this.tsbCheckUpdateN,
this.tsbCheckUpdateCore,
this.tsbCheckUpdatePACList,
this.toolStripSeparator13,
this.tsbCheckClearPACList});
this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate;
resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
@@ -746,6 +748,11 @@
this.tsbClose.Name = "tsbClose";
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
//
// toolStripSeparator13
//
this.toolStripSeparator13.Name = "toolStripSeparator13";
resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13");
//
// MainForm
//
resources.ApplyResources(this, "$this");
@@ -869,6 +876,7 @@
private System.Windows.Forms.ToolStripMenuItem menuTcpingServer;
private System.Windows.Forms.ToolStripMenuItem menuRealPingServer;
private System.Windows.Forms.ToolStripMenuItem menuNotEnabledHttp;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator13;
}
}

View File

@@ -18,7 +18,7 @@ namespace v2rayN.Forms
{
public partial class MainForm : BaseForm
{
private V2rayHandler v2rayHandler;
private V2rayHandler v2rayHandler;
private List<int> lvSelecteds = new List<int>();
private StatisticsHandler statistics = null;
@@ -966,9 +966,9 @@ namespace v2rayN.Forms
}
private void ClearTestResult()
{
for (int k = 0; k < config.vmess.Count; k++)
for (int k = 0; k < lvSelecteds.Count; k++)
{
SetTestResult(k, "");
SetTestResult(lvSelecteds[k], "");
}
}
private void UpdateSpeedtestHandler(int index, string msg)

View File

@@ -422,6 +422,27 @@
<data name="cmsMain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>265, 142</value>
</data>
<data name="&gt;&gt;cmsMain.Name" xml:space="preserve">
<value>cmsMain</value>
</data>
<data name="&gt;&gt;cmsMain.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="notifyMain.Text" xml:space="preserve">
<value>v2rayN</value>
</data>
<data name="notifyMain.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
<value>264, 22</value>
</data>
<data name="menuSysAgentMode.Text" xml:space="preserve">
<value>Http proxy</value>
</data>
<data name="menuNotEnabledHttp.Size" type="System.Drawing.Size, System.Drawing">
<value>547, 22</value>
</data>
@@ -452,12 +473,6 @@
<data name="menuKeepPAC.Text" xml:space="preserve">
<value>Only open PAC, do not automatically configure PAC</value>
</data>
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
<value>264, 22</value>
</data>
<data name="menuSysAgentMode.Text" xml:space="preserve">
<value>Http proxy</value>
</data>
<data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
<value>264, 22</value>
</data>
@@ -491,21 +506,6 @@
<data name="menuExit.Text" xml:space="preserve">
<value>Exit</value>
</data>
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>265, 142</value>
</data>
<data name="&gt;&gt;cmsMain.Name" xml:space="preserve">
<value>cmsMain</value>
</data>
<data name="&gt;&gt;cmsMain.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="notifyMain.Text" xml:space="preserve">
<value>v2rayN</value>
</data>
<data name="notifyMain.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<metadata name="bgwScan.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>498, 17</value>
</metadata>
@@ -536,6 +536,60 @@
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>228, 18</value>
</metadata>
<data name="&gt;&gt;txtMsgBox.Name" xml:space="preserve">
<value>txtMsgBox</value>
</data>
<data name="&gt;&gt;txtMsgBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtMsgBox.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;txtMsgBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;ssMain.Name" xml:space="preserve">
<value>ssMain</value>
</data>
<data name="&gt;&gt;ssMain.Type" xml:space="preserve">
<value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ssMain.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;ssMain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 417</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>952, 176</value>
</data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>Information</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;groupBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="txtMsgBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@@ -572,6 +626,30 @@
<metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>228, 18</value>
</metadata>
<data name="ssMain.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 151</value>
</data>
<data name="ssMain.Size" type="System.Drawing.Size, System.Drawing">
<value>946, 22</value>
</data>
<data name="ssMain.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="ssMain.Text" xml:space="preserve">
<value>statusStrip1</value>
</data>
<data name="&gt;&gt;ssMain.Name" xml:space="preserve">
<value>ssMain</value>
</data>
<data name="&gt;&gt;ssMain.Type" xml:space="preserve">
<value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ssMain.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;ssMain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="toolSslSocksPortLab.Font" type="System.Drawing.Font, System.Drawing">
<value>微软雅黑, 8pt</value>
</data>
@@ -647,57 +725,6 @@
<data name="toolSslBlank4.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 17</value>
</data>
<data name="ssMain.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 151</value>
</data>
<data name="ssMain.Size" type="System.Drawing.Size, System.Drawing">
<value>946, 22</value>
</data>
<data name="ssMain.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="ssMain.Text" xml:space="preserve">
<value>statusStrip1</value>
</data>
<data name="&gt;&gt;ssMain.Name" xml:space="preserve">
<value>ssMain</value>
</data>
<data name="&gt;&gt;ssMain.Type" xml:space="preserve">
<value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ssMain.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;ssMain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 417</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>952, 176</value>
</data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>Information</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;groupBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
@@ -728,18 +755,6 @@
<data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 56</value>
</data>
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>197, 22</value>
</data>
<data name="tsbSubSetting.Text" xml:space="preserve">
<value>Subscription settings</value>
</data>
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>197, 22</value>
</data>
<data name="tsbSubUpdate.Text" xml:space="preserve">
<value>Update subscription</value>
</data>
<data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
@@ -817,15 +832,15 @@
<data name="tsbCheckUpdatePACList.Text" xml:space="preserve">
<value>Check for updated PAC (requires Http proxy)</value>
</data>
<data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
<value>335, 6</value>
</data>
<data name="tsbCheckClearPACList.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 22</value>
</data>
<data name="tsbCheckClearPACList.Text" xml:space="preserve">
<value>Simplify PAC (please set Core route)</value>
</data>
<data name="tsbCheckClearPACList.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
@@ -841,27 +856,6 @@
<data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 56</value>
</data>
<data name="tsbAbout.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbAbout.Text" xml:space="preserve">
<value>About</value>
</data>
<data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 6</value>
</data>
<data name="tsbLanguageDef.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbLanguageDef.Text" xml:space="preserve">
<value>Language-[English]</value>
</data>
<data name="tsbLanguageZhHans.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbLanguageZhHans.Text" xml:space="preserve">
<value>语言-[中文简体]</value>
</data>
<data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
@@ -929,6 +923,39 @@
<data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>197, 22</value>
</data>
<data name="tsbSubSetting.Text" xml:space="preserve">
<value>Subscription settings</value>
</data>
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>197, 22</value>
</data>
<data name="tsbSubUpdate.Text" xml:space="preserve">
<value>Update subscription</value>
</data>
<data name="tsbAbout.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbAbout.Text" xml:space="preserve">
<value>About</value>
</data>
<data name="toolStripSeparator12.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 6</value>
</data>
<data name="tsbLanguageDef.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbLanguageDef.Text" xml:space="preserve">
<value>Language-[English]</value>
</data>
<data name="tsbLanguageZhHans.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 22</value>
</data>
<data name="tsbLanguageZhHans.Text" xml:space="preserve">
<value>语言-[中文简体]</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -1403,6 +1430,12 @@
<data name="&gt;&gt;tsbClose.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator13.Name" xml:space="preserve">
<value>toolStripSeparator13</value>
</data>
<data name="&gt;&gt;toolStripSeparator13.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>MainForm</value>
</data>

View File

@@ -162,7 +162,7 @@ namespace v2rayN
}
public const string StatisticLogOverall = "StatisticLogOverall.json";
public const string IEProxyExceptions = "<local>;localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;172.32.*";
public const string IEProxyExceptions = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*";
#endregion

View File

@@ -182,6 +182,7 @@ namespace v2rayN.Handler
}
}
private void RunSpeedTest()
{
if (_config.vmess.Count <= 0)
@@ -244,7 +245,7 @@ namespace v2rayN.Handler
testCounter++;
var webProxy = new WebProxy(Global.Loopback, httpPort + index);
downloadHandle2.DownloadFileAsync(_config, url, webProxy, 30);
downloadHandle2.DownloadFileAsync(_config, url, webProxy, 20);
return 0;
}

View File

@@ -1398,6 +1398,8 @@ namespace v2rayN.Handler
msg = UIRes.I18N("InitialConfiguration");
Config configCopy = Utils.DeepCopy<Config>(config);
string result = Utils.GetEmbedText(SampleClient);
if (Utils.IsNullOrEmpty(result))
{
@@ -1412,21 +1414,21 @@ namespace v2rayN.Handler
return -1;
}
log(config, ref v2rayConfig, false);
log(configCopy, ref v2rayConfig, false);
//routing(config, ref v2rayConfig);
dns(config, ref v2rayConfig);
dns(configCopy, ref v2rayConfig);
var httpPort = config.GetLocalPort("speedtest");
var httpPort = configCopy.GetLocalPort("speedtest");
for (int k = 0; k < selecteds.Count; k++)
{
int index = selecteds[k];
if (config.vmess[index].configType == (int)EConfigType.Custom)
if (configCopy.vmess[index].configType == (int)EConfigType.Custom)
{
continue;
}
config.index = index;
configCopy.index = index;
var inbound = new Inbounds();
inbound.listen = Global.Loopback;
@@ -1437,7 +1439,7 @@ namespace v2rayN.Handler
var v2rayConfigCopy = Utils.FromJson<V2rayConfig>(result);
outbound(config, ref v2rayConfigCopy);
outbound(configCopy, ref v2rayConfigCopy);
v2rayConfigCopy.outbounds[0].tag = Global.agentTag + inbound.port.ToString();
v2rayConfig.outbounds.Add(v2rayConfigCopy.outbounds[0]);
@@ -1450,7 +1452,7 @@ namespace v2rayN.Handler
Utils.ToJsonFile(v2rayConfig, fileName);
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), config.getSummary());
msg = string.Format(UIRes.I18N("SuccessfulConfiguration"), configCopy.getSummary());
}
catch (Exception ex)
{

View File

@@ -23,7 +23,8 @@ namespace v2rayN.Handler
private static string v2rayConfigRes = Global.v2rayConfigFileName;
private List<string> lstV2ray;
public event ProcessDelegate ProcessEvent;
private int processId = 0;
//private int processId = 0;
private Process _process;
public V2rayHandler()
{
@@ -90,27 +91,49 @@ namespace v2rayN.Handler
{
try
{
bool blExist = true;
if (processId > 0)
if (_process != null)
{
Process p1 = Process.GetProcessById(processId);
if (p1 != null)
{
p1.Kill();
blExist = false;
}
KillProcess(_process);
_process.Dispose();
_process = null;
}
if (blExist)
else
{
foreach (string vName in lstV2ray)
{
Process[] killPro = Process.GetProcessesByName(vName);
foreach (Process p in killPro)
Process[] existing = Process.GetProcessesByName(vName);
foreach (Process p in existing)
{
p.Kill();
var path = p.MainModule.FileName;
if (path == $"{Utils.GetPath(vName)}.exe")
{
KillProcess(p);
}
}
}
}
//bool blExist = true;
//if (processId > 0)
//{
// Process p1 = Process.GetProcessById(processId);
// if (p1 != null)
// {
// p1.Kill();
// blExist = false;
// }
//}
//if (blExist)
//{
// foreach (string vName in lstV2ray)
// {
// Process[] killPro = Process.GetProcessesByName(vName);
// foreach (Process p in killPro)
// {
// p.Kill();
// }
// }
//}
}
catch (Exception ex)
{
@@ -163,7 +186,8 @@ namespace v2rayN.Handler
});
p.Start();
p.BeginOutputReadLine();
processId = p.Id;
//processId = p.Id;
_process = p;
Global.processJob.AddProcess(p.Handle);
}
@@ -187,5 +211,23 @@ namespace v2rayN.Handler
ProcessEvent(notify, msg);
}
}
private void KillProcess(Process p)
{
try
{
p.CloseMainWindow();
p.WaitForExit(100);
if (!p.HasExited)
{
p.Kill();
p.WaitForExit();
}
}
catch (Exception ex)
{
Utils.SaveLog(ex.Message, ex);
}
}
}
}

View File

@@ -82,7 +82,7 @@ namespace v2rayN.HttpProxyHandler
}
}
list.options = optionsPtr;i
list.options = optionsPtr;
// and then make a pointer out of the whole list
IntPtr ipcoListPtr = Marshal.AllocCoTaskMem((int)list.dwSize);

Binary file not shown.

View File

@@ -33,4 +33,4 @@ using System.Runtime.InteropServices;
// 方法是按如下所示使用“*”:
//[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0")]
[assembly: AssemblyFileVersion("3.0")]
[assembly: AssemblyFileVersion("3.3")]

View File

@@ -77,8 +77,17 @@ namespace v2rayN.Tool
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.Length == 0)
{
continue;
entry.ExtractToFile(Utils.GetPath(entry.Name), true);
}
try
{
entry.ExtractToFile(Utils.GetPath(entry.Name), true);
}
catch (IOException ex)
{
Utils.SaveLog(ex.Message, ex);
}
}
}
}

View File

@@ -62,9 +62,9 @@ namespace v2rayUpgrade
}
}
}
catch
catch (Exception ex)
{
MessageBox.Show("Upgrade Failed(升级失败)");
MessageBox.Show("Upgrade Failed(升级失败)." + ex.StackTrace);
return;
}