Showing routingMode on status bar

This commit is contained in:
YFdyh000 2020-04-17 12:54:56 +08:00
parent 2708ff7c1a
commit c837ba5482
15 changed files with 2935 additions and 1284 deletions

View file

@ -61,8 +61,8 @@
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
@ -94,6 +94,7 @@
this.toolSslPacPortLab = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslPacPort = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslBlank3 = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslRouting = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslServerLatency = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel();
@ -371,11 +372,6 @@
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
//
// qrCodeControl
//
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
this.qrCodeControl.Name = "qrCodeControl";
//
// tsbServer
//
this.tsbServer.DropDown = this.cmsLv;
@ -383,6 +379,11 @@
resources.ApplyResources(this.tsbServer, "tsbServer");
this.tsbServer.Name = "tsbServer";
//
// qrCodeControl
//
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
this.qrCodeControl.Name = "qrCodeControl";
//
// notifyMain
//
this.notifyMain.ContextMenuStrip = this.cmsMain;
@ -544,6 +545,7 @@
this.toolSslPacPortLab,
this.toolSslPacPort,
this.toolSslBlank3,
this.toolSslRouting,
this.toolSslServerLatency,
this.toolSslServerSpeed,
this.toolSslBlank4});
@ -563,6 +565,7 @@
//
// toolSslBlank1
//
this.toolSslBlank1.AutoToolTip = true;
resources.ApplyResources(this.toolSslBlank1, "toolSslBlank1");
this.toolSslBlank1.Name = "toolSslBlank1";
this.toolSslBlank1.Spring = true;
@ -579,6 +582,7 @@
//
// toolSslBlank2
//
this.toolSslBlank2.AutoToolTip = true;
resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2");
this.toolSslBlank2.Name = "toolSslBlank2";
this.toolSslBlank2.Spring = true;
@ -595,21 +599,37 @@
//
// toolSslBlank3
//
this.toolSslBlank3.AutoToolTip = true;
resources.ApplyResources(this.toolSslBlank3, "toolSslBlank3");
this.toolSslBlank3.Name = "toolSslBlank3";
this.toolSslBlank3.Spring = true;
//
// toolSslRouting
//
resources.ApplyResources(this.toolSslRouting, "toolSslRouting");
this.toolSslRouting.AutoToolTip = true;
this.toolSslRouting.IsLink = true;
this.toolSslRouting.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline;
this.toolSslRouting.LinkColor = System.Drawing.SystemColors.ControlText;
this.toolSslRouting.Margin = new System.Windows.Forms.Padding(0, 3, 8, 2);
this.toolSslRouting.Name = "toolSslRouting";
this.toolSslRouting.Spring = true;
this.toolSslRouting.Click += new System.EventHandler(this.toolSslRouting_Click);
//
// toolSslServerLatency
//
resources.ApplyResources(this.toolSslServerLatency, "toolSslServerLatency");
this.toolSslServerLatency.IsLink = true;
this.toolSslServerLatency.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline;
this.toolSslServerLatency.LinkColor = System.Drawing.SystemColors.ControlText;
this.toolSslServerLatency.Name = "toolSslServerLatency";
this.toolSslServerLatency.Spring = true;
this.toolSslServerLatency.Click += new System.EventHandler(this.toolSslServerLatency_Click);
//
// toolSslServerSpeed
//
resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed");
this.toolSslServerSpeed.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed");
this.toolSslServerSpeed.Name = "toolSslServerSpeed";
this.toolSslServerSpeed.Click += new System.EventHandler(this.toolSslServerSpeed_Click);
//
@ -946,6 +966,7 @@
private System.Windows.Forms.ToolStripButton tsbReload;
private System.Windows.Forms.ToolStripButton tsbQRCodeSwitch;
private System.Windows.Forms.ToolStripStatusLabel toolSslServerLatency;
private System.Windows.Forms.ToolStripStatusLabel toolSslRouting;
}
}

View file

