Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5566df791c | ||
|
|
1ca416bacf | ||
|
|
97d7229974 | ||
|
|
6a0bfc43dd | ||
|
|
732da0c330 | ||
|
|
012bb5654b | ||
|
|
068fe3113b | ||
|
|
4a74102eb7 | ||
|
|
b310cfeda2 | ||
|
|
07cd855446 |
8
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
8
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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=">>cmsMain.Name" xml:space="preserve">
|
||||
<value>cmsMain</value>
|
||||
</data>
|
||||
<data name=">>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=">>cmsMain.Name" xml:space="preserve">
|
||||
<value>cmsMain</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>txtMsgBox.Name" xml:space="preserve">
|
||||
<value>txtMsgBox</value>
|
||||
</data>
|
||||
<data name=">>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=">>txtMsgBox.Parent" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>txtMsgBox.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>ssMain.Name" xml:space="preserve">
|
||||
<value>ssMain</value>
|
||||
</data>
|
||||
<data name=">>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=">>ssMain.Parent" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>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=">>groupBox2.Name" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>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=">>groupBox2.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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=">>ssMain.Name" xml:space="preserve">
|
||||
<value>ssMain</value>
|
||||
</data>
|
||||
<data name=">>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=">>ssMain.Parent" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>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=">>ssMain.Name" xml:space="preserve">
|
||||
<value>ssMain</value>
|
||||
</data>
|
||||
<data name=">>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=">>ssMain.Parent" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>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=">>groupBox2.Name" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>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=">>groupBox2.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>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=">>toolStripSeparator13.Name" xml:space="preserve">
|
||||
<value>toolStripSeparator13</value>
|
||||
</data>
|
||||
<data name=">>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=">>$this.Name" xml:space="preserve">
|
||||
<value>MainForm</value>
|
||||
</data>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -77,6 +77,7 @@ namespace v2rayN.Handler
|
||||
{
|
||||
AbsoluteCompleted(this, new ResultEventArgs(false, "Already the latest version"));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
string url = string.Format(nUrl, version);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,14 +70,22 @@ namespace v2rayN.HttpProxyHandler
|
||||
// copy the array over into that spot in memory ...
|
||||
for (int i = 0; i < options.Length; ++i)
|
||||
{
|
||||
IntPtr opt = new IntPtr(optionsPtr.ToInt32() + (i * optSize));
|
||||
Marshal.StructureToPtr(options[i], opt, false);
|
||||
if (Environment.Is64BitOperatingSystem)
|
||||
{
|
||||
IntPtr opt = new IntPtr(optionsPtr.ToInt64() + (i * optSize));
|
||||
Marshal.StructureToPtr(options[i], opt, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
IntPtr opt = new IntPtr(optionsPtr.ToInt32() + (i * optSize));
|
||||
Marshal.StructureToPtr(options[i], opt, false);
|
||||
}
|
||||
}
|
||||
|
||||
list.options = optionsPtr;
|
||||
|
||||
// and then make a pointer out of the whole list
|
||||
IntPtr ipcoListPtr = Marshal.AllocCoTaskMem((Int32)list.dwSize);
|
||||
IntPtr ipcoListPtr = Marshal.AllocCoTaskMem((int)list.dwSize);
|
||||
Marshal.StructureToPtr(list, ipcoListPtr, false);
|
||||
|
||||
// and finally, call the API method!
|
||||
|
||||
Binary file not shown.
@@ -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")]
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,9 +62,9 @@ namespace v2rayUpgrade
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("Upgrade Failed(升级失败)");
|
||||
MessageBox.Show("Upgrade Failed(升级失败)." + ex.StackTrace);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user