Compare commits

...

12 Commits
3.1 ... 3.4

Author SHA1 Message Date
2dust
a33e586ff4 Update AssemblyInfo.cs 2019-12-26 08:53:16 +08:00
2dust
a1d579e1ec restart core 2019-12-26 08:53:13 +08:00
2dust
59a9fc9a3d Update libs.zip 2019-12-26 08:52:42 +08:00
2dust
194d9a0abc upgrade 2019-12-26 08:52:37 +08:00
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
17 changed files with 284 additions and 195 deletions

View File

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

View File

@@ -363,6 +363,8 @@ namespace v2rayN.Forms
/// </summary> /// </summary>
private void LoadV2ray() private void LoadV2ray()
{ {
tsbReload.Enabled = false;
if (Global.reloadV2ray) if (Global.reloadV2ray)
{ {
ClearMsg(); ClearMsg();
@@ -373,6 +375,8 @@ namespace v2rayN.Forms
statistics?.SaveToFile(); statistics?.SaveToFile();
ChangePACButtonStatus(config.listenerType); ChangePACButtonStatus(config.listenerType);
tsbReload.Enabled = true;
} }
/// <summary> /// <summary>
@@ -966,9 +970,9 @@ namespace v2rayN.Forms
} }
private void ClearTestResult() 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) 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"> <data name="cmsMain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </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"> <data name="menuNotEnabledHttp.Size" type="System.Drawing.Size, System.Drawing">
<value>547, 22</value> <value>547, 22</value>
</data> </data>
@@ -452,12 +473,6 @@
<data name="menuKeepPAC.Text" xml:space="preserve"> <data name="menuKeepPAC.Text" xml:space="preserve">
<value>Only open PAC, do not automatically configure PAC</value> <value>Only open PAC, do not automatically configure PAC</value>
</data> </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"> <data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
<value>264, 22</value> <value>264, 22</value>
</data> </data>
@@ -491,21 +506,6 @@
<data name="menuExit.Text" xml:space="preserve"> <data name="menuExit.Text" xml:space="preserve">
<value>Exit</value> <value>Exit</value>
</data> </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"> <metadata name="bgwScan.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>498, 17</value> <value>498, 17</value>
</metadata> </metadata>
@@ -536,6 +536,60 @@
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve"> <data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>2</value> <value>2</value>
</data> </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"> <data name="txtMsgBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
@@ -572,6 +626,30 @@
<metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>228, 18</value> <value>228, 18</value>
</metadata> </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"> <data name="toolSslSocksPortLab.Font" type="System.Drawing.Font, System.Drawing">
<value>微软雅黑, 8pt</value> <value>微软雅黑, 8pt</value>
</data> </data>
@@ -647,57 +725,6 @@
<data name="toolSslBlank4.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolSslBlank4.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 17</value> <value>0, 17</value>
</data> </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"> <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value> <value>Top</value>
</data> </data>
@@ -728,18 +755,6 @@
<data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 56</value> <value>6, 56</value>
</data> </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"> <data name="tsbSub.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value> <value>Magenta</value>
</data> </data>
@@ -817,15 +832,15 @@
<data name="tsbCheckUpdatePACList.Text" xml:space="preserve"> <data name="tsbCheckUpdatePACList.Text" xml:space="preserve">
<value>Check for updated PAC (requires Http proxy)</value> <value>Check for updated PAC (requires Http proxy)</value>
</data> </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"> <data name="tsbCheckClearPACList.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 22</value> <value>338, 22</value>
</data> </data>
<data name="tsbCheckClearPACList.Text" xml:space="preserve"> <data name="tsbCheckClearPACList.Text" xml:space="preserve">
<value>Simplify PAC (please set Core route)</value> <value>Simplify PAC (please set Core route)</value>
</data> </data>
<data name="tsbCheckClearPACList.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing"> <data name="tsbCheckUpdate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value> <value>Magenta</value>
</data> </data>
@@ -841,27 +856,6 @@
<data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 56</value> <value>6, 56</value>
</data> </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"> <data name="tsbHelp.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value> <value>Magenta</value>
</data> </data>
@@ -929,6 +923,39 @@
<data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve"> <data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve">
<value>5</value> <value>5</value>
</data> </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"> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
@@ -1403,6 +1430,12 @@
<data name="&gt;&gt;tsbClose.Type" xml:space="preserve"> <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> <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </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"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>MainForm</value> <value>MainForm</value>
</data> </data>

