Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af820bb0f2 | ||
|
|
8f5bb3591b | ||
|
|
7eafae98d4 | ||
|
|
1d4e5baafb |
@@ -152,7 +152,7 @@ namespace v2rayN.Forms
|
||||
return;
|
||||
}
|
||||
|
||||
address = Path.Combine(Utils.GetConfigPath(), address);
|
||||
address = Utils.GetConfigPath(address);
|
||||
Process.Start(address);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.cmbOutboundTag = new System.Windows.Forms.ComboBox();
|
||||
this.panel4 = new System.Windows.Forms.Panel();
|
||||
this.chkAutoSort = new System.Windows.Forms.CheckBox();
|
||||
this.btnClose = new System.Windows.Forms.Button();
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
@@ -63,7 +64,6 @@
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
resources.ApplyResources(this.panel3, "panel3");
|
||||
this.panel3.Controls.Add(this.chkEnabled);
|
||||
this.panel3.Controls.Add(this.clbInboundTag);
|
||||
this.panel3.Controls.Add(this.label2);
|
||||
@@ -74,6 +74,7 @@
|
||||
this.panel3.Controls.Add(this.labRoutingTips);
|
||||
this.panel3.Controls.Add(this.label4);
|
||||
this.panel3.Controls.Add(this.cmbOutboundTag);
|
||||
resources.ApplyResources(this.panel3, "panel3");
|
||||
this.panel3.Name = "panel3";
|
||||
//
|
||||
// chkEnabled
|
||||
@@ -84,8 +85,8 @@
|
||||
//
|
||||
// clbInboundTag
|
||||
//
|
||||
resources.ApplyResources(this.clbInboundTag, "clbInboundTag");
|
||||
this.clbInboundTag.CheckOnClick = true;
|
||||
resources.ApplyResources(this.clbInboundTag, "clbInboundTag");
|
||||
this.clbInboundTag.FormattingEnabled = true;
|
||||
this.clbInboundTag.Items.AddRange(new object[] {
|
||||
resources.GetString("clbInboundTag.Items"),
|
||||
@@ -100,8 +101,8 @@
|
||||
//
|
||||
// clbProtocol
|
||||
//
|
||||
resources.ApplyResources(this.clbProtocol, "clbProtocol");
|
||||
this.clbProtocol.CheckOnClick = true;
|
||||
resources.ApplyResources(this.clbProtocol, "clbProtocol");
|
||||
this.clbProtocol.FormattingEnabled = true;
|
||||
this.clbProtocol.Items.AddRange(new object[] {
|
||||
resources.GetString("clbProtocol.Items"),
|
||||
@@ -127,8 +128,8 @@
|
||||
//
|
||||
// labRoutingTips
|
||||
//
|
||||
resources.ApplyResources(this.labRoutingTips, "labRoutingTips");
|
||||
this.labRoutingTips.ForeColor = System.Drawing.Color.Brown;
|
||||
resources.ApplyResources(this.labRoutingTips, "labRoutingTips");
|
||||
this.labRoutingTips.Name = "labRoutingTips";
|
||||
//
|
||||
// label4
|
||||
@@ -138,26 +139,33 @@
|
||||
//
|
||||
// cmbOutboundTag
|
||||
//
|
||||
resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag");
|
||||
this.cmbOutboundTag.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cmbOutboundTag.FormattingEnabled = true;
|
||||
this.cmbOutboundTag.Items.AddRange(new object[] {
|
||||
resources.GetString("cmbOutboundTag.Items"),
|
||||
resources.GetString("cmbOutboundTag.Items1"),
|
||||
resources.GetString("cmbOutboundTag.Items2")});
|
||||
resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag");
|
||||
this.cmbOutboundTag.Name = "cmbOutboundTag";
|
||||
//
|
||||
// panel4
|
||||
//
|
||||
resources.ApplyResources(this.panel4, "panel4");
|
||||
this.panel4.Controls.Add(this.chkAutoSort);
|
||||
this.panel4.Controls.Add(this.btnClose);
|
||||
this.panel4.Controls.Add(this.btnOK);
|
||||
resources.ApplyResources(this.panel4, "panel4");
|
||||
this.panel4.Name = "panel4";
|
||||
//
|
||||
// chkAutoSort
|
||||
//
|
||||
resources.ApplyResources(this.chkAutoSort, "chkAutoSort");
|
||||
this.chkAutoSort.Name = "chkAutoSort";
|
||||
this.chkAutoSort.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnClose
|
||||
//
|
||||
resources.ApplyResources(this.btnClose, "btnClose");
|
||||
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
resources.ApplyResources(this.btnClose, "btnClose");
|
||||
this.btnClose.Name = "btnClose";
|
||||
this.btnClose.UseVisualStyleBackColor = true;
|
||||
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
||||
@@ -171,15 +179,15 @@
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
resources.ApplyResources(this.panel2, "panel2");
|
||||
this.panel2.Controls.Add(this.groupBox2);
|
||||
this.panel2.Controls.Add(this.groupBox1);
|
||||
resources.ApplyResources(this.panel2, "panel2");
|
||||
this.panel2.Name = "panel2";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||
this.groupBox2.Controls.Add(this.txtIP);
|
||||
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.TabStop = false;
|
||||
//
|
||||
@@ -190,8 +198,8 @@
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||
this.groupBox1.Controls.Add(this.txtDomain);
|
||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.TabStop = false;
|
||||
//
|
||||
@@ -214,6 +222,7 @@
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.panel3.PerformLayout();
|
||||
this.panel4.ResumeLayout(false);
|
||||
this.panel4.PerformLayout();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
@@ -245,5 +254,6 @@
|
||||
private System.Windows.Forms.CheckedListBox clbInboundTag;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.CheckBox chkEnabled;
|
||||
private System.Windows.Forms.CheckBox chkAutoSort;
|
||||
}
|
||||
}
|
||||
@@ -48,8 +48,16 @@ namespace v2rayN.Forms
|
||||
}
|
||||
rulesItem.inboundTag = inboundTag;
|
||||
rulesItem.outboundTag = cmbOutboundTag.Text;
|
||||
if (chkAutoSort.Checked)
|
||||
{
|
||||
rulesItem.domain = Utils.String2ListSorted(txtDomain.Text);
|
||||
rulesItem.ip = Utils.String2ListSorted(txtIP.Text);
|
||||
}
|
||||
else
|
||||
{
|
||||
rulesItem.domain = Utils.String2List(txtDomain.Text);
|
||||
rulesItem.ip = Utils.String2List(txtIP.Text);
|
||||
}
|
||||
|
||||
var protocol = new List<string>();
|
||||
for (int i = 0; i < clbProtocol.Items.Count; i++)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -170,4 +170,7 @@
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>路由规则详情设置</value>
|
||||
</data>
|
||||
<data name="chkAutoSort.Text" xml:space="preserve">
|
||||
<value>保存时Domain和IP自动排序</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -284,8 +284,18 @@ namespace v2rayN.Handler
|
||||
vmessItem.indexId = string.Empty;
|
||||
vmessItem.remarks = string.Format("{0}-clone", item.remarks);
|
||||
|
||||
if (vmessItem.configType == EConfigType.Custom)
|
||||
{
|
||||
vmessItem.address = Utils.GetConfigPath(vmessItem.address);
|
||||
if (AddCustomServer(ref config, vmessItem, false) == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AddServerCommon(ref config, vmessItem);
|
||||
}
|
||||
}
|
||||
|
||||
ToJsonFile(config);
|
||||
|
||||
@@ -442,7 +452,7 @@ namespace v2rayN.Handler
|
||||
|
||||
try
|
||||
{
|
||||
File.Copy(fileName, Path.Combine(Utils.GetConfigPath(), newFileName));
|
||||
File.Copy(fileName, Utils.GetConfigPath(newFileName));
|
||||
if (blDelete)
|
||||
{
|
||||
File.Delete(fileName);
|
||||
|
||||
@@ -178,6 +178,15 @@ namespace v2rayN.Handler
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
//Turn off system proxy
|
||||
bool bSysProxyType = false;
|
||||
if (!blProxy && config.sysProxyType == ESysProxyType.ForcedChange)
|
||||
{
|
||||
bSysProxyType = true;
|
||||
config.sysProxyType = ESysProxyType.ForcedClear;
|
||||
SysProxyHandle.UpdateSysProxy(config, false);
|
||||
}
|
||||
|
||||
foreach (var item in config.subItem)
|
||||
{
|
||||
if (item.enabled == false)
|
||||
@@ -217,7 +226,14 @@ namespace v2rayN.Handler
|
||||
}
|
||||
_updateFunc(false, $"-------------------------------------------------------");
|
||||
}
|
||||
//restore system proxy
|
||||
if (bSysProxyType)
|
||||
{
|
||||
config.sysProxyType = ESysProxyType.ForcedChange;
|
||||
SysProxyHandle.UpdateSysProxy(config, false);
|
||||
}
|
||||
_updateFunc(true, $"{ResUI.MsgUpdateSubscriptionEnd}");
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -941,7 +941,7 @@ namespace v2rayN.Handler
|
||||
string addressFileName = node.address;
|
||||
if (!File.Exists(addressFileName))
|
||||
{
|
||||
addressFileName = Path.Combine(Utils.GetConfigPath(), addressFileName);
|
||||
addressFileName = Utils.GetConfigPath(addressFileName);
|
||||
}
|
||||
if (!File.Exists(addressFileName))
|
||||
{
|
||||
|
||||
@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
|
||||
// 方法是按如下所示使用“*”:
|
||||
//[assembly: AssemblyVersion("1.0.*")]
|
||||
//[assembly: AssemblyVersion("1.0.0")]
|
||||
[assembly: AssemblyFileVersion("5.17")]
|
||||
[assembly: AssemblyFileVersion("5.18")]
|
||||
|
||||
Reference in New Issue
Block a user