Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
111f77c59c | ||
|
|
48218a3dad | ||
|
|
ec3eb2215b | ||
|
|
a6fcf53b10 | ||
|
|
be9bbcc2c7 | ||
|
|
a4a0b29250 | ||
|
|
01b34dd45a | ||
|
|
2d2e4deb82 | ||
|
|
3daa8f479c | ||
|
|
d2ab186e44 | ||
|
|
5b2a6b12af | ||
|
|
5357f504d8 | ||
|
|
df427d80a1 | ||
|
|
b1f5d5ad75 | ||
|
|
af71eed96e | ||
|
|
6293ddacc6 | ||
|
|
c1bb333555 |
@@ -34,6 +34,8 @@ namespace v2rayN.Base
|
||||
}
|
||||
|
||||
private void StartListen()
|
||||
{
|
||||
try
|
||||
{
|
||||
listener = new TcpListener(IPAddress.Any, port);
|
||||
listener.Start();
|
||||
@@ -56,6 +58,11 @@ namespace v2rayN.Base
|
||||
Thread.Sleep(1);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
Utils.SaveLog("WebserverB start fail.");
|
||||
}
|
||||
}
|
||||
private void ProcessThread(object obj)
|
||||
{
|
||||
try
|
||||
|
||||
@@ -17,17 +17,7 @@ namespace v2rayN.Base
|
||||
protected override WebRequest GetWebRequest(Uri address)
|
||||
{
|
||||
HttpWebRequest request;
|
||||
if (address.Scheme == "https")
|
||||
{
|
||||
ServicePointManager.ServerCertificateValidationCallback = (a, b, c, d) => { return true; };
|
||||
request = (HttpWebRequest)base.GetWebRequest(address);
|
||||
//request.ProtocolVersion = HttpVersion.Version10;
|
||||
}
|
||||
else
|
||||
{
|
||||
request = (HttpWebRequest)base.GetWebRequest(address);
|
||||
}
|
||||
|
||||
request.Timeout = Timeout;
|
||||
request.ReadWriteTimeout = Timeout;
|
||||
//request.AllowAutoRedirect = false;
|
||||
|
||||
@@ -153,7 +153,4 @@
|
||||
<data name="menuItemImportClipboard.Text" xml:space="preserve">
|
||||
<value>从剪贴板导入URL</value>
|
||||
</data>
|
||||
<data name="menuItemScanScreen.Text" xml:space="preserve">
|
||||
<value>扫描屏幕上的二维码</value>
|
||||
</data>
|
||||
</root>
|
||||
191
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
191
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
@@ -76,6 +76,7 @@
|
||||
this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuCopyPACUrl = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuUpdateSubscriptions = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.menuExit = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.bgwScan = new System.ComponentModel.BackgroundWorker();
|
||||
@@ -103,7 +104,9 @@
|
||||
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsbOptionSetting = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsbReload = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsbService = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.tsbReload = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsbTestMe = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsbCheckUpdate = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.tsbCheckUpdateN = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -141,17 +144,19 @@
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
resources.ApplyResources(this.splitContainer1.Panel1, "splitContainer1.Panel1");
|
||||
this.splitContainer1.Panel1.Controls.Add(this.lvServers);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
resources.ApplyResources(this.splitContainer1.Panel2, "splitContainer1.Panel2");
|
||||
this.splitContainer1.Panel2.Controls.Add(this.qrCodeControl);
|
||||
this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainer1_SplitterMoved);
|
||||
//
|
||||
// lvServers
|
||||
//
|
||||
this.lvServers.ContextMenuStrip = this.cmsLv;
|
||||
resources.ApplyResources(this.lvServers, "lvServers");
|
||||
this.lvServers.ContextMenuStrip = this.cmsLv;
|
||||
this.lvServers.FullRowSelect = true;
|
||||
this.lvServers.GridLines = true;
|
||||
this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||
@@ -169,6 +174,7 @@
|
||||
//
|
||||
// cmsLv
|
||||
//
|
||||
resources.ApplyResources(this.cmsLv, "cmsLv");
|
||||
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuAddVmessServer,
|
||||
@@ -200,171 +206,170 @@
|
||||
this.menuExport2SubContent});
|
||||
this.cmsLv.Name = "cmsLv";
|
||||
this.cmsLv.OwnerItem = this.tsbServer;
|
||||
resources.ApplyResources(this.cmsLv, "cmsLv");
|
||||
//
|
||||
// menuAddVmessServer
|
||||
//
|
||||
this.menuAddVmessServer.Name = "menuAddVmessServer";
|
||||
resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer");
|
||||
this.menuAddVmessServer.Name = "menuAddVmessServer";
|
||||
this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click);
|
||||
//
|
||||
// menuAddShadowsocksServer
|
||||
//
|
||||
this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
|
||||
resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer");
|
||||
this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
|
||||
this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click);
|
||||
//
|
||||
// menuAddSocksServer
|
||||
//
|
||||
this.menuAddSocksServer.Name = "menuAddSocksServer";
|
||||
resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer");
|
||||
this.menuAddSocksServer.Name = "menuAddSocksServer";
|
||||
this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click);
|
||||
//
|
||||
// menuAddCustomServer
|
||||
//
|
||||
this.menuAddCustomServer.Name = "menuAddCustomServer";
|
||||
resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
|
||||
this.menuAddCustomServer.Name = "menuAddCustomServer";
|
||||
this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click);
|
||||
//
|
||||
// menuAddServers
|
||||
//
|
||||
this.menuAddServers.Name = "menuAddServers";
|
||||
resources.ApplyResources(this.menuAddServers, "menuAddServers");
|
||||
this.menuAddServers.Name = "menuAddServers";
|
||||
this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click);
|
||||
//
|
||||
// menuScanScreen
|
||||
//
|
||||
this.menuScanScreen.Name = "menuScanScreen";
|
||||
resources.ApplyResources(this.menuScanScreen, "menuScanScreen");
|
||||
this.menuScanScreen.Name = "menuScanScreen";
|
||||
this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
//
|
||||
// menuRemoveServer
|
||||
//
|
||||
this.menuRemoveServer.Name = "menuRemoveServer";
|
||||
resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer");
|
||||
this.menuRemoveServer.Name = "menuRemoveServer";
|
||||
this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click);
|
||||
//
|
||||
// menuRemoveDuplicateServer
|
||||
//
|
||||
this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
|
||||
resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer");
|
||||
this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
|
||||
this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click);
|
||||
//
|
||||
// menuCopyServer
|
||||
//
|
||||
this.menuCopyServer.Name = "menuCopyServer";
|
||||
resources.ApplyResources(this.menuCopyServer, "menuCopyServer");
|
||||
this.menuCopyServer.Name = "menuCopyServer";
|
||||
this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click);
|
||||
//
|
||||
// menuSetDefaultServer
|
||||
//
|
||||
this.menuSetDefaultServer.Name = "menuSetDefaultServer";
|
||||
resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
|
||||
this.menuSetDefaultServer.Name = "menuSetDefaultServer";
|
||||
this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
|
||||
//
|
||||
// toolStripSeparator3
|
||||
//
|
||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
|
||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||
//
|
||||
// menuMoveTop
|
||||
//
|
||||
this.menuMoveTop.Name = "menuMoveTop";
|
||||
resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
|
||||
this.menuMoveTop.Name = "menuMoveTop";
|
||||
this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
|
||||
//
|
||||
// menuMoveUp
|
||||
//
|
||||
this.menuMoveUp.Name = "menuMoveUp";
|
||||
resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
|
||||
this.menuMoveUp.Name = "menuMoveUp";
|
||||
this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
|
||||
//
|
||||
// menuMoveDown
|
||||
//
|
||||
this.menuMoveDown.Name = "menuMoveDown";
|
||||
resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
|
||||
this.menuMoveDown.Name = "menuMoveDown";
|
||||
this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
|
||||
//
|
||||
// menuMoveBottom
|
||||
//
|
||||
this.menuMoveBottom.Name = "menuMoveBottom";
|
||||
resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
|
||||
this.menuMoveBottom.Name = "menuMoveBottom";
|
||||
this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
|
||||
//
|
||||
// menuSelectAll
|
||||
//
|
||||
this.menuSelectAll.Name = "menuSelectAll";
|
||||
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
|
||||
this.menuSelectAll.Name = "menuSelectAll";
|
||||
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
|
||||
//
|
||||
// toolStripSeparator9
|
||||
//
|
||||
this.toolStripSeparator9.Name = "toolStripSeparator9";
|
||||
resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
|
||||
this.toolStripSeparator9.Name = "toolStripSeparator9";
|
||||
//
|
||||
// menuPingServer
|
||||
//
|
||||
this.menuPingServer.Name = "menuPingServer";
|
||||
resources.ApplyResources(this.menuPingServer, "menuPingServer");
|
||||
this.menuPingServer.Name = "menuPingServer";
|
||||
this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click);
|
||||
//
|
||||
// menuTcpingServer
|
||||
//
|
||||
this.menuTcpingServer.Name = "menuTcpingServer";
|
||||
resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer");
|
||||
this.menuTcpingServer.Name = "menuTcpingServer";
|
||||
this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click);
|
||||
//
|
||||
// menuRealPingServer
|
||||
//
|
||||
this.menuRealPingServer.Name = "menuRealPingServer";
|
||||
resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer");
|
||||
this.menuRealPingServer.Name = "menuRealPingServer";
|
||||
this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click);
|
||||
//
|
||||
// menuSpeedServer
|
||||
//
|
||||
this.menuSpeedServer.Name = "menuSpeedServer";
|
||||
resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
|
||||
this.menuSpeedServer.Name = "menuSpeedServer";
|
||||
this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
|
||||
//
|
||||
// toolStripSeparator6
|
||||
//
|
||||
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
||||
resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
|
||||
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
||||
//
|
||||
// menuExport2ClientConfig
|
||||
//
|
||||
this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
|
||||
resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig");
|
||||
this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
|
||||
this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click);
|
||||
//
|
||||
// menuExport2ServerConfig
|
||||
//
|
||||
this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
|
||||
resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig");
|
||||
this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
|
||||
this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click);
|
||||
//
|
||||
// menuExport2ShareUrl
|
||||
//
|
||||
this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
|
||||
resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl");
|
||||
this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
|
||||
this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click);
|
||||
//
|
||||
// menuExport2SubContent
|
||||
//
|
||||
this.menuExport2SubContent.Name = "menuExport2SubContent";
|
||||
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
||||
this.menuExport2SubContent.Name = "menuExport2SubContent";
|
||||
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
||||
//
|
||||
// tsbServer
|
||||
//
|
||||
resources.ApplyResources(this.tsbServer, "tsbServer");
|
||||
this.tsbServer.DropDown = this.cmsLv;
|
||||
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
|
||||
resources.ApplyResources(this.tsbServer, "tsbServer");
|
||||
this.tsbServer.Name = "tsbServer";
|
||||
//
|
||||
// qrCodeControl
|
||||
@@ -374,20 +379,21 @@
|
||||
//
|
||||
// notifyMain
|
||||
//
|
||||
this.notifyMain.ContextMenuStrip = this.cmsMain;
|
||||
resources.ApplyResources(this.notifyMain, "notifyMain");
|
||||
this.notifyMain.ContextMenuStrip = this.cmsMain;
|
||||
this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick);
|
||||
//
|
||||
// cmsMain
|
||||
//
|
||||
this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
resources.ApplyResources(this.cmsMain, "cmsMain");
|
||||
this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||
this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuSysAgentMode,
|
||||
this.menuServers,
|
||||
this.menuAddServers2,
|
||||
this.menuScanScreen2,
|
||||
this.menuCopyPACUrl,
|
||||
this.menuUpdateSubscriptions,
|
||||
this.toolStripSeparator2,
|
||||
this.menuExit});
|
||||
this.cmsMain.Name = "contextMenuStrip1";
|
||||
@@ -397,6 +403,7 @@
|
||||
//
|
||||
// menuSysAgentMode
|
||||
//
|
||||
resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
|
||||
this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuNotEnabledHttp,
|
||||
this.menuGlobal,
|
||||
@@ -406,82 +413,87 @@
|
||||
this.menuKeepNothing,
|
||||
this.menuKeepPACNothing});
|
||||
this.menuSysAgentMode.Name = "menuSysAgentMode";
|
||||
resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
|
||||
//
|
||||
// menuNotEnabledHttp
|
||||
//
|
||||
this.menuNotEnabledHttp.Name = "menuNotEnabledHttp";
|
||||
resources.ApplyResources(this.menuNotEnabledHttp, "menuNotEnabledHttp");
|
||||
this.menuNotEnabledHttp.Name = "menuNotEnabledHttp";
|
||||
this.menuNotEnabledHttp.Click += new System.EventHandler(this.menuNotEnabledHttp_Click);
|
||||
//
|
||||
// menuGlobal
|
||||
//
|
||||
this.menuGlobal.Name = "menuGlobal";
|
||||
resources.ApplyResources(this.menuGlobal, "menuGlobal");
|
||||
this.menuGlobal.Name = "menuGlobal";
|
||||
this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click);
|
||||
//
|
||||
// menuGlobalPAC
|
||||
//
|
||||
this.menuGlobalPAC.Name = "menuGlobalPAC";
|
||||
resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC");
|
||||
this.menuGlobalPAC.Name = "menuGlobalPAC";
|
||||
this.menuGlobalPAC.Click += new System.EventHandler(this.menuGlobalPAC_Click);
|
||||
//
|
||||
// menuKeep
|
||||
//
|
||||
this.menuKeep.Name = "menuKeep";
|
||||
resources.ApplyResources(this.menuKeep, "menuKeep");
|
||||
this.menuKeep.Name = "menuKeep";
|
||||
this.menuKeep.Click += new System.EventHandler(this.menuKeep_Click);
|
||||
//
|
||||
// menuKeepPAC
|
||||
//
|
||||
this.menuKeepPAC.Name = "menuKeepPAC";
|
||||
resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC");
|
||||
this.menuKeepPAC.Name = "menuKeepPAC";
|
||||
this.menuKeepPAC.Click += new System.EventHandler(this.menuKeepPAC_Click);
|
||||
//
|
||||
// menuKeepNothing
|
||||
//
|
||||
this.menuKeepNothing.Name = "menuKeepNothing";
|
||||
resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing");
|
||||
this.menuKeepNothing.Name = "menuKeepNothing";
|
||||
this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click);
|
||||
//
|
||||
// menuKeepPACNothing
|
||||
//
|
||||
this.menuKeepPACNothing.Name = "menuKeepPACNothing";
|
||||
resources.ApplyResources(this.menuKeepPACNothing, "menuKeepPACNothing");
|
||||
this.menuKeepPACNothing.Name = "menuKeepPACNothing";
|
||||
this.menuKeepPACNothing.Click += new System.EventHandler(this.menuKeepPACNothing_Click);
|
||||
//
|
||||
// menuServers
|
||||
//
|
||||
this.menuServers.Name = "menuServers";
|
||||
resources.ApplyResources(this.menuServers, "menuServers");
|
||||
this.menuServers.Name = "menuServers";
|
||||
//
|
||||
// menuAddServers2
|
||||
//
|
||||
this.menuAddServers2.Name = "menuAddServers2";
|
||||
resources.ApplyResources(this.menuAddServers2, "menuAddServers2");
|
||||
this.menuAddServers2.Name = "menuAddServers2";
|
||||
this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click);
|
||||
//
|
||||
// menuScanScreen2
|
||||
//
|
||||
this.menuScanScreen2.Name = "menuScanScreen2";
|
||||
resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2");
|
||||
this.menuScanScreen2.Name = "menuScanScreen2";
|
||||
this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click);
|
||||
//
|
||||
// menuCopyPACUrl
|
||||
//
|
||||
this.menuCopyPACUrl.Name = "menuCopyPACUrl";
|
||||
resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl");
|
||||
this.menuCopyPACUrl.Name = "menuCopyPACUrl";
|
||||
this.menuCopyPACUrl.Click += new System.EventHandler(this.menuCopyPACUrl_Click);
|
||||
//
|
||||
// menuUpdateSubscriptions
|
||||
//
|
||||
resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions");
|
||||
this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions";
|
||||
this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
//
|
||||
// menuExit
|
||||
//
|
||||
this.menuExit.Name = "menuExit";
|
||||
resources.ApplyResources(this.menuExit, "menuExit");
|
||||
this.menuExit.Name = "menuExit";
|
||||
this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
|
||||
//
|
||||
// bgwScan
|
||||
@@ -492,30 +504,31 @@
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.splitContainer1);
|
||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||
this.groupBox1.Controls.Add(this.splitContainer1);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.TabStop = false;
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||
this.groupBox2.Controls.Add(this.txtMsgBox);
|
||||
this.groupBox2.Controls.Add(this.ssMain);
|
||||
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.TabStop = false;
|
||||
//
|
||||
// txtMsgBox
|
||||
//
|
||||
resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
|
||||
this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52)))));
|
||||
this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
|
||||
this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228)))));
|
||||
this.txtMsgBox.Name = "txtMsgBox";
|
||||
this.txtMsgBox.ReadOnly = true;
|
||||
//
|
||||
// ssMain
|
||||
//
|
||||
resources.ApplyResources(this.ssMain, "ssMain");
|
||||
this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolSslSocksPortLab,
|
||||
this.toolSslSocksPort,
|
||||
@@ -528,7 +541,6 @@
|
||||
this.toolSslBlank3,
|
||||
this.toolSslServerSpeed,
|
||||
this.toolSslBlank4});
|
||||
resources.ApplyResources(this.ssMain, "ssMain");
|
||||
this.ssMain.Name = "ssMain";
|
||||
this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked);
|
||||
//
|
||||
@@ -539,8 +551,8 @@
|
||||
//
|
||||
// toolSslSocksPort
|
||||
//
|
||||
this.toolSslSocksPort.Name = "toolSslSocksPort";
|
||||
resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort");
|
||||
this.toolSslSocksPort.Name = "toolSslSocksPort";
|
||||
//
|
||||
// toolSslBlank1
|
||||
//
|
||||
@@ -555,8 +567,8 @@
|
||||
//
|
||||
// toolSslHttpPort
|
||||
//
|
||||
this.toolSslHttpPort.Name = "toolSslHttpPort";
|
||||
resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort");
|
||||
this.toolSslHttpPort.Name = "toolSslHttpPort";
|
||||
//
|
||||
// toolSslBlank2
|
||||
//
|
||||
@@ -571,8 +583,8 @@
|
||||
//
|
||||
// toolSslPacPort
|
||||
//
|
||||
this.toolSslPacPort.Name = "toolSslPacPort";
|
||||
resources.ApplyResources(this.toolSslPacPort, "toolSslPacPort");
|
||||
this.toolSslPacPort.Name = "toolSslPacPort";
|
||||
//
|
||||
// toolSslBlank3
|
||||
//
|
||||
@@ -588,8 +600,8 @@
|
||||
//
|
||||
// toolSslBlank4
|
||||
//
|
||||
this.toolSslBlank4.Name = "toolSslBlank4";
|
||||
resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4");
|
||||
this.toolSslBlank4.Name = "toolSslBlank4";
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
@@ -598,6 +610,7 @@
|
||||
//
|
||||
// tsMain
|
||||
//
|
||||
resources.ApplyResources(this.tsMain, "tsMain");
|
||||
this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32);
|
||||
this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsbServer,
|
||||
@@ -606,7 +619,7 @@
|
||||
this.toolStripSeparator8,
|
||||
this.tsbOptionSetting,
|
||||
this.toolStripSeparator5,
|
||||
this.tsbReload,
|
||||
this.tsbService,
|
||||
this.toolStripSeparator7,
|
||||
this.tsbCheckUpdate,
|
||||
this.toolStripSeparator10,
|
||||
@@ -614,51 +627,58 @@
|
||||
this.tsbPromotion,
|
||||
this.toolStripSeparator11,
|
||||
this.tsbClose});
|
||||
resources.ApplyResources(this.tsMain, "tsMain");
|
||||
this.tsMain.Name = "tsMain";
|
||||
//
|
||||
// toolStripSeparator4
|
||||
//
|
||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||
resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
|
||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||
//
|
||||
// tsbSub
|
||||
//
|
||||
resources.ApplyResources(this.tsbSub, "tsbSub");
|
||||
this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsbSubSetting,
|
||||
this.tsbSubUpdate});
|
||||
this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
|
||||
resources.ApplyResources(this.tsbSub, "tsbSub");
|
||||
this.tsbSub.Name = "tsbSub";
|
||||
//
|
||||
// tsbSubSetting
|
||||
//
|
||||
this.tsbSubSetting.Name = "tsbSubSetting";
|
||||
resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting");
|
||||
this.tsbSubSetting.Name = "tsbSubSetting";
|
||||
this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click);
|
||||
//
|
||||
// tsbSubUpdate
|
||||
//
|
||||
this.tsbSubUpdate.Name = "tsbSubUpdate";
|
||||
resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
|
||||
this.tsbSubUpdate.Name = "tsbSubUpdate";
|
||||
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
|
||||
//
|
||||
// toolStripSeparator8
|
||||
//
|
||||
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
||||
resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
|
||||
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
||||
//
|
||||
// tsbOptionSetting
|
||||
//
|
||||
this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option;
|
||||
resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting");
|
||||
this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option;
|
||||
this.tsbOptionSetting.Name = "tsbOptionSetting";
|
||||
this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click);
|
||||
//
|
||||
// toolStripSeparator5
|
||||
//
|
||||
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
||||
resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
|
||||
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
||||
//
|
||||
// tsbService
|
||||
//
|
||||
resources.ApplyResources(this.tsbService, "tsbService");
|
||||
this.tsbService.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsbReload,
|
||||
this.tsbTestMe});
|
||||
this.tsbService.Name = "tsbService";
|
||||
//
|
||||
// tsbReload
|
||||
//
|
||||
@@ -666,13 +686,20 @@
|
||||
this.tsbReload.Name = "tsbReload";
|
||||
this.tsbReload.Click += new System.EventHandler(this.tsbReload_Click);
|
||||
//
|
||||
// tsbTestMe
|
||||
//
|
||||
resources.ApplyResources(this.tsbTestMe, "tsbTestMe");
|
||||
this.tsbTestMe.Name = "tsbTestMe";
|
||||
this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click);
|
||||
//
|
||||
// toolStripSeparator7
|
||||
//
|
||||
this.toolStripSeparator7.Name = "toolStripSeparator7";
|
||||
resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
|
||||
this.toolStripSeparator7.Name = "toolStripSeparator7";
|
||||
//
|
||||
// tsbCheckUpdate
|
||||
//
|
||||
resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
|
||||
this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsbCheckUpdateN,
|
||||
this.tsbCheckUpdateCore,
|
||||
@@ -680,45 +707,45 @@
|
||||
this.toolStripSeparator13,
|
||||
this.tsbCheckClearPACList});
|
||||
this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate;
|
||||
resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
|
||||
this.tsbCheckUpdate.Name = "tsbCheckUpdate";
|
||||
//
|
||||
// tsbCheckUpdateN
|
||||
//
|
||||
this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
|
||||
resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN");
|
||||
this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
|
||||
this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click);
|
||||
//
|
||||
// tsbCheckUpdateCore
|
||||
//
|
||||
this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
|
||||
resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore");
|
||||
this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
|
||||
this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click);
|
||||
//
|
||||
// tsbCheckUpdatePACList
|
||||
//
|
||||
this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList";
|
||||
resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList");
|
||||
this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList";
|
||||
this.tsbCheckUpdatePACList.Click += new System.EventHandler(this.tsbCheckUpdatePACList_Click);
|
||||
//
|
||||
// toolStripSeparator13
|
||||
//
|
||||
this.toolStripSeparator13.Name = "toolStripSeparator13";
|
||||
resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13");
|
||||
this.toolStripSeparator13.Name = "toolStripSeparator13";
|
||||
//
|
||||
// tsbCheckClearPACList
|
||||
//
|
||||
this.tsbCheckClearPACList.Name = "tsbCheckClearPACList";
|
||||
resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList");
|
||||
this.tsbCheckClearPACList.Name = "tsbCheckClearPACList";
|
||||
this.tsbCheckClearPACList.Click += new System.EventHandler(this.tsbCheckClearPACList_Click);
|
||||
//
|
||||
// toolStripSeparator10
|
||||
//
|
||||
this.toolStripSeparator10.Name = "toolStripSeparator10";
|
||||
resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
|
||||
this.toolStripSeparator10.Name = "toolStripSeparator10";
|
||||
//
|
||||
// tsbHelp
|
||||
//
|
||||
resources.ApplyResources(this.tsbHelp, "tsbHelp");
|
||||
this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsbAbout,
|
||||
this.tsbV2rayWebsite,
|
||||
@@ -726,50 +753,49 @@
|
||||
this.tsbLanguageDef,
|
||||
this.tsbLanguageZhHans});
|
||||
this.tsbHelp.Image = global::v2rayN.Properties.Resources.help;
|
||||
resources.ApplyResources(this.tsbHelp, "tsbHelp");
|
||||
this.tsbHelp.Name = "tsbHelp";
|
||||
//
|
||||
// tsbAbout
|
||||
//
|
||||
this.tsbAbout.Name = "tsbAbout";
|
||||
resources.ApplyResources(this.tsbAbout, "tsbAbout");
|
||||
this.tsbAbout.Name = "tsbAbout";
|
||||
this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click);
|
||||
//
|
||||
// tsbV2rayWebsite
|
||||
//
|
||||
this.tsbV2rayWebsite.Name = "tsbV2rayWebsite";
|
||||
resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite");
|
||||
this.tsbV2rayWebsite.Name = "tsbV2rayWebsite";
|
||||
this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click);
|
||||
//
|
||||
// toolStripSeparator12
|
||||
//
|
||||
this.toolStripSeparator12.Name = "toolStripSeparator12";
|
||||
resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12");
|
||||
this.toolStripSeparator12.Name = "toolStripSeparator12";
|
||||
//
|
||||
// tsbLanguageDef
|
||||
//
|
||||
this.tsbLanguageDef.Name = "tsbLanguageDef";
|
||||
resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef");
|
||||
this.tsbLanguageDef.Name = "tsbLanguageDef";
|
||||
this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click);
|
||||
//
|
||||
// tsbLanguageZhHans
|
||||
//
|
||||
this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
|
||||
resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans");
|
||||
this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
|
||||
this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click);
|
||||
//
|
||||
// tsbPromotion
|
||||
//
|
||||
resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
|
||||
this.tsbPromotion.ForeColor = System.Drawing.Color.Black;
|
||||
this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion;
|
||||
resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
|
||||
this.tsbPromotion.Name = "tsbPromotion";
|
||||
this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click);
|
||||
//
|
||||
// toolStripSeparator11
|
||||
//
|
||||
this.toolStripSeparator11.Name = "toolStripSeparator11";
|
||||
resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
|
||||
this.toolStripSeparator11.Name = "toolStripSeparator11";
|
||||
//
|
||||
// tsbClose
|
||||
//
|
||||
@@ -835,7 +861,6 @@
|
||||
private System.Windows.Forms.ToolStrip tsMain;
|
||||
private System.Windows.Forms.ToolStripDropDownButton tsbServer;
|
||||
private System.Windows.Forms.ToolStripButton tsbOptionSetting;
|
||||
private System.Windows.Forms.ToolStripButton tsbReload;
|
||||
private System.Windows.Forms.ToolStripButton tsbClose;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
|
||||
@@ -901,9 +926,13 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem menuRealPingServer;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuNotEnabledHttp;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator13;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuUpdateSubscriptions;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsbV2rayWebsite;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuKeepNothing;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuKeepPACNothing;
|
||||
private System.Windows.Forms.ToolStripDropDownButton tsbService;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsbReload;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsbTestMe;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ using v2rayN.Mode;
|
||||
using v2rayN.Base;
|
||||
using v2rayN.Tool;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Net;
|
||||
|
||||
namespace v2rayN.Forms
|
||||
{
|
||||
@@ -239,6 +241,16 @@ namespace v2rayN.Forms
|
||||
item.testResult
|
||||
});
|
||||
}
|
||||
if (k % 2 == 1) // 隔行着色
|
||||
{
|
||||
lvItem.BackColor = Color.WhiteSmoke;
|
||||
}
|
||||
if (config.index.Equals(k))
|
||||
{
|
||||
//lvItem.Checked = true;
|
||||
lvItem.ForeColor = Color.Blue;
|
||||
lvItem.Font = new Font(lvItem.Font, FontStyle.Bold);
|
||||
}
|
||||
|
||||
if (lvItem != null) lvServers.Items.Add(lvItem);
|
||||
}
|
||||
@@ -322,10 +334,12 @@ namespace v2rayN.Forms
|
||||
|
||||
toolSslSocksPort.Text = $"{Global.Loopback}:{config.inbound[0].localPort}";
|
||||
|
||||
if (config.listenerType != 0)
|
||||
if (config.listenerType != (int)ListenerType.noHttpProxy)
|
||||
{
|
||||
toolSslHttpPort.Text = $"{Global.Loopback}:{Global.httpPort}";
|
||||
if (config.listenerType % 2 == 0)
|
||||
if (config.listenerType == ListenerType.GlobalPac ||
|
||||
config.listenerType == ListenerType.PacOpenAndClear ||
|
||||
config.listenerType == ListenerType.PacOpenOnly)
|
||||
{
|
||||
if (PACServerHandle.IsRunning)
|
||||
{
|
||||
@@ -357,7 +371,7 @@ namespace v2rayN.Forms
|
||||
/// </summary>
|
||||
private void LoadV2ray()
|
||||
{
|
||||
tsbReload.Enabled = false;
|
||||
tsbService.Enabled = false;
|
||||
|
||||
if (Global.reloadV2ray)
|
||||
{
|
||||
@@ -370,7 +384,7 @@ namespace v2rayN.Forms
|
||||
|
||||
ChangePACButtonStatus(config.listenerType);
|
||||
|
||||
tsbReload.Enabled = true;
|
||||
tsbService.Enabled = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -640,7 +654,7 @@ namespace v2rayN.Forms
|
||||
}
|
||||
private void Speedtest(string actionType)
|
||||
{
|
||||
GetLvSelectedIndex();
|
||||
if (GetLvSelectedIndex() < 0) return;
|
||||
ClearTestResult();
|
||||
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, actionType, UpdateSpeedtestHandler);
|
||||
}
|
||||
@@ -871,6 +885,11 @@ namespace v2rayN.Forms
|
||||
return counter;
|
||||
}
|
||||
|
||||
private void menuUpdateSubscriptions_Click(object sender, EventArgs e)
|
||||
{
|
||||
UpdateSubscriptionProcess();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -1116,41 +1135,41 @@ namespace v2rayN.Forms
|
||||
|
||||
private void menuNotEnabledHttp_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetListenerType(0);
|
||||
SetListenerType(ListenerType.noHttpProxy);
|
||||
}
|
||||
private void menuGlobal_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetListenerType(1);
|
||||
SetListenerType(ListenerType.GlobalHttp);
|
||||
}
|
||||
private void menuGlobalPAC_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetListenerType(2);
|
||||
SetListenerType(ListenerType.GlobalPac);
|
||||
}
|
||||
private void menuKeep_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetListenerType(3);
|
||||
SetListenerType(ListenerType.HttpOpenAndClear);
|
||||
}
|
||||
private void menuKeepPAC_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetListenerType(4);
|
||||
SetListenerType(ListenerType.PacOpenAndClear);
|
||||
}
|
||||
private void menuKeepNothing_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetListenerType(5);
|
||||
SetListenerType(ListenerType.HttpOpenOnly);
|
||||
}
|
||||
private void menuKeepPACNothing_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetListenerType(6);
|
||||
SetListenerType(ListenerType.PacOpenOnly);
|
||||
}
|
||||
private void SetListenerType(int type)
|
||||
private void SetListenerType(ListenerType type)
|
||||
{
|
||||
config.listenerType = type;
|
||||
ChangePACButtonStatus(type);
|
||||
}
|
||||
|
||||
private void ChangePACButtonStatus(int type)
|
||||
private void ChangePACButtonStatus(ListenerType type)
|
||||
{
|
||||
if (type != 0)
|
||||
if (type != ListenerType.noHttpProxy)
|
||||
{
|
||||
HttpProxyHandle.RestartHttpAgent(config, false);
|
||||
}
|
||||
@@ -1162,7 +1181,7 @@ namespace v2rayN.Forms
|
||||
for (int k = 0; k < menuSysAgentMode.DropDownItems.Count; k++)
|
||||
{
|
||||
ToolStripMenuItem item = ((ToolStripMenuItem)menuSysAgentMode.DropDownItems[k]);
|
||||
item.Checked = (type == k);
|
||||
item.Checked = ((int)type == k);
|
||||
}
|
||||
|
||||
ConfigHandler.SaveConfig(ref config, false);
|
||||
@@ -1174,6 +1193,22 @@ namespace v2rayN.Forms
|
||||
|
||||
#region CheckUpdate
|
||||
|
||||
private void askToDownload(DownloadHandle downloadHandle, string url)
|
||||
{
|
||||
if (UI.ShowYesNo(string.Format(UIRes.I18N("DownloadYesNo"), url)) == DialogResult.Yes)
|
||||
{
|
||||
if (httpProxyTest() > 0)
|
||||
{
|
||||
int httpPort = config.GetLocalPort(Global.InboundHttp);
|
||||
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
|
||||
downloadHandle.DownloadFileAsync(url, webProxy, 60);
|
||||
}
|
||||
else
|
||||
{
|
||||
downloadHandle.DownloadFileAsync(url, null, 60);
|
||||
}
|
||||
}
|
||||
}
|
||||
private void tsbCheckUpdateN_Click(object sender, EventArgs e)
|
||||
{
|
||||
//System.Diagnostics.Process.Start(Global.UpdateUrl);
|
||||
@@ -1190,15 +1225,7 @@ namespace v2rayN.Forms
|
||||
string url = args.Msg;
|
||||
this.Invoke((MethodInvoker)(delegate
|
||||
{
|
||||
|
||||
if (UI.ShowYesNo(string.Format(UIRes.I18N("DownloadYesNo"), url)) == DialogResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
downloadHandle.DownloadFileAsync(url, null, -1);
|
||||
}
|
||||
askToDownload(downloadHandle, url);
|
||||
}));
|
||||
}
|
||||
else
|
||||
@@ -1215,7 +1242,7 @@ namespace v2rayN.Forms
|
||||
try
|
||||
{
|
||||
string fileName = Utils.GetPath(downloadHandle.DownloadFileName);
|
||||
Process process = Process.Start("v2rayUpgrade.exe", fileName);
|
||||
Process process = Process.Start("v2rayUpgrade.exe", "\"" + fileName + "\"");
|
||||
if (process.Id > 0)
|
||||
{
|
||||
menuExit_Click(null, null);
|
||||
@@ -1256,15 +1283,7 @@ namespace v2rayN.Forms
|
||||
string url = args.Msg;
|
||||
this.Invoke((MethodInvoker)(delegate
|
||||
{
|
||||
|
||||
if (UI.ShowYesNo(string.Format(UIRes.I18N("DownloadYesNo"), url)) == DialogResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
downloadHandle.DownloadFileAsync(url, null, -1);
|
||||
}
|
||||
askToDownload(downloadHandle, url);
|
||||
}));
|
||||
}
|
||||
else
|
||||
@@ -1415,6 +1434,14 @@ namespace v2rayN.Forms
|
||||
}
|
||||
|
||||
private void tsbSubUpdate_Click(object sender, EventArgs e)
|
||||
{
|
||||
UpdateSubscriptionProcess();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// the subscription update process
|
||||
/// </summary>
|
||||
private void UpdateSubscriptionProcess()
|
||||
{
|
||||
AppendText(false, UIRes.I18N("MsgUpdateSubscriptionStart"));
|
||||
|
||||
@@ -1495,7 +1522,7 @@ namespace v2rayN.Forms
|
||||
private void SetCurrentLanguage(string value)
|
||||
{
|
||||
Utils.RegWriteValue(Global.MyRegPath, Global.MyRegKeyLanguage, value);
|
||||
Application.Restart();
|
||||
//Application.Restart();
|
||||
}
|
||||
|
||||
|
||||
@@ -1505,5 +1532,16 @@ namespace v2rayN.Forms
|
||||
{
|
||||
Process.Start(Global.v2rayWebsiteUrl);
|
||||
}
|
||||
|
||||
private void tsbTestMe_Click(object sender, EventArgs e)
|
||||
{
|
||||
string result = httpProxyTest() + "ms";
|
||||
AppendText(false, string.Format(UIRes.I18N("TestMeOutput"), result));
|
||||
}
|
||||
private int httpProxyTest()
|
||||
{
|
||||
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, "", UpdateSpeedtestHandler);
|
||||
return statistics.RunAvailabilityCheck();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -118,52 +118,11 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>301, 534</value>
|
||||
</data>
|
||||
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>196, 142</value>
|
||||
</data>
|
||||
<data name="groupBox1.Text" xml:space="preserve">
|
||||
<value>服务器列表</value>
|
||||
</data>
|
||||
<data name="groupBox2.Text" xml:space="preserve">
|
||||
<value>信息</value>
|
||||
</data>
|
||||
<data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
|
||||
ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
|
||||
PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
|
||||
BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
|
||||
bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
|
||||
bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
|
||||
dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
|
||||
CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
|
||||
bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
|
||||
bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
|
||||
////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
|
||||
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="menuAddCustomServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<data name="menuAddVmessServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuAddCustomServer.Text" xml:space="preserve">
|
||||
<value>添加自定义配置服务器</value>
|
||||
</data>
|
||||
<data name="menuAddServers.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuAddServers.Text" xml:space="preserve">
|
||||
<value>从剪贴板导入批量URL (Ctrl+V)</value>
|
||||
</data>
|
||||
<data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="menuAddServers2.Text" xml:space="preserve">
|
||||
<value>从剪贴板导入批量URL</value>
|
||||
<data name="menuAddVmessServer.Text" xml:space="preserve">
|
||||
<value>添加[VMess]服务器</value>
|
||||
</data>
|
||||
<data name="menuAddShadowsocksServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
@@ -177,17 +136,38 @@
|
||||
<data name="menuAddSocksServer.Text" xml:space="preserve">
|
||||
<value>添加[Socks]服务器</value>
|
||||
</data>
|
||||
<data name="menuAddVmessServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<data name="menuAddCustomServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuAddVmessServer.Text" xml:space="preserve">
|
||||
<value>添加[VMess]服务器</value>
|
||||
<data name="menuAddCustomServer.Text" xml:space="preserve">
|
||||
<value>添加自定义配置服务器</value>
|
||||
</data>
|
||||
<data name="menuCopyPACUrl.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
<data name="menuAddServers.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuCopyPACUrl.Text" xml:space="preserve">
|
||||
<value>复制本地PAC网址</value>
|
||||
<data name="menuAddServers.Text" xml:space="preserve">
|
||||
<value>从剪贴板导入批量URL (Ctrl+V)</value>
|
||||
</data>
|
||||
<data name="menuScanScreen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuScanScreen.Text" xml:space="preserve">
|
||||
<value>扫描屏幕上的二维码 (Ctrl+S)</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>297, 6</value>
|
||||
</data>
|
||||
<data name="menuRemoveServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuRemoveServer.Text" xml:space="preserve">
|
||||
<value>移除所选服务器(多选) (Delete)</value>
|
||||
</data>
|
||||
<data name="menuRemoveDuplicateServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuRemoveDuplicateServer.Text" xml:space="preserve">
|
||||
<value>移除重复的服务器</value>
|
||||
</data>
|
||||
<data name="menuCopyServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
@@ -195,11 +175,74 @@
|
||||
<data name="menuCopyServer.Text" xml:space="preserve">
|
||||
<value>克隆所选服务器</value>
|
||||
</data>
|
||||
<data name="menuExit.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
<data name="menuSetDefaultServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuExit.Text" xml:space="preserve">
|
||||
<value>退出</value>
|
||||
<data name="menuSetDefaultServer.Text" xml:space="preserve">
|
||||
<value>设为活动服务器 (Enter)</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>297, 6</value>
|
||||
</data>
|
||||
<data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveTop.Text" xml:space="preserve">
|
||||
<value>上移至顶 (T)</value>
|
||||
</data>
|
||||
<data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveUp.Text" xml:space="preserve">
|
||||
<value>上移 (U)</value>
|
||||
</data>
|
||||
<data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveDown.Text" xml:space="preserve">
|
||||
<value>下移 (D)</value>
|
||||
</data>
|
||||
<data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveBottom.Text" xml:space="preserve">
|
||||
<value>下移至底 (B)</value>
|
||||
</data>
|
||||
<data name="menuSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuSelectAll.Text" xml:space="preserve">
|
||||
<value>全选 (Ctrl+A)</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>297, 6</value>
|
||||
</data>
|
||||
<data name="menuPingServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuPingServer.Text" xml:space="preserve">
|
||||
<value>测试服务器延迟Ping(多选) (Ctrl+P)</value>
|
||||
</data>
|
||||
<data name="menuTcpingServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuTcpingServer.Text" xml:space="preserve">
|
||||
<value>测试服务器延迟Tcping(多选) (Ctrl+O)</value>
|
||||
</data>
|
||||
<data name="menuRealPingServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuRealPingServer.Text" xml:space="preserve">
|
||||
<value>测试服务器真连接延迟(多选) (Ctrl+R)</value>
|
||||
</data>
|
||||
<data name="menuSpeedServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuSpeedServer.Text" xml:space="preserve">
|
||||
<value>测试服务器速度(多选) (Ctrl+T)</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>297, 6</value>
|
||||
</data>
|
||||
<data name="menuExport2ClientConfig.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
@@ -225,6 +268,38 @@
|
||||
<data name="menuExport2SubContent.Text" xml:space="preserve">
|
||||
<value>批量导出订阅内容至剪贴板(多选)</value>
|
||||
</data>
|
||||
<data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 53</value>
|
||||
</data>
|
||||
<data name="tsbServer.Text" xml:space="preserve">
|
||||
<value> 服务器 </value>
|
||||
</data>
|
||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>301, 534</value>
|
||||
</data>
|
||||
<data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
|
||||
ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
|
||||
PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
|
||||
BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
|
||||
bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
|
||||
bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
|
||||
dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
|
||||
CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
|
||||
bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
|
||||
bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
|
||||
////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
|
||||
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="menuNotEnabledHttp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>316, 22</value>
|
||||
</data>
|
||||
<data name="menuNotEnabledHttp.Text" xml:space="preserve">
|
||||
<value>关闭Http代理</value>
|
||||
</data>
|
||||
<data name="menuGlobal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>316, 22</value>
|
||||
</data>
|
||||
@@ -243,95 +318,29 @@
|
||||
<data name="menuKeep.Text" xml:space="preserve">
|
||||
<value>仅开启Http代理,并清除系统代理</value>
|
||||
</data>
|
||||
<data name="menuKeepNothing.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>316, 22</value>
|
||||
</data>
|
||||
<data name="menuKeepNothing.Text" xml:space="preserve">
|
||||
<value>仅开启Http代理,不改变系统代理</value>
|
||||
</data>
|
||||
<data name="menuKeepPAC.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>316, 22</value>
|
||||
</data>
|
||||
<data name="menuKeepPAC.Text" xml:space="preserve">
|
||||
<value>仅开启PAC,并清除系统代理</value>
|
||||
</data>
|
||||
<data name="menuKeepNothing.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>316, 22</value>
|
||||
</data>
|
||||
<data name="menuKeepNothing.Text" xml:space="preserve">
|
||||
<value>仅开启Http代理,不改变系统代理</value>
|
||||
</data>
|
||||
<data name="menuKeepPACNothing.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>316, 22</value>
|
||||
</data>
|
||||
<data name="menuKeepPACNothing.Text" xml:space="preserve">
|
||||
<value>仅开启PAC,不改变系统代理</value>
|
||||
</data>
|
||||
<data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveBottom.Text" xml:space="preserve">
|
||||
<value>下移至底 (B)</value>
|
||||
</data>
|
||||
<data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveDown.Text" xml:space="preserve">
|
||||
<value>下移 (D)</value>
|
||||
</data>
|
||||
<data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveTop.Text" xml:space="preserve">
|
||||
<value>上移至顶 (T)</value>
|
||||
</data>
|
||||
<data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuMoveUp.Text" xml:space="preserve">
|
||||
<value>上移 (U)</value>
|
||||
</data>
|
||||
<data name="menuNotEnabledHttp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>316, 22</value>
|
||||
</data>
|
||||
<data name="menuNotEnabledHttp.Text" xml:space="preserve">
|
||||
<value>关闭Http代理</value>
|
||||
</data>
|
||||
<data name="menuPingServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuPingServer.Text" xml:space="preserve">
|
||||
<value>测试服务器延迟Ping(多选) (Ctrl+P)</value>
|
||||
</data>
|
||||
<data name="menuRealPingServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuRealPingServer.Text" xml:space="preserve">
|
||||
<value>测试服务器真连接延迟(多选) (Ctrl+R)</value>
|
||||
</data>
|
||||
<data name="menuRemoveDuplicateServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuRemoveDuplicateServer.Text" xml:space="preserve">
|
||||
<value>移除重复的服务器</value>
|
||||
</data>
|
||||
<data name="menuRemoveServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuRemoveServer.Text" xml:space="preserve">
|
||||
<value>移除所选服务器(多选) (Delete)</value>
|
||||
</data>
|
||||
<data name="menuScanScreen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuScanScreen.Text" xml:space="preserve">
|
||||
<value>扫描屏幕上的二维码 (Ctrl+S)</value>
|
||||
</data>
|
||||
<data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="menuScanScreen2.Text" xml:space="preserve">
|
||||
<value>扫描屏幕上的二维码</value>
|
||||
</data>
|
||||
<data name="menuSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuSelectAll.Text" xml:space="preserve">
|
||||
<value>全选 (Ctrl+A)</value>
|
||||
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
||||
<value>Http代理</value>
|
||||
</data>
|
||||
<data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
@@ -339,53 +348,124 @@
|
||||
<data name="menuServers.Text" xml:space="preserve">
|
||||
<value>服务器</value>
|
||||
</data>
|
||||
<data name="menuSetDefaultServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuSetDefaultServer.Text" xml:space="preserve">
|
||||
<value>设为活动服务器 (Enter)</value>
|
||||
</data>
|
||||
<data name="menuSpeedServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
</data>
|
||||
<data name="menuSpeedServer.Text" xml:space="preserve">
|
||||
<value>测试服务器速度(多选) (Ctrl+T)</value>
|
||||
</data>
|
||||
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
||||
<value>Http代理</value>
|
||||
<data name="menuAddServers2.Text" xml:space="preserve">
|
||||
<value>从剪贴板导入批量URL</value>
|
||||
</data>
|
||||
<data name="menuTcpingServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>300, 22</value>
|
||||
<data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="menuTcpingServer.Text" xml:space="preserve">
|
||||
<value>测试服务器延迟Tcping(多选) (Ctrl+O)</value>
|
||||
<data name="menuScanScreen2.Text" xml:space="preserve">
|
||||
<value>扫描屏幕上的二维码</value>
|
||||
</data>
|
||||
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
||||
<value>网速显示未启用</value>
|
||||
<data name="menuCopyPACUrl.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>297, 6</value>
|
||||
<data name="menuCopyPACUrl.Text" xml:space="preserve">
|
||||
<value>复制本地PAC网址</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>220, 6</value>
|
||||
<data name="menuUpdateSubscriptions.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="menuUpdateSubscriptions.Text" xml:space="preserve">
|
||||
<value>更新订阅</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>192, 6</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>297, 6</value>
|
||||
<data name="menuExit.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>195, 22</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>297, 6</value>
|
||||
<data name="menuExit.Text" xml:space="preserve">
|
||||
<value>退出</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>297, 6</value>
|
||||
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>196, 164</value>
|
||||
</data>
|
||||
<data name="tsbAbout.Text" xml:space="preserve">
|
||||
<value>v2rayN 项目</value>
|
||||
<data name="groupBox1.Text" xml:space="preserve">
|
||||
<value>服务器列表</value>
|
||||
</data>
|
||||
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
||||
<value>网速显示未启用</value>
|
||||
</data>
|
||||
<data name="groupBox2.Text" xml:space="preserve">
|
||||
<value>信息</value>
|
||||
</data>
|
||||
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>124, 22</value>
|
||||
</data>
|
||||
<data name="tsbSubSetting.Text" xml:space="preserve">
|
||||
<value>订阅设置</value>
|
||||
</data>
|
||||
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>124, 22</value>
|
||||
</data>
|
||||
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
||||
<value>更新订阅</value>
|
||||
</data>
|
||||
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 53</value>
|
||||
</data>
|
||||
<data name="tsbSub.Text" xml:space="preserve">
|
||||
<value> 订阅 </value>
|
||||
</data>
|
||||
<data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 53</value>
|
||||
</data>
|
||||
<data name="tsbOptionSetting.Text" xml:space="preserve">
|
||||
<value> 参数设置 </value>
|
||||
</data>
|
||||
<data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>148, 22</value>
|
||||
</data>
|
||||
<data name="tsbReload.Text" xml:space="preserve">
|
||||
<value>重启服务</value>
|
||||
</data>
|
||||
<data name="tsbTestMe.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>148, 22</value>
|
||||
</data>
|
||||
<data name="tsbTestMe.Text" xml:space="preserve">
|
||||
<value>测试服务状态</value>
|
||||
</data>
|
||||
<data name="tsbService.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd
|
||||
QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X
|
||||
jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY
|
||||
6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3
|
||||
NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY
|
||||
B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsbService.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 53</value>
|
||||
</data>
|
||||
<data name="tsbService.Text" xml:space="preserve">
|
||||
<value> 当前服务 </value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>223, 22</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateN.Text" xml:space="preserve">
|
||||
<value>v2rayN</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>223, 22</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateCore.Text" xml:space="preserve">
|
||||
<value>v2rayCore</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdatePACList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>223, 22</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdatePACList.Text" xml:space="preserve">
|
||||
<value>PAC</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>220, 6</value>
|
||||
</data>
|
||||
<data name="tsbCheckClearPACList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>223, 22</value>
|
||||
@@ -399,23 +479,23 @@
|
||||
<data name="tsbCheckUpdate.Text" xml:space="preserve">
|
||||
<value> 检查更新 </value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>223, 22</value>
|
||||
<data name="tsbAbout.Text" xml:space="preserve">
|
||||
<value>v2rayN 项目</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateCore.Text" xml:space="preserve">
|
||||
<value>v2rayCore</value>
|
||||
<data name="tsbV2rayWebsite.Text" xml:space="preserve">
|
||||
<value>V2Ray 官网</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>223, 22</value>
|
||||
<data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>69, 53</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdateN.Text" xml:space="preserve">
|
||||
<value>v2rayN</value>
|
||||
<data name="tsbHelp.Text" xml:space="preserve">
|
||||
<value> 帮助 </value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdatePACList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>223, 22</value>
|
||||
<data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>68, 53</value>
|
||||
</data>
|
||||
<data name="tsbCheckUpdatePACList.Text" xml:space="preserve">
|
||||
<value>PAC</value>
|
||||
<data name="tsbPromotion.Text" xml:space="preserve">
|
||||
<value> 推广 </value>
|
||||
</data>
|
||||
<data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
@@ -430,66 +510,4 @@
|
||||
<data name="tsbClose.Text" xml:space="preserve">
|
||||
<value> 关闭窗口 </value>
|
||||
</data>
|
||||
<data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>69, 53</value>
|
||||
</data>
|
||||
<data name="tsbHelp.Text" xml:space="preserve">
|
||||
<value> 帮助 </value>
|
||||
</data>
|
||||
<data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 53</value>
|
||||
</data>
|
||||
<data name="tsbOptionSetting.Text" xml:space="preserve">
|
||||
<value> 参数设置 </value>
|
||||
</data>
|
||||
<data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>68, 53</value>
|
||||
</data>
|
||||
<data name="tsbPromotion.Text" xml:space="preserve">
|
||||
<value> 推广 </value>
|
||||
</data>
|
||||
<data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd
|
||||
QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X
|
||||
jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY
|
||||
6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3
|
||||
NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY
|
||||
B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 53</value>
|
||||
</data>
|
||||
<data name="tsbReload.Text" xml:space="preserve">
|
||||
<value> 重启服务 </value>
|
||||
</data>
|
||||
<data name="tsbServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 53</value>
|
||||
</data>
|
||||
<data name="tsbServer.Text" xml:space="preserve">
|
||||
<value> 服务器 </value>
|
||||
</data>
|
||||
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 53</value>
|
||||
</data>
|
||||
<data name="tsbSub.Text" xml:space="preserve">
|
||||
<value> 订阅 </value>
|
||||
</data>
|
||||
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>124, 22</value>
|
||||
</data>
|
||||
<data name="tsbSubSetting.Text" xml:space="preserve">
|
||||
<value>订阅设置</value>
|
||||
</data>
|
||||
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>124, 22</value>
|
||||
</data>
|
||||
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
||||
<value>更新订阅</value>
|
||||
</data>
|
||||
<data name="tsbV2rayWebsite.Text" xml:space="preserve">
|
||||
<value>V2Ray 官网</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using v2rayN.Handler;
|
||||
using v2rayN.Base;
|
||||
using v2rayN.HttpProxyHandler;
|
||||
|
||||
namespace v2rayN.Forms
|
||||
{
|
||||
@@ -67,7 +68,7 @@ namespace v2rayN.Forms
|
||||
//remoteDNS
|
||||
txtremoteDNS.Text = config.remoteDNS;
|
||||
|
||||
cmblistenerType.SelectedIndex = config.listenerType;
|
||||
cmblistenerType.SelectedIndex = (int)config.listenerType;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -262,7 +263,8 @@ namespace v2rayN.Forms
|
||||
//remoteDNS
|
||||
config.remoteDNS = txtremoteDNS.Text.TrimEx();
|
||||
|
||||
config.listenerType = cmblistenerType.SelectedIndex;
|
||||
config.listenerType = (ListenerType)Enum.ToObject(typeof(ListenerType), cmblistenerType.SelectedIndex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace v2rayN
|
||||
/// </summary>
|
||||
public const string SpeedTestUrl = @"http://speedtest-sgp1.digitalocean.com/10mb.test";
|
||||
public const string SpeedPingTestUrl = @"https://www.google.com/generate_204";
|
||||
public const string AvailabilityTestUrl = @"https://www.google.com/generate_204";
|
||||
|
||||
/// <summary>
|
||||
/// CustomRoutingListUrl
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace v2rayN.Handler
|
||||
private readonly string coreLatestUrl = "https://github.com/v2ray/v2ray-core/releases/latest";
|
||||
private const string coreUrl = "https://github.com/v2ray/v2ray-core/releases/download/{0}/v2ray-windows-{1}.zip";
|
||||
|
||||
public async Task CheckUpdateAsync(string type)
|
||||
public async void CheckUpdateAsync(string type)
|
||||
{
|
||||
Utils.SetSecurityProtocol();
|
||||
WebRequestHandler webRequestHandler = new WebRequestHandler
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace v2rayN.Handler
|
||||
try
|
||||
{
|
||||
Color color = ColorTranslator.FromHtml("#3399CC");
|
||||
int index = config.listenerType;
|
||||
int index = (int)config.listenerType;
|
||||
if (index > 0)
|
||||
{
|
||||
color = (new Color[] { Color.Red, Color.Purple, Color.DarkGreen, Color.Orange, Color.DarkSlateBlue, Color.RoyalBlue })[index - 1];
|
||||
|
||||
@@ -150,6 +150,37 @@ namespace v2rayN.Handler
|
||||
}
|
||||
}
|
||||
|
||||
public int RunAvailabilityCheck() // alias: isLive
|
||||
{
|
||||
try
|
||||
{
|
||||
int httpPort = _config.GetLocalPort(Global.InboundHttp);
|
||||
|
||||
Task<int> t = Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
|
||||
int responseTime = -1;
|
||||
string status = GetRealPingTime(Global.AvailabilityTestUrl, webProxy, out responseTime);
|
||||
bool noError = Utils.IsNullOrEmpty(status);
|
||||
return noError ? responseTime : -1;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Utils.SaveLog(ex.Message, ex);
|
||||
return -1;
|
||||
}
|
||||
});
|
||||
return t.Result;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Utils.SaveLog(ex.Message, ex);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
private void RunSpeedTest()
|
||||
{
|
||||
int pid = -1;
|
||||
|
||||
@@ -3,6 +3,19 @@ using v2rayN.Mode;
|
||||
|
||||
namespace v2rayN.HttpProxyHandler
|
||||
{
|
||||
/// <summary>
|
||||
/// 系统代理(http)模式
|
||||
/// </summary>
|
||||
public enum ListenerType
|
||||
{
|
||||
noHttpProxy = 0,
|
||||
GlobalHttp = 1,
|
||||
GlobalPac = 2,
|
||||
HttpOpenAndClear = 3,
|
||||
PacOpenAndClear = 4,
|
||||
HttpOpenOnly = 5,
|
||||
PacOpenOnly = 6
|
||||
}
|
||||
/// <summary>
|
||||
/// 系统代理(http)总处理
|
||||
/// 启动privoxy提供http协议
|
||||
@@ -12,29 +25,29 @@ namespace v2rayN.HttpProxyHandler
|
||||
{
|
||||
private static bool Update(Config config, bool forceDisable)
|
||||
{
|
||||
int type = config.listenerType;
|
||||
ListenerType type = config.listenerType;
|
||||
|
||||
if (forceDisable)
|
||||
{
|
||||
type = 0;
|
||||
type = ListenerType.noHttpProxy;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (type != 0)
|
||||
if (type != ListenerType.noHttpProxy)
|
||||
{
|
||||
int port = Global.httpPort;
|
||||
if (port <= 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == 1)
|
||||
if (type == ListenerType.GlobalHttp)
|
||||
{
|
||||
//PACServerHandle.Stop();
|
||||
//ProxySetting.SetProxy($"{Global.Loopback}:{port}", Global.IEProxyExceptions, 2);
|
||||
SysProxyHandle.SetIEProxy(true, true, $"{Global.Loopback}:{port}");
|
||||
}
|
||||
else if (type == 2)
|
||||
else if (type == ListenerType.GlobalPac)
|
||||
{
|
||||
string pacUrl = GetPacUrl();
|
||||
//ProxySetting.SetProxy(pacUrl, "", 4);
|
||||
@@ -42,24 +55,24 @@ namespace v2rayN.HttpProxyHandler
|
||||
//PACServerHandle.Stop();
|
||||
PACServerHandle.Init(config);
|
||||
}
|
||||
else if (type == 3)
|
||||
else if (type == ListenerType.HttpOpenAndClear)
|
||||
{
|
||||
//PACServerHandle.Stop();
|
||||
SysProxyHandle.ResetIEProxy();
|
||||
}
|
||||
else if (type == 4)
|
||||
else if (type == ListenerType.PacOpenAndClear)
|
||||
{
|
||||
string pacUrl = GetPacUrl();
|
||||
SysProxyHandle.ResetIEProxy();
|
||||
//PACServerHandle.Stop();
|
||||
PACServerHandle.Init(config);
|
||||
}
|
||||
else if (type == 5)
|
||||
else if (type == ListenerType.HttpOpenOnly)
|
||||
{
|
||||
//PACServerHandle.Stop();
|
||||
//SysProxyHandle.ResetIEProxy();
|
||||
}
|
||||
else if (type == 6)
|
||||
else if (type == ListenerType.PacOpenOnly)
|
||||
{
|
||||
string pacUrl = GetPacUrl();
|
||||
//SysProxyHandle.ResetIEProxy();
|
||||
@@ -114,7 +127,7 @@ namespace v2rayN.HttpProxyHandler
|
||||
{
|
||||
try
|
||||
{
|
||||
if (config.listenerType != 5 && config.listenerType != 6)
|
||||
if (config.listenerType != ListenerType.HttpOpenOnly && config.listenerType != ListenerType.PacOpenOnly)
|
||||
{
|
||||
Update(config, true);
|
||||
}
|
||||
@@ -138,7 +151,7 @@ namespace v2rayN.HttpProxyHandler
|
||||
public static void RestartHttpAgent(Config config, bool forced)
|
||||
{
|
||||
bool isRestart = false;
|
||||
if (config.listenerType == 0)
|
||||
if (config.listenerType == ListenerType.noHttpProxy)
|
||||
{
|
||||
// 关闭http proxy时,直接返回
|
||||
return;
|
||||
|
||||
Binary file not shown.
@@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using v2rayN.Base;
|
||||
using v2rayN.HttpProxyHandler;
|
||||
|
||||
|
||||
namespace v2rayN.Mode
|
||||
{
|
||||
@@ -107,9 +109,9 @@ namespace v2rayN.Mode
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 监听状态 0-not 1-http 2-PAC
|
||||
/// 监听状态
|
||||
/// </summary>
|
||||
public int listenerType
|
||||
public ListenerType listenerType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
|
||||
// 方法是按如下所示使用“*”:
|
||||
//[assembly: AssemblyVersion("1.0.*")]
|
||||
//[assembly: AssemblyVersion("1.0.0")]
|
||||
[assembly: AssemblyFileVersion("3.9")]
|
||||
[assembly: AssemblyFileVersion("3.10")]
|
||||
|
||||
9
v2rayN/v2rayN/Resx/ResUI.Designer.cs
generated
9
v2rayN/v2rayN/Resx/ResUI.Designer.cs
generated
@@ -780,5 +780,14 @@ namespace v2rayN.Resx {
|
||||
return ResourceManager.GetString("SuccessfullyImportedServerViaScan", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 The ping of current service: {0} 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string TestMeOutput {
|
||||
get {
|
||||
return ResourceManager.GetString("TestMeOutput", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -264,12 +264,12 @@
|
||||
<data name="MsgStartGettingSubscriptions" xml:space="preserve">
|
||||
<value>Start getting subscriptions</value>
|
||||
</data>
|
||||
<data name="MsgStartUpdatingPAC" xml:space="preserve">
|
||||
<value>Start updating PAC...</value>
|
||||
</data>
|
||||
<data name="MsgStartUpdating" xml:space="preserve">
|
||||
<value>Start updating {0}...</value>
|
||||
</data>
|
||||
<data name="MsgStartUpdatingPAC" xml:space="preserve">
|
||||
<value>Start updating PAC...</value>
|
||||
</data>
|
||||
<data name="MsgSubscriptionDecodingFailed" xml:space="preserve">
|
||||
<value>Subscription content decoding failed (non-BASE64 code)</value>
|
||||
</data>
|
||||
@@ -358,4 +358,7 @@
|
||||
<data name="SuccessfullyImportedServerViaScan" xml:space="preserve">
|
||||
<value>Scan import URL successfully</value>
|
||||
</data>
|
||||
<data name="TestMeOutput" xml:space="preserve">
|
||||
<value>The ping of current service: {0}</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -264,12 +264,12 @@
|
||||
<data name="MsgStartGettingSubscriptions" xml:space="preserve">
|
||||
<value>开始获取订阅内容</value>
|
||||
</data>
|
||||
<data name="MsgStartUpdatingPAC" xml:space="preserve">
|
||||
<value>开始更新 PAC...</value>
|
||||
</data>
|
||||
<data name="MsgStartUpdating" xml:space="preserve">
|
||||
<value>开始更新 {0}...</value>
|
||||
</data>
|
||||
<data name="MsgStartUpdatingPAC" xml:space="preserve">
|
||||
<value>开始更新 PAC...</value>
|
||||
</data>
|
||||
<data name="MsgSubscriptionDecodingFailed" xml:space="preserve">
|
||||
<value>订阅内容解码失败(非BASE64码)</value>
|
||||
</data>
|
||||
@@ -358,4 +358,7 @@
|
||||
<data name="SuccessfullyImportedServerViaScan" xml:space="preserve">
|
||||
<value>扫描导入URL成功</value>
|
||||
</data>
|
||||
<data name="TestMeOutput" xml:space="preserve">
|
||||
<value>当前服务的真连接延迟: {0}</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -804,22 +804,15 @@ namespace v2rayN
|
||||
|
||||
public static string UnGzip(byte[] buf)
|
||||
{
|
||||
byte[] buffer = new byte[1024];
|
||||
int n;
|
||||
using (MemoryStream sb = new MemoryStream())
|
||||
{
|
||||
MemoryStream sb = new MemoryStream();
|
||||
using (GZipStream input = new GZipStream(new MemoryStream(buf),
|
||||
CompressionMode.Decompress,
|
||||
false))
|
||||
{
|
||||
while ((n = input.Read(buffer, 0, buffer.Length)) > 0)
|
||||
{
|
||||
sb.Write(buffer, 0, n);
|
||||
}
|
||||
input.CopyTo(sb);
|
||||
}
|
||||
return Encoding.UTF8.GetString(sb.ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -41,8 +41,9 @@ namespace v2rayUpgrade
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
showWarn("Failed to close v2rayN(关闭v2rayN失败)." + ex.StackTrace);
|
||||
return;
|
||||
// Access may be denied without admin right. The user may not be an administrator.
|
||||
showWarn("Failed to close v2rayN(关闭v2rayN失败).\n" +
|
||||
"Close it manually, or the upgrade may fail.(请手动关闭正在运行的v2rayN,否则可能升级失败。\n\n" + ex.StackTrace);
|
||||
}
|
||||
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user