View File

@@ -162,7 +162,7 @@ namespace v2rayN
} }
public const string StatisticLogOverall = "StatisticLogOverall.json"; 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 #endregion

View File

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

View File

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

View File

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

View File

@@ -146,7 +146,7 @@ namespace v2rayN.HttpProxyHandler
if (!p.HasExited) if (!p.HasExited)
{ {
p.Kill(); p.Kill();
p.WaitForExit(); p.WaitForExit(100);
} }
} }
catch (Exception ex) catch (Exception 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 // and then make a pointer out of the whole list
IntPtr ipcoListPtr = Marshal.AllocCoTaskMem((int)list.dwSize); 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.*")]
//[assembly: AssemblyVersion("1.0.0")] //[assembly: AssemblyVersion("1.0.0")]
[assembly: AssemblyFileVersion("3.0")] [assembly: AssemblyFileVersion("3.4")]

View File

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

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
</startup> </startup>
</configuration> </configuration>

View File

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

View File

@@ -1,49 +1,44 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
// 运行时版本: 4.0.30319.42000 // 运行时版本:4.0.30319.42000
// //
// 对此文件的更改可能导致不正确的行为,如果 // 对此文件的更改可能导致不正确的行为,并且如果
// 重新生成代码,则所做更改将丢失。 // 重新生成代码,这些更改将丢失。
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace v2rayUpgrade.Properties namespace v2rayUpgrade.Properties {
{ using System;
/// <summary> /// <summary>
/// 强类型资源类,用于查找本地化字符串等。 /// 一个强类型资源类,用于查找本地化字符串等。
/// </summary> /// </summary>
// 此类是由 StronglyTypedResourceBuilder // 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen // 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。 // (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources internal class Resources {
{
private static global::System.Resources.ResourceManager resourceMan; private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture; private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() internal Resources() {
{
} }
/// <summary> /// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。 /// 返回此类使用的缓存 ResourceManager 实例。
/// </summary> /// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager internal static global::System.Resources.ResourceManager ResourceManager {
{ get {
get if (object.ReferenceEquals(resourceMan, null)) {
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("v2rayUpgrade.Properties.Resources", typeof(Resources).Assembly); global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("v2rayUpgrade.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp; resourceMan = temp;
} }
@@ -52,18 +47,15 @@ namespace v2rayUpgrade.Properties
} }
/// <summary> /// <summary>
/// 覆盖当前线程的 CurrentUICulture 属性 /// 重写当前线程的 CurrentUICulture 属性
/// 使用此强类型的资源类的资源查找 /// 重写当前线程的 CurrentUICulture 属性
/// </summary> /// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture internal static global::System.Globalization.CultureInfo Culture {
{ get {
get
{
return resourceCulture; return resourceCulture;
} }
set set {
{
resourceCulture = value; resourceCulture = value;
} }
} }

View File

@@ -1,28 +1,24 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // 此代码由工具生成。
// Runtime Version:4.0.30319.42000 // 运行时版本:4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // 对此文件的更改可能会导致不正确的行为,并且如果
// the code is regenerated. // 重新生成代码,这些更改将会丢失。
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace v2rayUpgrade.Properties namespace v2rayUpgrade.Properties {
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default public static Settings Default {
{ get {
get
{
return defaultInstance; return defaultInstance;
} }
} }

View File

@@ -8,10 +8,11 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>v2rayUpgrade</RootNamespace> <RootNamespace>v2rayUpgrade</RootNamespace>
<AssemblyName>v2rayUpgrade</AssemblyName> <AssemblyName>v2rayUpgrade</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@@ -67,6 +68,7 @@
<Compile Include="Properties\Resources.Designer.cs"> <Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile> </Compile>
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>