@ -368,6 +368,24 @@ namespace v2rayN.Forms
}
}
string routingStatus = "";
switch (config.routingMode)
{
case 0:
routingStatus = UIRes.I18N("RoutingModeGlobal");
break;
case 1:
routingStatus = UIRes.I18N("RoutingModeBypassLAN");
break;
case 2:
routingStatus = UIRes.I18N("RoutingModeBypassCN");
break;
case 3:
routingStatus = UIRes.I18N("RoutingModeBypassLANCN");
break;
}
toolSslRouting.Text = routingStatus;
notifyMain.Icon = MainFormHandler.Instance.GetNotifyIcon(config, this.Icon);
}
private void ssMain_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
@ -762,7 +780,9 @@ namespace v2rayN.Forms
private void tsbOptionSetting_Click(object sender, EventArgs e)
{
OptionSettingForm fm = new OptionSettingForm();
string tab = "";
if (sender == toolSslRouting) tab = "tabPreDefinedRules";
OptionSettingForm fm = new OptionSettingForm(tab);
if (fm.ShowDialog() == DialogResult.OK)
{
//刷新
@ -1588,13 +1608,13 @@ namespace v2rayN.Forms
private async void toolSslServerLatencyRefresh()
{
toolSslServerLatencySet("Measuring...");
toolSslServerLatencySet(UIRes.I18N("ServerLatencyChecking"));
string result = await httpProxyTest() + "ms";
toolSslServerLatencySet(result);
}
private void toolSslServerLatencySet(string text = "")
{
toolSslServerLatency.Text = "Latency: " + text;
toolSslServerLatency.Text = string.Format(UIRes.I18N("toolSslServerLatency"), text);
}
private void toolSslServerLatency_Click(object sender, EventArgs e)
{
@ -1605,5 +1625,10 @@ namespace v2rayN.Forms
{
//toolSslServerLatencyRefresh();
}
private void toolSslRouting_Click(object sender, EventArgs e)
{
tsbOptionSetting_Click(toolSslRouting, null);
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -363,12 +363,24 @@
<data name="menuTcpingServer.Text" xml:space="preserve">
<value>测试服务器延迟Tcping(多选) (Ctrl+O)</value>
</data>
<data name="menuTestMe.Text" xml:space="preserve">
<value>测试当前服务节点状态</value>
</data>
<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="toolSslRouting.Text" xml:space="preserve">
<value>路由模式</value>
</data>
<data name="toolSslServerLatency.Text" xml:space="preserve">
<value>延迟:</value>
</data>
<data name="toolSslServerLatency.ToolTipText" xml:space="preserve">
<value>当前 HTTP 代理的访问延迟。</value>
</data>
<data name="toolSslServerSpeed.Text" xml:space="preserve">
<value>网速显示未启用</value>
</data>

View file

@ -31,7 +31,7 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionSettingForm));
this.btnClose = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabBasic = new System.Windows.Forms.TabPage();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label16 = new System.Windows.Forms.Label();
this.cmblistenerType = new System.Windows.Forms.ComboBox();
@ -53,7 +53,7 @@
this.label5 = new System.Windows.Forms.Label();
this.txtlocalPort = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.tabRouting = new System.Windows.Forms.TabPage();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tabPage3 = new System.Windows.Forms.TabPage();
@ -62,14 +62,14 @@
this.txtUserdirect = new System.Windows.Forms.TextBox();
this.tabPage5 = new System.Windows.Forms.TabPage();
this.txtUserblock = new System.Windows.Forms.TextBox();
this.tabPage8 = new System.Windows.Forms.TabPage();
this.tabPreDefinedRules = new System.Windows.Forms.TabPage();
this.cmbroutingMode = new System.Windows.Forms.ComboBox();
this.panel3 = new System.Windows.Forms.Panel();
this.linkLabelRoutingDoc = new System.Windows.Forms.LinkLabel();
this.btnSetDefRountingRule = new System.Windows.Forms.Button();
this.labRoutingTips = new System.Windows.Forms.Label();
this.cmbdomainStrategy = new System.Windows.Forms.ComboBox();
this.tabPage6 = new System.Windows.Forms.TabPage();
this.tabKCP = new System.Windows.Forms.TabPage();
this.chkKcpcongestion = new System.Windows.Forms.CheckBox();
this.txtKcpwriteBufferSize = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
@ -83,7 +83,7 @@
this.label7 = new System.Windows.Forms.Label();
this.txtKcpmtu = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.tabPage7 = new System.Windows.Forms.TabPage();
this.tabGUI = new System.Windows.Forms.TabPage();
this.chkKeepOlderDedupl = new System.Windows.Forms.CheckBox();
this.cbFreshrate = new System.Windows.Forms.ComboBox();
this.lbFreshrate = new System.Windows.Forms.Label();
@ -92,7 +92,7 @@
this.txturlGFWList = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.chkAutoRun = new System.Windows.Forms.CheckBox();
this.tabPage9 = new System.Windows.Forms.TabPage();
this.tabUserPAC = new System.Windows.Forms.TabPage();
this.txtuserPacRule = new System.Windows.Forms.TextBox();
this.panel4 = new System.Windows.Forms.Panel();
this.label4 = new System.Windows.Forms.Label();
@ -100,19 +100,19 @@
this.btnOK = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabBasic.SuspendLayout();
this.groupBox1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tabRouting.SuspendLayout();
this.groupBox2.SuspendLayout();
this.tabControl2.SuspendLayout();
this.tabPage3.SuspendLayout();
this.tabPage4.SuspendLayout();
this.tabPage5.SuspendLayout();
this.tabPage8.SuspendLayout();
this.tabPreDefinedRules.SuspendLayout();
this.panel3.SuspendLayout();
this.tabPage6.SuspendLayout();
this.tabPage7.SuspendLayout();
this.tabPage9.SuspendLayout();
this.tabKCP.SuspendLayout();
this.tabGUI.SuspendLayout();
this.tabUserPAC.SuspendLayout();
this.panel4.SuspendLayout();
this.panel2.SuspendLayout();
this.SuspendLayout();
@ -127,21 +127,21 @@
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage6);
this.tabControl1.Controls.Add(this.tabPage7);
this.tabControl1.Controls.Add(this.tabPage9);
this.tabControl1.Controls.Add(this.tabBasic);
this.tabControl1.Controls.Add(this.tabRouting);
this.tabControl1.Controls.Add(this.tabKCP);
this.tabControl1.Controls.Add(this.tabGUI);
this.tabControl1.Controls.Add(this.tabUserPAC);
resources.ApplyResources(this.tabControl1, "tabControl1");
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
//
// tabPage1
// tabBasic
//
this.tabPage1.Controls.Add(this.groupBox1);
resources.ApplyResources(this.tabPage1, "tabPage1");
this.tabPage1.Name = "tabPage1";
this.tabPage1.UseVisualStyleBackColor = true;
this.tabBasic.Controls.Add(this.groupBox1);
resources.ApplyResources(this.tabBasic, "tabBasic");
this.tabBasic.Name = "tabBasic";
this.tabBasic.UseVisualStyleBackColor = true;
//
// groupBox1
//
@ -305,12 +305,12 @@
resources.ApplyResources(this.label2, "label2");
this.label2.Name = "label2";
//
// tabPage2
// tabRouting
//
this.tabPage2.Controls.Add(this.groupBox2);
resources.ApplyResources(this.tabPage2, "tabPage2");
this.tabPage2.Name = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true;
this.tabRouting.Controls.Add(this.groupBox2);
resources.ApplyResources(this.tabRouting, "tabRouting");
this.tabRouting.Name = "tabRouting";
this.tabRouting.UseVisualStyleBackColor = true;
//
// groupBox2
//
@ -325,7 +325,7 @@
this.tabControl2.Controls.Add(this.tabPage3);
this.tabControl2.Controls.Add(this.tabPage4);
this.tabControl2.Controls.Add(this.tabPage5);
this.tabControl2.Controls.Add(this.tabPage8);
this.tabControl2.Controls.Add(this.tabPreDefinedRules);
resources.ApplyResources(this.tabControl2, "tabControl2");
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
@ -366,12 +366,12 @@
resources.ApplyResources(this.txtUserblock, "txtUserblock");
this.txtUserblock.Name = "txtUserblock";
//
// tabPage8
// tabPreDefinedRules
//
this.tabPage8.Controls.Add(this.cmbroutingMode);
resources.ApplyResources(this.tabPage8, "tabPage8");
this.tabPage8.Name = "tabPage8";
this.tabPage8.UseVisualStyleBackColor = true;
this.tabPreDefinedRules.Controls.Add(this.cmbroutingMode);
resources.ApplyResources(this.tabPreDefinedRules, "tabPreDefinedRules");
this.tabPreDefinedRules.Name = "tabPreDefinedRules";
this.tabPreDefinedRules.UseVisualStyleBackColor = true;
//
// cmbroutingMode
//
@ -425,24 +425,24 @@
resources.ApplyResources(this.cmbdomainStrategy, "cmbdomainStrategy");
this.cmbdomainStrategy.Name = "cmbdomainStrategy";
//
// tabPage6
// tabKCP
//
this.tabPage6.Controls.Add(this.chkKcpcongestion);
this.tabPage6.Controls.Add(this.txtKcpwriteBufferSize);
this.tabPage6.Controls.Add(this.label10);
this.tabPage6.Controls.Add(this.txtKcpreadBufferSize);
this.tabPage6.Controls.Add(this.label11);
this.tabPage6.Controls.Add(this.txtKcpdownlinkCapacity);
this.tabPage6.Controls.Add(this.label8);
this.tabPage6.Controls.Add(this.txtKcpuplinkCapacity);
this.tabPage6.Controls.Add(this.label9);
this.tabPage6.Controls.Add(this.txtKcptti);
this.tabPage6.Controls.Add(this.label7);
this.tabPage6.Controls.Add(this.txtKcpmtu);
this.tabPage6.Controls.Add(this.label6);
resources.ApplyResources(this.tabPage6, "tabPage6");
this.tabPage6.Name = "tabPage6";
this.tabPage6.UseVisualStyleBackColor = true;
this.tabKCP.Controls.Add(this.chkKcpcongestion);
this.tabKCP.Controls.Add(this.txtKcpwriteBufferSize);
this.tabKCP.Controls.Add(this.label10);
this.tabKCP.Controls.Add(this.txtKcpreadBufferSize);
this.tabKCP.Controls.Add(this.label11);
this.tabKCP.Controls.Add(this.txtKcpdownlinkCapacity);
this.tabKCP.Controls.Add(this.label8);
this.tabKCP.Controls.Add(this.txtKcpuplinkCapacity);
this.tabKCP.Controls.Add(this.label9);
this.tabKCP.Controls.Add(this.txtKcptti);
this.tabKCP.Controls.Add(this.label7);
this.tabKCP.Controls.Add(this.txtKcpmtu);
this.tabKCP.Controls.Add(this.label6);
resources.ApplyResources(this.tabKCP, "tabKCP");
this.tabKCP.Name = "tabKCP";
this.tabKCP.UseVisualStyleBackColor = true;
//
// chkKcpcongestion
//
@ -510,19 +510,19 @@
resources.ApplyResources(this.label6, "label6");
this.label6.Name = "label6";
//
// tabPage7
// tabGUI
//
this.tabPage7.Controls.Add(this.chkKeepOlderDedupl);
this.tabPage7.Controls.Add(this.cbFreshrate);
this.tabPage7.Controls.Add(this.lbFreshrate);
this.tabPage7.Controls.Add(this.chkEnableStatistics);
this.tabPage7.Controls.Add(this.chkAllowLANConn);
this.tabPage7.Controls.Add(this.txturlGFWList);
this.tabPage7.Controls.Add(this.label13);
this.tabPage7.Controls.Add(this.chkAutoRun);
resources.ApplyResources(this.tabPage7, "tabPage7");
this.tabPage7.Name = "tabPage7";
this.tabPage7.UseVisualStyleBackColor = true;
this.tabGUI.Controls.Add(this.chkKeepOlderDedupl);
this.tabGUI.Controls.Add(this.cbFreshrate);
this.tabGUI.Controls.Add(this.lbFreshrate);
this.tabGUI.Controls.Add(this.chkEnableStatistics);
this.tabGUI.Controls.Add(this.chkAllowLANConn);
this.tabGUI.Controls.Add(this.txturlGFWList);
this.tabGUI.Controls.Add(this.label13);
this.tabGUI.Controls.Add(this.chkAutoRun);
resources.ApplyResources(this.tabGUI, "tabGUI");
this.tabGUI.Name = "tabGUI";
this.tabGUI.UseVisualStyleBackColor = true;
//
// chkKeepOlderDedupl
//
@ -570,13 +570,13 @@
this.chkAutoRun.Name = "chkAutoRun";
this.chkAutoRun.UseVisualStyleBackColor = true;
//
// tabPage9
// tabUserPAC
//
this.tabPage9.Controls.Add(this.txtuserPacRule);
this.tabPage9.Controls.Add(this.panel4);
resources.ApplyResources(this.tabPage9, "tabPage9");
this.tabPage9.Name = "tabPage9";
this.tabPage9.UseVisualStyleBackColor = true;
this.tabUserPAC.Controls.Add(this.txtuserPacRule);
this.tabUserPAC.Controls.Add(this.panel4);
resources.ApplyResources(this.tabUserPAC, "tabUserPAC");
this.tabUserPAC.Name = "tabUserPAC";
this.tabUserPAC.UseVisualStyleBackColor = true;
//
// txtuserPacRule
//
@ -626,10 +626,10 @@
this.Name = "OptionSettingForm";
this.Load += new System.EventHandler(this.OptionSettingForm_Load);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabBasic.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.tabPage2.ResumeLayout(false);
this.tabRouting.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.tabControl2.ResumeLayout(false);
this.tabPage3.ResumeLayout(false);
@ -638,15 +638,15 @@
this.tabPage4.PerformLayout();
this.tabPage5.ResumeLayout(false);
this.tabPage5.PerformLayout();
this.tabPage8.ResumeLayout(false);
this.tabPreDefinedRules.ResumeLayout(false);
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.tabPage6.ResumeLayout(false);
this.tabPage6.PerformLayout();
this.tabPage7.ResumeLayout(false);
this.tabPage7.PerformLayout();
this.tabPage9.ResumeLayout(false);
this.tabPage9.PerformLayout();
this.tabKCP.ResumeLayout(false);
this.tabKCP.PerformLayout();
this.tabGUI.ResumeLayout(false);
this.tabGUI.PerformLayout();
this.tabUserPAC.ResumeLayout(false);
this.tabUserPAC.PerformLayout();
this.panel4.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.ResumeLayout(false);
@ -666,8 +666,8 @@
private System.Windows.Forms.CheckBox chkudpEnabled;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TabPage tabBasic;
private System.Windows.Forms.TabPage tabRouting;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.ComboBox cmbprotocol;
@ -686,7 +686,7 @@
private System.Windows.Forms.TabPage tabPage5;
private System.Windows.Forms.TextBox txtUserdirect;
private System.Windows.Forms.TextBox txtUserblock;
private System.Windows.Forms.TabPage tabPage6;
private System.Windows.Forms.TabPage tabKCP;
private System.Windows.Forms.TextBox txtKcpmtu;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox txtKcptti;
@ -700,7 +700,7 @@
private System.Windows.Forms.TextBox txtKcpuplinkCapacity;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.CheckBox chkKcpcongestion;
private System.Windows.Forms.TabPage tabPage7;
private System.Windows.Forms.TabPage tabGUI;
private System.Windows.Forms.CheckBox chkAutoRun;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox txturlGFWList;
@ -718,8 +718,8 @@
private System.Windows.Forms.Label lbFreshrate;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.ComboBox cmblistenerType;
private System.Windows.Forms.TabPage tabPage8;
private System.Windows.Forms.TabPage tabPage9;
private System.Windows.Forms.TabPage tabPreDefinedRules;
private System.Windows.Forms.TabPage tabUserPAC;
private System.Windows.Forms.TextBox txtuserPacRule;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Label label4;

View file

@ -9,8 +9,10 @@ namespace v2rayN.Forms
{
public partial class OptionSettingForm : BaseForm
{
public OptionSettingForm()
private string _tabOpened;
public OptionSettingForm(string tabOpened = "")
{
_tabOpened = tabOpened;
InitializeComponent();
}
@ -25,6 +27,18 @@ namespace v2rayN.Forms
InitGUI();
InitUserPAC();
var tab = tabControl1.TabPages[_tabOpened];
var tab2 = tabControl2.TabPages[_tabOpened];
if (tab != null)
{
tabControl1.SelectedTab = tab;
}
if (tab2 != null)
{
tabControl1.SelectedTab = tabRouting;
tabControl2.SelectedTab = tab2;
}
}
/// <summary>
@ -78,8 +92,7 @@ namespace v2rayN.Forms
{
//路由
cmbdomainStrategy.Text = config.domainStrategy;
int.TryParse(config.routingMode, out int routingMode);
cmbroutingMode.SelectedIndex = routingMode;
cmbroutingMode.SelectedIndex = config.routingMode;
txtUseragent.Text = Utils.List2String(config.useragent, true);
txtUserdirect.Text = Utils.List2String(config.userdirect, true);
@ -276,7 +289,7 @@ namespace v2rayN.Forms
{
//路由
string domainStrategy = cmbdomainStrategy.Text;
string routingMode = cmbroutingMode.SelectedIndex.ToString();
int routingMode = cmbroutingMode.SelectedIndex;
string useragent = txtUseragent.Text.TrimEx();
string userdirect = txtUserdirect.Text.TrimEx();

File diff suppressed because it is too large Load diff

View file

@ -312,17 +312,20 @@
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
<value>642, 72</value>
</data>
<data name="tabBasic.Text" xml:space="preserve">
<value> Core:基础设置 </value>
</data>
<data name="tabControl2.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 89</value>
</data>
<data name="tabControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>642, 481</value>
</data>
<data name="tabPage1.Text" xml:space="preserve">
<value> Core:基础设置 </value>
<data name="tabGUI.Text" xml:space="preserve">
<value> v2rayN设置 </value>
</data>
<data name="tabPage2.Text" xml:space="preserve">
<value> Core:路由设置 </value>
<data name="tabKCP.Text" xml:space="preserve">
<value> Core:KCP设置 </value>
</data>
<data name="tabPage3.Size" type="System.Drawing.Size, System.Drawing">
<value>634, 455</value>
@ -342,19 +345,16 @@
<data name="tabPage5.Text" xml:space="preserve">
<value> 3.阻止的Domain或IP </value>
</data>
<data name="tabPage6.Text" xml:space="preserve">
<value> Core:KCP设置 </value>
</data>
<data name="tabPage7.Text" xml:space="preserve">
<value> v2rayN设置 </value>
</data>
<data name="tabPage8.Size" type="System.Drawing.Size, System.Drawing">
<value>634, 455</value>
</data>
<data name="tabPage8.Text" xml:space="preserve">
<data name="tabPreDefinedRules.Text" xml:space="preserve">
<value> 4.预定义规则 </value>
</data>
<data name="tabPage9.Text" xml:space="preserve">
<data name="tabRouting.Text" xml:space="preserve">
<value> Core:路由设置 </value>
</data>
<data name="tabUserPAC.Text" xml:space="preserve">
<value> 用户PAC设置 </value>
</data>
<data name="txtUseragent.Size" type="System.Drawing.Size, System.Drawing">

View file

@ -85,10 +85,6 @@ namespace v2rayN.Handler
{
config.domainStrategy = "IPIfNonMatch";
}
if (Utils.IsNullOrEmpty(config.routingMode))
{
config.routingMode = "0";
}
if (config.useragent == null)
{
config.useragent = new List<string>();

View file

@ -145,7 +145,7 @@ namespace v2rayN.Handler
}
}
public async Task<int> RunAvailabilityCheck() // alias: isLive
public int RunAvailabilityCheck() // alias: isLive
{
try
{

View file

@ -195,15 +195,15 @@ namespace v2rayN.Handler
switch (config.routingMode)
{
case "0":
case 0:
break;
case "1":
case 1:
routingGeo("ip", "private", Global.directTag, ref v2rayConfig);
break;
case "2":
case 2:
routingGeo("", "cn", Global.directTag, ref v2rayConfig);
break;
case "3":
case 3:
routingGeo("ip", "private", Global.directTag, ref v2rayConfig);
routingGeo("", "cn", Global.directTag, ref v2rayConfig);
break;

View file

@ -71,7 +71,7 @@ namespace v2rayN.Mode
/// <summary>
/// 路由模式
/// </summary>
public string routingMode
public int routingMode
{
get; set;
}

View file

@ -690,6 +690,42 @@ namespace v2rayN.Resx {
}
}
/// <summary>
/// 查找类似 Bypass CN 的本地化字符串。
/// </summary>
internal static string RoutingModeBypassCN {
get {
return ResourceManager.GetString("RoutingModeBypassCN", resourceCulture);
}
}
/// <summary>
/// 查找类似 Bypass LAN 的本地化字符串。
/// </summary>
internal static string RoutingModeBypassLAN {
get {
return ResourceManager.GetString("RoutingModeBypassLAN", resourceCulture);
}
}
/// <summary>
/// 查找类似 Bypass LAN+CN 的本地化字符串。
/// </summary>
internal static string RoutingModeBypassLANCN {
get {
return ResourceManager.GetString("RoutingModeBypassLANCN", resourceCulture);
}
}
/// <summary>
/// 查找类似 Global 的本地化字符串。
/// </summary>
internal static string RoutingModeGlobal {
get {
return ResourceManager.GetString("RoutingModeGlobal", resourceCulture);
}
}
/// <summary>
/// 查找类似 The client configuration file is saved at: {0} 的本地化字符串。
/// </summary>
@ -708,6 +744,15 @@ namespace v2rayN.Resx {
}
}
/// <summary>
/// 查找类似 ... 的本地化字符串。
/// </summary>
internal static string ServerLatencyChecking {
get {
return ResourceManager.GetString("ServerLatencyChecking", resourceCulture);
}
}
/// <summary>
/// 查找类似 SlowFresh 的本地化字符串。
/// </summary>
@ -789,5 +834,14 @@ namespace v2rayN.Resx {
return ResourceManager.GetString("TestMeOutput", resourceCulture);
}
}
/// <summary>
/// 查找类似 Latency: {0} 的本地化字符串。
/// </summary>
internal static string toolSslServerLatency {
get {
return ResourceManager.GetString("toolSslServerLatency", resourceCulture);
}
}
}
}

View file

@ -327,12 +327,27 @@
<data name="RemoveServer" xml:space="preserve">
<value>Are you sure to remove the server?</value>
</data>
<data name="RoutingModeBypassCN" xml:space="preserve">
<value>Bypass CN</value>
</data>
<data name="RoutingModeBypassLAN" xml:space="preserve">
<value>Bypass LAN</value>
</data>
<data name="RoutingModeBypassLANCN" xml:space="preserve">
<value>Bypass LAN+CN</value>
</data>
<data name="RoutingModeGlobal" xml:space="preserve">
<value>Global</value>
</data>
<data name="SaveClientConfigurationIn" xml:space="preserve">
<value>The client configuration file is saved at: {0}</value>
</data>
<data name="SaveServerConfigurationIn" xml:space="preserve">
<value>The server configuration file is saved at: {0}</value>
</data>
<data name="ServerLatencyChecking" xml:space="preserve">
<value>...</value>
</data>
<data name="SlowFresh" xml:space="preserve">
<value>SlowFresh</value>
</data>
@ -361,4 +376,7 @@
<data name="TestMeOutput" xml:space="preserve">
<value>The ping of current service: {0}</value>
</data>
<data name="toolSslServerLatency" xml:space="preserve">
<value>Latency: {0}</value>
</data>
</root>

View file

@ -327,12 +327,27 @@
<data name="RemoveServer" xml:space="preserve">
<value>是否确定移除服务器?</value>
</data>
<data name="RoutingModeBypassCN" xml:space="preserve">
<value>绕过大陆</value>
</data>
<data name="RoutingModeBypassLAN" xml:space="preserve">
<value>绕过局域网</value>
</data>
<data name="RoutingModeBypassLANCN" xml:space="preserve">
<value>绕过局域网和大陆</value>
</data>
<data name="RoutingModeGlobal" xml:space="preserve">
<value>路由: 全局</value>
</data>
<data name="SaveClientConfigurationIn" xml:space="preserve">
<value>客户端配置文件保存在:{0}</value>
</data>
<data name="SaveServerConfigurationIn" xml:space="preserve">
<value>服务端配置文件保存在:{0}</value>
</data>
<data name="ServerLatencyChecking" xml:space="preserve">
<value>...</value>
</data>
<data name="SlowFresh" xml:space="preserve">
<value>慢</value>
</data>
@ -361,4 +376,7 @@
<data name="TestMeOutput" xml:space="preserve">
<value>当前服务的真连接延迟: {0}</value>
</data>
<data name="toolSslServerLatency" xml:space="preserve">
<value>延迟: {0}</value>
</data>
</root>