mirror of https://github.com/2dust/v2rayN
parent
f036f12925
commit
2861bff5a0
|
@ -115,6 +115,7 @@
|
|||
this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsbClose = new System.Windows.Forms.ToolStripButton();
|
||||
this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
|
@ -172,6 +173,7 @@
|
|||
this.menuScanScreen,
|
||||
this.toolStripSeparator1,
|
||||
this.menuRemoveServer,
|
||||
this.menuRemoveDuplicateServer,
|
||||
this.menuCopyServer,
|
||||
this.menuSetDefaultServer,
|
||||
this.toolStripSeparator3,
|
||||
|
@ -727,6 +729,12 @@
|
|||
this.tsbClose.Name = "tsbClose";
|
||||
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
|
||||
//
|
||||
// menuRemoveDuplicateServer
|
||||
//
|
||||
this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
|
||||
resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer");
|
||||
this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click);
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
|
@ -848,6 +856,7 @@
|
|||
private System.Windows.Forms.ToolStripStatusLabel toolSslPacPortLab;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolSslServerSpeed;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank4;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuRemoveDuplicateServer;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -580,6 +580,22 @@ namespace v2rayN.Forms
|
|||
|
||||
}
|
||||
|
||||
private void menuRemoveDuplicateServer_Click(object sender, EventArgs e)
|
||||
{
|
||||
List<Mode.VmessItem> servers = null;
|
||||
Utils.DedupServerList(config.vmess, out servers);
|
||||
if (servers != null)
|
||||
{
|
||||
config.vmess = servers;
|
||||
}
|
||||
//刷新
|
||||
RefreshServers();
|
||||
LoadV2ray();
|
||||
|
||||
// save to config file
|
||||
ConfigHandler.ToJsonFile(config);
|
||||
}
|
||||
|
||||
private void menuCopyServer_Click(object sender, EventArgs e)
|
||||
{
|
||||
int index = GetLvSelectedIndex();
|
||||
|
@ -1565,6 +1581,5 @@ namespace v2rayN.Forms
|
|||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -173,6 +173,12 @@
|
|||
<data name="menuRemoveServer.Text" xml:space="preserve">
|
||||
<value>Remove selected server (multiple choice) (Delete)</value>
|
||||
</data>
|
||||
<data name="menuRemoveDuplicateServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>447, 22</value>
|
||||
</data>
|
||||
<data name="menuRemoveDuplicateServer.Text" xml:space="preserve">
|
||||
<value>Remove duplicate server</value>
|
||||
</data>
|
||||
<data name="menuCopyServer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>447, 22</value>
|
||||
</data>
|
||||
|
@ -273,7 +279,7 @@
|
|||
<value>ImageAboveText</value>
|
||||
</data>
|
||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>448, 468</value>
|
||||
<value>448, 512</value>
|
||||
</data>
|
||||
<data name=">>cmsLv.Name" xml:space="preserve">
|
||||
<value>cmsLv</value>
|
||||
|
@ -1346,6 +1352,12 @@
|
|||
<data name=">>tsbClose.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>menuRemoveDuplicateServer.Name" xml:space="preserve">
|
||||
<value>menuRemoveDuplicateServer</value>
|
||||
</data>
|
||||
<data name=">>menuRemoveDuplicateServer.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>MainForm</value>
|
||||
</data>
|
||||
|
|
|
@ -453,4 +453,7 @@
|
|||
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
||||
<value>代理速度</value>
|
||||
</data>
|
||||
<data name="menuRemoveDuplicateServer.Text" xml:space="preserve">
|
||||
<value>移除重复的服务器</value>
|
||||
</data>
|
||||
</root>
|
|
@ -311,6 +311,20 @@ namespace v2rayN
|
|||
}
|
||||
}
|
||||
|
||||
public static void DedupServerList(List<Mode.VmessItem> source, out List<Mode.VmessItem> result)
|
||||
{
|
||||
var list = new List<Mode.VmessItem>();
|
||||
foreach (var item in source)
|
||||
{
|
||||
if(!list.Exists(i => item.address == i.address && item.port == i.port))
|
||||
{
|
||||
list.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
result = list;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue