mirror of
https://github.com/2dust/v2rayN.git
synced 2025-04-19 21:52:25 +00:00
Showing latency on status bar
This commit is contained in:
parent
1722e50402
commit
2708ff7c1a
4 changed files with 120 additions and 54 deletions
37
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
37
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
|
@ -55,14 +55,14 @@
|
||||||
this.menuTcpingServer = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuTcpingServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuRealPingServer = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuRealPingServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuSpeedServer = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuSpeedServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbTestMe = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuTestMe = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.menuExport2ClientConfig = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ClientConfig = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
|
||||||
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
||||||
|
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
||||||
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
|
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
|
||||||
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
@ -94,6 +94,7 @@
|
||||||
this.toolSslPacPortLab = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslPacPortLab = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslPacPort = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslPacPort = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslBlank3 = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslBlank3 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
|
this.toolSslServerLatency = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel();
|
this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
@ -196,7 +197,7 @@
|
||||||
this.menuTcpingServer,
|
this.menuTcpingServer,
|
||||||
this.menuRealPingServer,
|
this.menuRealPingServer,
|
||||||
this.menuSpeedServer,
|
this.menuSpeedServer,
|
||||||
this.tsbTestMe,
|
this.menuTestMe,
|
||||||
this.toolStripSeparator6,
|
this.toolStripSeparator6,
|
||||||
this.menuExport2ClientConfig,
|
this.menuExport2ClientConfig,
|
||||||
this.menuExport2ServerConfig,
|
this.menuExport2ServerConfig,
|
||||||
|
@ -335,11 +336,11 @@
|
||||||
resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
|
resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
|
||||||
this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
|
this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
|
||||||
//
|
//
|
||||||
// tsbTestMe
|
// menuTestMe
|
||||||
//
|
//
|
||||||
this.tsbTestMe.Name = "tsbTestMe";
|
this.menuTestMe.Name = "menuTestMe";
|
||||||
resources.ApplyResources(this.tsbTestMe, "tsbTestMe");
|
resources.ApplyResources(this.menuTestMe, "menuTestMe");
|
||||||
this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click);
|
this.menuTestMe.Click += new System.EventHandler(this.menuTestMe_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator6
|
// toolStripSeparator6
|
||||||
//
|
//
|
||||||
|
@ -370,6 +371,11 @@
|
||||||
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
||||||
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
||||||
//
|
//
|
||||||
|
// qrCodeControl
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
||||||
|
this.qrCodeControl.Name = "qrCodeControl";
|
||||||
|
//
|
||||||
// tsbServer
|
// tsbServer
|
||||||
//
|
//
|
||||||
this.tsbServer.DropDown = this.cmsLv;
|
this.tsbServer.DropDown = this.cmsLv;
|
||||||
|
@ -377,11 +383,6 @@
|
||||||
resources.ApplyResources(this.tsbServer, "tsbServer");
|
resources.ApplyResources(this.tsbServer, "tsbServer");
|
||||||
this.tsbServer.Name = "tsbServer";
|
this.tsbServer.Name = "tsbServer";
|
||||||
//
|
//
|
||||||
// qrCodeControl
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
|
||||||
this.qrCodeControl.Name = "qrCodeControl";
|
|
||||||
//
|
|
||||||
// notifyMain
|
// notifyMain
|
||||||
//
|
//
|
||||||
this.notifyMain.ContextMenuStrip = this.cmsMain;
|
this.notifyMain.ContextMenuStrip = this.cmsMain;
|
||||||
|
@ -543,6 +544,7 @@
|
||||||
this.toolSslPacPortLab,
|
this.toolSslPacPortLab,
|
||||||
this.toolSslPacPort,
|
this.toolSslPacPort,
|
||||||
this.toolSslBlank3,
|
this.toolSslBlank3,
|
||||||
|
this.toolSslServerLatency,
|
||||||
this.toolSslServerSpeed,
|
this.toolSslServerSpeed,
|
||||||
this.toolSslBlank4});
|
this.toolSslBlank4});
|
||||||
resources.ApplyResources(this.ssMain, "ssMain");
|
resources.ApplyResources(this.ssMain, "ssMain");
|
||||||
|
@ -597,11 +599,19 @@
|
||||||
this.toolSslBlank3.Name = "toolSslBlank3";
|
this.toolSslBlank3.Name = "toolSslBlank3";
|
||||||
this.toolSslBlank3.Spring = true;
|
this.toolSslBlank3.Spring = true;
|
||||||
//
|
//
|
||||||
|
// toolSslServerLatency
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.toolSslServerLatency, "toolSslServerLatency");
|
||||||
|
this.toolSslServerLatency.Name = "toolSslServerLatency";
|
||||||
|
this.toolSslServerLatency.Spring = true;
|
||||||
|
this.toolSslServerLatency.Click += new System.EventHandler(this.toolSslServerLatency_Click);
|
||||||
|
//
|
||||||
// toolSslServerSpeed
|
// toolSslServerSpeed
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed");
|
resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed");
|
||||||
this.toolSslServerSpeed.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
|
this.toolSslServerSpeed.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
|
||||||
this.toolSslServerSpeed.Name = "toolSslServerSpeed";
|
this.toolSslServerSpeed.Name = "toolSslServerSpeed";
|
||||||
|
this.toolSslServerSpeed.Click += new System.EventHandler(this.toolSslServerSpeed_Click);
|
||||||
//
|
//
|
||||||
// toolSslBlank4
|
// toolSslBlank4
|
||||||
//
|
//
|
||||||
|
@ -932,9 +942,10 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsbV2rayWebsite;
|
private System.Windows.Forms.ToolStripMenuItem tsbV2rayWebsite;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuKeepNothing;
|
private System.Windows.Forms.ToolStripMenuItem menuKeepNothing;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuKeepPACNothing;
|
private System.Windows.Forms.ToolStripMenuItem menuKeepPACNothing;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsbTestMe;
|
private System.Windows.Forms.ToolStripMenuItem menuTestMe;
|
||||||
private System.Windows.Forms.ToolStripButton tsbReload;
|
private System.Windows.Forms.ToolStripButton tsbReload;
|
||||||
private System.Windows.Forms.ToolStripButton tsbQRCodeSwitch;
|
private System.Windows.Forms.ToolStripButton tsbQRCodeSwitch;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslServerLatency;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ using v2rayN.Tool;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace v2rayN.Forms
|
namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
|
@ -379,8 +380,23 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region v2ray 操作
|
public static Task autoLatencyRefreshTask;
|
||||||
|
private void autoLatencyRefresh()
|
||||||
|
{
|
||||||
|
if (config.listenerType != ListenerType.noHttpProxy)
|
||||||
|
{
|
||||||
|
if (autoLatencyRefreshTask == null || autoLatencyRefreshTask.IsCompleted)
|
||||||
|
{
|
||||||
|
autoLatencyRefreshTask = Task.Run(async delegate
|
||||||
|
{
|
||||||
|
await Task.Delay(2000);
|
||||||
|
toolSslServerLatencyRefresh();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#region v2ray 操作
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 载入V2ray
|
/// 载入V2ray
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -400,6 +416,8 @@ namespace v2rayN.Forms
|
||||||
ChangePACButtonStatus(config.listenerType);
|
ChangePACButtonStatus(config.listenerType);
|
||||||
|
|
||||||
tsbReload.Enabled = true;
|
tsbReload.Enabled = true;
|
||||||
|
|
||||||
|
autoLatencyRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -674,15 +692,15 @@ namespace v2rayN.Forms
|
||||||
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, actionType, UpdateSpeedtestHandler);
|
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, actionType, UpdateSpeedtestHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbTestMe_Click(object sender, EventArgs e)
|
private async void menuTestMe_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string result = httpProxyTest() + "ms";
|
string result = await httpProxyTest() + "ms";
|
||||||
AppendText(false, string.Format(UIRes.I18N("TestMeOutput"), result));
|
AppendText(false, string.Format(UIRes.I18N("TestMeOutput"), result));
|
||||||
}
|
}
|
||||||
private int httpProxyTest()
|
private async Task<int> httpProxyTest()
|
||||||
{
|
{
|
||||||
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, "", UpdateSpeedtestHandler);
|
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, "", UpdateSpeedtestHandler);
|
||||||
return statistics.RunAvailabilityCheck();
|
return await Task.Run(() => statistics.RunAvailabilityCheck());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void menuExport2ClientConfig_Click(object sender, EventArgs e)
|
private void menuExport2ClientConfig_Click(object sender, EventArgs e)
|
||||||
|
@ -783,6 +801,7 @@ namespace v2rayN.Forms
|
||||||
//刷新
|
//刷新
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
LoadV2ray();
|
LoadV2ray();
|
||||||
|
toolSslServerLatencySet();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1220,11 +1239,11 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
#region CheckUpdate
|
#region CheckUpdate
|
||||||
|
|
||||||
private void askToDownload(DownloadHandle downloadHandle, string url)
|
private async void askToDownload(DownloadHandle downloadHandle, string url)
|
||||||
{
|
{
|
||||||
if (UI.ShowYesNo(string.Format(UIRes.I18N("DownloadYesNo"), url)) == DialogResult.Yes)
|
if (UI.ShowYesNo(string.Format(UIRes.I18N("DownloadYesNo"), url)) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
if (httpProxyTest() > 0)
|
if (await httpProxyTest() > 0)
|
||||||
{
|
{
|
||||||
int httpPort = config.GetLocalPort(Global.InboundHttp);
|
int httpPort = config.GetLocalPort(Global.InboundHttp);
|
||||||
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
|
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
|
||||||
|
@ -1566,5 +1585,25 @@ namespace v2rayN.Forms
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private async void toolSslServerLatencyRefresh()
|
||||||
|
{
|
||||||
|
toolSslServerLatencySet("Measuring...");
|
||||||
|
string result = await httpProxyTest() + "ms";
|
||||||
|
toolSslServerLatencySet(result);
|
||||||
|
}
|
||||||
|
private void toolSslServerLatencySet(string text = "")
|
||||||
|
{
|
||||||
|
toolSslServerLatency.Text = "Latency: " + text;
|
||||||
|
}
|
||||||
|
private void toolSslServerLatency_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
toolSslServerLatencyRefresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void toolSslServerSpeed_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
//toolSslServerLatencyRefresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -716,6 +716,18 @@
|
||||||
<data name=">>menuTcpingServer.Type" xml:space="preserve">
|
<data name=">>menuTcpingServer.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>menuTestMe.Name" xml:space="preserve">
|
||||||
|
<value>menuTestMe</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuTestMe.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>355, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuTestMe.Text" xml:space="preserve">
|
||||||
|
<value>Test current service status</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>menuTestMe.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
<data name=">>menuUpdateSubscriptions.Name" xml:space="preserve">
|
<data name=">>menuUpdateSubscriptions.Name" xml:space="preserve">
|
||||||
<value>menuUpdateSubscriptions</value>
|
<value>menuUpdateSubscriptions</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -873,7 +885,7 @@
|
||||||
<value>toolSslBlank1</value>
|
<value>toolSslBlank1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolSslBlank1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 17</value>
|
<value>152, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslBlank1.Type" xml:space="preserve">
|
<data name=">>toolSslBlank1.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
@ -885,7 +897,7 @@
|
||||||
<value>toolSslBlank2</value>
|
<value>toolSslBlank2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolSslBlank2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 17</value>
|
<value>152, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslBlank2.Type" xml:space="preserve">
|
<data name=">>toolSslBlank2.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
@ -897,7 +909,7 @@
|
||||||
<value>toolSslBlank3</value>
|
<value>toolSslBlank3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslBlank3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolSslBlank3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 17</value>
|
<value>152, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolSslBlank3.Type" xml:space="preserve">
|
<data name=">>toolSslBlank3.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
@ -959,6 +971,27 @@
|
||||||
<data name=">>toolSslPacPortLab.Type" xml:space="preserve">
|
<data name=">>toolSslPacPortLab.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="toolSslServerLatency.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>toolSslServerLatency.Name" xml:space="preserve">
|
||||||
|
<value>toolSslServerLatency</value>
|
||||||
|
</data>
|
||||||
|
<data name="toolSslServerLatency.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>144, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="toolSslServerLatency.Text" xml:space="preserve">
|
||||||
|
<value>Latency:</value>
|
||||||
|
</data>
|
||||||
|
<data name="toolSslServerLatency.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleLeft</value>
|
||||||
|
</data>
|
||||||
|
<data name="toolSslServerLatency.ToolTipText" xml:space="preserve">
|
||||||
|
<value>The http proxy's latency time.</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>toolSslServerLatency.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
<data name="toolSslServerSpeed.AutoSize" type="System.Boolean, mscorlib">
|
<data name="toolSslServerSpeed.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -972,7 +1005,7 @@
|
||||||
<value>No</value>
|
<value>No</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslServerSpeed.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolSslServerSpeed.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>220, 17</value>
|
<value>200, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
||||||
<value>SPEED Disabled</value>
|
<value>SPEED Disabled</value>
|
||||||
|
@ -1418,18 +1451,6 @@
|
||||||
<data name=">>tsbSubUpdate.Type" xml:space="preserve">
|
<data name=">>tsbSubUpdate.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>tsbTestMe.Name" xml:space="preserve">
|
|
||||||
<value>tsbTestMe</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbTestMe.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>355, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbTestMe.Text" xml:space="preserve">
|
|
||||||
<value>Test current service status</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>tsbTestMe.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>tsbV2rayWebsite.Name" xml:space="preserve">
|
<data name=">>tsbV2rayWebsite.Name" xml:space="preserve">
|
||||||
<value>tsbV2rayWebsite</value>
|
<value>tsbV2rayWebsite</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -145,29 +145,24 @@ namespace v2rayN.Handler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int RunAvailabilityCheck() // alias: isLive
|
public async Task<int> RunAvailabilityCheck() // alias: isLive
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int httpPort = _config.GetLocalPort(Global.InboundHttp);
|
int httpPort = _config.GetLocalPort(Global.InboundHttp);
|
||||||
|
try
|
||||||
Task<int> t = Task.Run(() =>
|
|
||||||
{
|
{
|
||||||
try
|
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
|
||||||
{
|
int responseTime = -1;
|
||||||
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
|
string status = GetRealPingTime(Global.AvailabilityTestUrl, webProxy, out responseTime);
|
||||||
int responseTime = -1;
|
bool noError = Utils.IsNullOrEmpty(status);
|
||||||
string status = GetRealPingTime(Global.AvailabilityTestUrl, webProxy, out responseTime);
|
return noError ? responseTime : -1;
|
||||||
bool noError = Utils.IsNullOrEmpty(status);
|
}
|
||||||
return noError ? responseTime : -1;
|
catch (Exception ex)
|
||||||
}
|
{
|
||||||
catch (Exception ex)
|
Utils.SaveLog(ex.Message, ex);
|
||||||
{
|
return -1;
|
||||||
Utils.SaveLog(ex.Message, ex);
|
}
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return t.Result;
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue