Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4c2388749d | ||
|
|
89da3823a4 | ||
|
|
3a9a49b163 | ||
|
|
277b21dc86 | ||
|
|
bc0e8c17ba | ||
|
|
51d3df69bb | ||
|
|
4913f6f37d | ||
|
|
ff622e2ef6 | ||
|
|
50ad643abe | ||
|
|
944849a381 | ||
|
|
6f485141f0 | ||
|
|
3575291119 | ||
|
|
e256ec5401 | ||
|
|
3defba6290 | ||
|
|
c201d986c5 | ||
|
|
36aad4424e | ||
|
|
b29fb1e2a3 | ||
|
|
d5aa307efb | ||
|
|
48928613bf | ||
|
|
52b8f480f6 | ||
|
|
bcda8bd602 | ||
|
|
2a11fe11e8 | ||
|
|
7ec0607fec | ||
|
|
aa41a8675e | ||
|
|
19f9bff6fe | ||
|
|
4e65732a4e | ||
|
|
47c843bf09 | ||
|
|
a7741a0b7d |
@@ -56,7 +56,7 @@ namespace v2rayN.Base
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
public async Task<string> GetAsync(HttpClient client, string url)
|
public async Task<string> GetAsync(HttpClient client, string url, CancellationToken token)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(url))
|
if (string.IsNullOrEmpty(url))
|
||||||
{
|
{
|
||||||
@@ -64,10 +64,7 @@ namespace v2rayN.Base
|
|||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var cts = new CancellationTokenSource();
|
HttpResponseMessage response = await client.GetAsync(url, token);
|
||||||
cts.CancelAfter(5000);
|
|
||||||
|
|
||||||
HttpResponseMessage response = await client.GetAsync(url, cts.Token);
|
|
||||||
return await response.Content.ReadAsStringAsync();
|
return await response.Content.ReadAsStringAsync();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ namespace v2rayN.Forms
|
|||||||
public partial class BaseForm : Form
|
public partial class BaseForm : Form
|
||||||
{
|
{
|
||||||
protected static Config config;
|
protected static Config config;
|
||||||
protected static System.Drawing.Icon icon;
|
|
||||||
|
|
||||||
public BaseForm()
|
public BaseForm()
|
||||||
{
|
{
|
||||||
@@ -19,16 +18,14 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (icon == null)
|
string file = Utils.GetPath(Global.CustomIconName);
|
||||||
|
if (System.IO.File.Exists(file))
|
||||||
{
|
{
|
||||||
string file = Utils.GetPath(Global.CustomIconName);
|
this.Icon = new System.Drawing.Icon(file);
|
||||||
if (!System.IO.File.Exists(file))
|
return;
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
icon = new System.Drawing.Icon(file);
|
|
||||||
}
|
}
|
||||||
this.Icon = icon;
|
|
||||||
|
this.Icon = Properties.Resources.NotifyIcon1;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
144
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
144
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
@@ -30,7 +30,7 @@
|
|||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
this.components = new System.ComponentModel.Container();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
|
||||||
this.scMain = new System.Windows.Forms.SplitContainer();
|
this.scServers = new System.Windows.Forms.SplitContainer();
|
||||||
this.lvServers = new v2rayN.Base.ListViewFlickerFree();
|
this.lvServers = new v2rayN.Base.ListViewFlickerFree();
|
||||||
this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.menuAddVmessServer = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuAddVmessServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@@ -46,8 +46,10 @@
|
|||||||
this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuCopyServer = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuCopyServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuSetDefaultServer = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuSetDefaultServer = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.menuServerFilter = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.menuMoveToGroup = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMoveToGroup = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.menuMoveEvent = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuMoveTop = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMoveTop = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuMoveUp = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMoveUp = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuMoveDown = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuMoveDown = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@@ -65,11 +67,11 @@
|
|||||||
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
|
||||||
this.tabGroup = new System.Windows.Forms.TabControl();
|
this.tabGroup = new System.Windows.Forms.TabControl();
|
||||||
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
||||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.scBig = new System.Windows.Forms.SplitContainer();
|
||||||
|
this.gbServers = new System.Windows.Forms.GroupBox();
|
||||||
this.mainMsgControl = new v2rayN.Forms.MainMsgControl();
|
this.mainMsgControl = new v2rayN.Forms.MainMsgControl();
|
||||||
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
|
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
|
||||||
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
@@ -121,35 +123,35 @@
|
|||||||
this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
|
this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbClose = new System.Windows.Forms.ToolStripButton();
|
this.tsbClose = new System.Windows.Forms.ToolStripButton();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.scServers)).BeginInit();
|
||||||
this.scMain.Panel1.SuspendLayout();
|
this.scServers.Panel1.SuspendLayout();
|
||||||
this.scMain.Panel2.SuspendLayout();
|
this.scServers.Panel2.SuspendLayout();
|
||||||
this.scMain.SuspendLayout();
|
this.scServers.SuspendLayout();
|
||||||
this.cmsLv.SuspendLayout();
|
this.cmsLv.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.scBig)).BeginInit();
|
||||||
this.splitContainer1.Panel1.SuspendLayout();
|
this.scBig.Panel1.SuspendLayout();
|
||||||
this.splitContainer1.Panel2.SuspendLayout();
|
this.scBig.Panel2.SuspendLayout();
|
||||||
this.splitContainer1.SuspendLayout();
|
this.scBig.SuspendLayout();
|
||||||
this.groupBox1.SuspendLayout();
|
this.gbServers.SuspendLayout();
|
||||||
this.cmsMain.SuspendLayout();
|
this.cmsMain.SuspendLayout();
|
||||||
this.tsMain.SuspendLayout();
|
this.tsMain.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// scMain
|
// scServers
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.scMain, "scMain");
|
resources.ApplyResources(this.scServers, "scServers");
|
||||||
this.scMain.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
this.scServers.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||||
this.scMain.Name = "scMain";
|
this.scServers.Name = "scServers";
|
||||||
//
|
//
|
||||||
// scMain.Panel1
|
// scServers.Panel1
|
||||||
//
|
//
|
||||||
this.scMain.Panel1.Controls.Add(this.lvServers);
|
this.scServers.Panel1.Controls.Add(this.lvServers);
|
||||||
this.scMain.Panel1.Controls.Add(this.tabGroup);
|
this.scServers.Panel1.Controls.Add(this.tabGroup);
|
||||||
//
|
//
|
||||||
// scMain.Panel2
|
// scServers.Panel2
|
||||||
//
|
//
|
||||||
this.scMain.Panel2.Controls.Add(this.qrCodeControl);
|
this.scServers.Panel2.Controls.Add(this.qrCodeControl);
|
||||||
this.scMain.TabStop = false;
|
this.scServers.TabStop = false;
|
||||||
//
|
//
|
||||||
// lvServers
|
// lvServers
|
||||||
//
|
//
|
||||||
@@ -188,12 +190,10 @@
|
|||||||
this.menuRemoveDuplicateServer,
|
this.menuRemoveDuplicateServer,
|
||||||
this.menuCopyServer,
|
this.menuCopyServer,
|
||||||
this.menuSetDefaultServer,
|
this.menuSetDefaultServer,
|
||||||
|
this.menuServerFilter,
|
||||||
this.toolStripSeparator3,
|
this.toolStripSeparator3,
|
||||||
this.menuMoveToGroup,
|
this.menuMoveToGroup,
|
||||||
this.menuMoveTop,
|
this.menuMoveEvent,
|
||||||
this.menuMoveUp,
|
|
||||||
this.menuMoveDown,
|
|
||||||
this.menuMoveBottom,
|
|
||||||
this.menuSelectAll,
|
this.menuSelectAll,
|
||||||
this.toolStripSeparator9,
|
this.toolStripSeparator9,
|
||||||
this.menuPingServer,
|
this.menuPingServer,
|
||||||
@@ -287,6 +287,12 @@
|
|||||||
resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
|
resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
|
||||||
this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
|
this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
|
||||||
//
|
//
|
||||||
|
// menuServerFilter
|
||||||
|
//
|
||||||
|
this.menuServerFilter.Name = "menuServerFilter";
|
||||||
|
resources.ApplyResources(this.menuServerFilter, "menuServerFilter");
|
||||||
|
this.menuServerFilter.Click += new System.EventHandler(this.menuServerFilter_Click);
|
||||||
|
//
|
||||||
// toolStripSeparator3
|
// toolStripSeparator3
|
||||||
//
|
//
|
||||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||||
@@ -298,6 +304,16 @@
|
|||||||
resources.ApplyResources(this.menuMoveToGroup, "menuMoveToGroup");
|
resources.ApplyResources(this.menuMoveToGroup, "menuMoveToGroup");
|
||||||
this.menuMoveToGroup.Click += new System.EventHandler(this.menuMoveToGroup_Click);
|
this.menuMoveToGroup.Click += new System.EventHandler(this.menuMoveToGroup_Click);
|
||||||
//
|
//
|
||||||
|
// menuMoveEvent
|
||||||
|
//
|
||||||
|
this.menuMoveEvent.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.menuMoveTop,
|
||||||
|
this.menuMoveUp,
|
||||||
|
this.menuMoveDown,
|
||||||
|
this.menuMoveBottom});
|
||||||
|
this.menuMoveEvent.Name = "menuMoveEvent";
|
||||||
|
resources.ApplyResources(this.menuMoveEvent, "menuMoveEvent");
|
||||||
|
//
|
||||||
// menuMoveTop
|
// menuMoveTop
|
||||||
//
|
//
|
||||||
this.menuMoveTop.Name = "menuMoveTop";
|
this.menuMoveTop.Name = "menuMoveTop";
|
||||||
@@ -398,13 +414,6 @@
|
|||||||
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
||||||
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
||||||
//
|
//
|
||||||
// tsbServer
|
|
||||||
//
|
|
||||||
this.tsbServer.DropDown = this.cmsLv;
|
|
||||||
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
|
|
||||||
resources.ApplyResources(this.tsbServer, "tsbServer");
|
|
||||||
this.tsbServer.Name = "tsbServer";
|
|
||||||
//
|
|
||||||
// tabGroup
|
// tabGroup
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tabGroup, "tabGroup");
|
resources.ApplyResources(this.tabGroup, "tabGroup");
|
||||||
@@ -417,25 +426,32 @@
|
|||||||
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
||||||
this.qrCodeControl.Name = "qrCodeControl";
|
this.qrCodeControl.Name = "qrCodeControl";
|
||||||
//
|
//
|
||||||
// splitContainer1
|
// tsbServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.splitContainer1, "splitContainer1");
|
this.tsbServer.DropDown = this.cmsLv;
|
||||||
this.splitContainer1.Name = "splitContainer1";
|
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
|
||||||
|
resources.ApplyResources(this.tsbServer, "tsbServer");
|
||||||
|
this.tsbServer.Name = "tsbServer";
|
||||||
//
|
//
|
||||||
// splitContainer1.Panel1
|
// scBig
|
||||||
//
|
//
|
||||||
this.splitContainer1.Panel1.Controls.Add(this.groupBox1);
|
resources.ApplyResources(this.scBig, "scBig");
|
||||||
|
this.scBig.Name = "scBig";
|
||||||
//
|
//
|
||||||
// splitContainer1.Panel2
|
// scBig.Panel1
|
||||||
//
|
//
|
||||||
this.splitContainer1.Panel2.Controls.Add(this.mainMsgControl);
|
this.scBig.Panel1.Controls.Add(this.gbServers);
|
||||||
//
|
//
|
||||||
// groupBox1
|
// scBig.Panel2
|
||||||
//
|
//
|
||||||
this.groupBox1.Controls.Add(this.scMain);
|
this.scBig.Panel2.Controls.Add(this.mainMsgControl);
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
//
|
||||||
this.groupBox1.Name = "groupBox1";
|
// gbServers
|
||||||
this.groupBox1.TabStop = false;
|
//
|
||||||
|
this.gbServers.Controls.Add(this.scServers);
|
||||||
|
resources.ApplyResources(this.gbServers, "gbServers");
|
||||||
|
this.gbServers.Name = "gbServers";
|
||||||
|
this.gbServers.TabStop = false;
|
||||||
//
|
//
|
||||||
// mainMsgControl
|
// mainMsgControl
|
||||||
//
|
//
|
||||||
@@ -796,7 +812,7 @@
|
|||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.Controls.Add(this.splitContainer1);
|
this.Controls.Add(this.scBig);
|
||||||
this.Controls.Add(this.panel1);
|
this.Controls.Add(this.panel1);
|
||||||
this.Controls.Add(this.tsMain);
|
this.Controls.Add(this.tsMain);
|
||||||
this.MaximizeBox = true;
|
this.MaximizeBox = true;
|
||||||
@@ -807,16 +823,16 @@
|
|||||||
this.Shown += new System.EventHandler(this.MainForm_Shown);
|
this.Shown += new System.EventHandler(this.MainForm_Shown);
|
||||||
this.VisibleChanged += new System.EventHandler(this.MainForm_VisibleChanged);
|
this.VisibleChanged += new System.EventHandler(this.MainForm_VisibleChanged);
|
||||||
this.Resize += new System.EventHandler(this.MainForm_Resize);
|
this.Resize += new System.EventHandler(this.MainForm_Resize);
|
||||||
this.scMain.Panel1.ResumeLayout(false);
|
this.scServers.Panel1.ResumeLayout(false);
|
||||||
this.scMain.Panel2.ResumeLayout(false);
|
this.scServers.Panel2.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.scMain)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.scServers)).EndInit();
|
||||||
this.scMain.ResumeLayout(false);
|
this.scServers.ResumeLayout(false);
|
||||||
this.cmsLv.ResumeLayout(false);
|
this.cmsLv.ResumeLayout(false);
|
||||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
this.scBig.Panel1.ResumeLayout(false);
|
||||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
this.scBig.Panel2.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.scBig)).EndInit();
|
||||||
this.splitContainer1.ResumeLayout(false);
|
this.scBig.ResumeLayout(false);
|
||||||
this.groupBox1.ResumeLayout(false);
|
this.gbServers.ResumeLayout(false);
|
||||||
this.cmsMain.ResumeLayout(false);
|
this.cmsMain.ResumeLayout(false);
|
||||||
this.tsMain.ResumeLayout(false);
|
this.tsMain.ResumeLayout(false);
|
||||||
this.tsMain.PerformLayout();
|
this.tsMain.PerformLayout();
|
||||||
@@ -827,7 +843,7 @@
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private System.Windows.Forms.GroupBox groupBox1;
|
private System.Windows.Forms.GroupBox gbServers;
|
||||||
private v2rayN.Base.ListViewFlickerFree lvServers;
|
private v2rayN.Base.ListViewFlickerFree lvServers;
|
||||||
private System.Windows.Forms.NotifyIcon notifyMain;
|
private System.Windows.Forms.NotifyIcon notifyMain;
|
||||||
private System.Windows.Forms.ContextMenuStrip cmsMain;
|
private System.Windows.Forms.ContextMenuStrip cmsMain;
|
||||||
@@ -851,10 +867,6 @@
|
|||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMoveTop;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMoveUp;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMoveDown;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMoveBottom;
|
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuSysAgentMode;
|
private System.Windows.Forms.ToolStripMenuItem menuSysAgentMode;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuGlobal;
|
private System.Windows.Forms.ToolStripMenuItem menuGlobal;
|
||||||
@@ -862,7 +874,7 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem menuAddCustomServer;
|
private System.Windows.Forms.ToolStripMenuItem menuAddCustomServer;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuAddShadowsocksServer;
|
private System.Windows.Forms.ToolStripMenuItem menuAddShadowsocksServer;
|
||||||
private System.Windows.Forms.SplitContainer scMain;
|
private System.Windows.Forms.SplitContainer scServers;
|
||||||
private QRCodeControl qrCodeControl;
|
private QRCodeControl qrCodeControl;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
|
||||||
private System.Windows.Forms.ToolStripDropDownButton tsbCheckUpdate;
|
private System.Windows.Forms.ToolStripDropDownButton tsbCheckUpdate;
|
||||||
@@ -910,7 +922,7 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem tsbBackupGuiNConfig;
|
private System.Windows.Forms.ToolStripMenuItem tsbBackupGuiNConfig;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator15;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator15;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateGeo;
|
private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateGeo;
|
||||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
private System.Windows.Forms.SplitContainer scBig;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsbSubUpdateViaProxy;
|
private System.Windows.Forms.ToolStripMenuItem tsbSubUpdateViaProxy;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuUpdateSubViaProxy;
|
private System.Windows.Forms.ToolStripMenuItem menuUpdateSubViaProxy;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsbGlobalHotkeySetting;
|
private System.Windows.Forms.ToolStripMenuItem tsbGlobalHotkeySetting;
|
||||||
@@ -918,6 +930,12 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem tsbGroupSetting;
|
private System.Windows.Forms.ToolStripMenuItem tsbGroupSetting;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMoveToGroup;
|
private System.Windows.Forms.ToolStripMenuItem menuMoveToGroup;
|
||||||
private MainMsgControl mainMsgControl;
|
private MainMsgControl mainMsgControl;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuMoveEvent;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuMoveTop;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuMoveUp;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuMoveDown;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuMoveBottom;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem menuServerFilter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ namespace v2rayN.Forms
|
|||||||
private StatisticsHandler statistics = null;
|
private StatisticsHandler statistics = null;
|
||||||
private List<VmessItem> lstVmess = null;
|
private List<VmessItem> lstVmess = null;
|
||||||
private string groupId = string.Empty;
|
private string groupId = string.Empty;
|
||||||
|
private string serverFilter = string.Empty;
|
||||||
|
|
||||||
#region Window 事件
|
#region Window 事件
|
||||||
|
|
||||||
@@ -123,7 +124,10 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
v2rayHandler.V2rayStop();
|
Utils.SaveLog("MyAppExit Begin");
|
||||||
|
|
||||||
|
StorageUI();
|
||||||
|
ConfigHandler.SaveConfig(ref config);
|
||||||
|
|
||||||
//HttpProxyHandle.CloseHttpAgent(config);
|
//HttpProxyHandle.CloseHttpAgent(config);
|
||||||
if (blWindowsShutDown)
|
if (blWindowsShutDown)
|
||||||
@@ -135,17 +139,18 @@ namespace v2rayN.Forms
|
|||||||
SysProxyHandle.UpdateSysProxy(config, true);
|
SysProxyHandle.UpdateSysProxy(config, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
StorageUI();
|
|
||||||
ConfigHandler.SaveConfig(ref config);
|
|
||||||
statistics?.SaveToFile();
|
statistics?.SaveToFile();
|
||||||
statistics?.Close();
|
statistics?.Close();
|
||||||
|
|
||||||
|
v2rayHandler.V2rayStop();
|
||||||
|
Utils.SaveLog("MyAppExit End");
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RestoreUI()
|
private void RestoreUI()
|
||||||
{
|
{
|
||||||
scMain.Panel2Collapsed = true;
|
scServers.Panel2Collapsed = true;
|
||||||
|
|
||||||
if (!config.uiItem.mainLocation.IsEmpty)
|
if (!config.uiItem.mainLocation.IsEmpty)
|
||||||
{
|
{
|
||||||
@@ -208,6 +213,7 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
lstVmess = config.vmess
|
lstVmess = config.vmess
|
||||||
.Where(it => Utils.IsNullOrEmpty(groupId) ? true : it.groupId == groupId)
|
.Where(it => Utils.IsNullOrEmpty(groupId) ? true : it.groupId == groupId)
|
||||||
|
.Where(it => Utils.IsNullOrEmpty(serverFilter) ? true : it.remarks.Contains(serverFilter))
|
||||||
.OrderBy(it => it.sort)
|
.OrderBy(it => it.sort)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
@@ -624,6 +630,9 @@ namespace v2rayN.Forms
|
|||||||
case Keys.T:
|
case Keys.T:
|
||||||
menuSpeedServer_Click(null, null);
|
menuSpeedServer_Click(null, null);
|
||||||
break;
|
break;
|
||||||
|
case Keys.F:
|
||||||
|
menuServerFilter_Click(null, null);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -713,6 +722,17 @@ namespace v2rayN.Forms
|
|||||||
SetDefaultServer(index);
|
SetDefaultServer(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void menuServerFilter_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var fm = new MsgFilterSetForm();
|
||||||
|
fm.MsgFilter = serverFilter;
|
||||||
|
if (fm.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
serverFilter = fm.MsgFilter;
|
||||||
|
gbServers.Text = string.Format(ResUI.MsgServerTitle, serverFilter);
|
||||||
|
RefreshServers();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void menuPingServer_Click(object sender, EventArgs e)
|
private void menuPingServer_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -1273,7 +1293,10 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
mainMsgControl.DisplayToolStatus(config);
|
mainMsgControl.DisplayToolStatus(config);
|
||||||
|
|
||||||
notifyMain.Icon = MainFormHandler.Instance.GetNotifyIcon(config, this.Icon);
|
this.BeginInvoke(new Action(() =>
|
||||||
|
{
|
||||||
|
notifyMain.Icon = this.Icon = MainFormHandler.Instance.GetNotifyIcon(config, this.Icon);
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -1411,7 +1434,7 @@ namespace v2rayN.Forms
|
|||||||
private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)
|
private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
bool bShow = tsbQRCodeSwitch.Checked;
|
bool bShow = tsbQRCodeSwitch.Checked;
|
||||||
scMain.Panel2Collapsed = !bShow;
|
scServers.Panel2Collapsed = !bShow;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -1494,5 +1517,6 @@ namespace v2rayN.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,11 +118,11 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="scMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="scServers.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="scMain.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="scServers.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>3, 17</value>
|
<value>3, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="cmsLv.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="cmsLv.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
@@ -203,6 +203,12 @@
|
|||||||
<data name="menuSetDefaultServer.Text" xml:space="preserve">
|
<data name="menuSetDefaultServer.Text" xml:space="preserve">
|
||||||
<value>Set as active server (Enter)</value>
|
<value>Set as active server (Enter)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="menuServerFilter.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>355, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuServerFilter.Text" xml:space="preserve">
|
||||||
|
<value>Set server filter (Ctrl+F)</value>
|
||||||
|
</data>
|
||||||
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>352, 6</value>
|
<value>352, 6</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -213,29 +219,35 @@
|
|||||||
<value>Move to Group</value>
|
<value>Move to Group</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuMoveTop.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>355, 22</value>
|
<value>192, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveTop.Text" xml:space="preserve">
|
<data name="menuMoveTop.Text" xml:space="preserve">
|
||||||
<value>Move to top (T)</value>
|
<value>Move to top (T)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuMoveUp.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>355, 22</value>
|
<value>192, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveUp.Text" xml:space="preserve">
|
<data name="menuMoveUp.Text" xml:space="preserve">
|
||||||
<value>Up (U)</value>
|
<value>Up (U)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuMoveDown.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>355, 22</value>
|
<value>192, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveDown.Text" xml:space="preserve">
|
<data name="menuMoveDown.Text" xml:space="preserve">
|
||||||
<value>Down (D)</value>
|
<value>Down (D)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuMoveBottom.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>355, 22</value>
|
<value>192, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuMoveBottom.Text" xml:space="preserve">
|
<data name="menuMoveBottom.Text" xml:space="preserve">
|
||||||
<value>Move to bottom (B)</value>
|
<value>Move to bottom (B)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="menuMoveEvent.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>355, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuMoveEvent.Text" xml:space="preserve">
|
||||||
|
<value>Move to</value>
|
||||||
|
</data>
|
||||||
<data name="menuSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>355, 22</value>
|
<value>355, 22</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -309,7 +321,7 @@
|
|||||||
<value>Export subscription (base64) share to clipboard</value>
|
<value>Export subscription (base64) share to clipboard</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>356, 666</value>
|
<value>356, 622</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>cmsLv.Name" xml:space="preserve">
|
<data name=">>cmsLv.Name" xml:space="preserve">
|
||||||
<value>cmsLv</value>
|
<value>cmsLv</value>
|
||||||
@@ -354,7 +366,7 @@
|
|||||||
<value>v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lvServers.Parent" xml:space="preserve">
|
<data name=">>lvServers.Parent" xml:space="preserve">
|
||||||
<value>scMain.Panel1</value>
|
<value>scServers.Panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lvServers.ZOrder" xml:space="preserve">
|
<data name=">>lvServers.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@@ -378,21 +390,21 @@
|
|||||||
<value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>tabGroup.Parent" xml:space="preserve">
|
<data name=">>tabGroup.Parent" xml:space="preserve">
|
||||||
<value>scMain.Panel1</value>
|
<value>scServers.Panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>tabGroup.ZOrder" xml:space="preserve">
|
<data name=">>tabGroup.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Panel1.Name" xml:space="preserve">
|
<data name=">>scServers.Panel1.Name" xml:space="preserve">
|
||||||
<value>scMain.Panel1</value>
|
<value>scServers.Panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Panel1.Type" xml:space="preserve">
|
<data name=">>scServers.Panel1.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Panel1.Parent" xml:space="preserve">
|
<data name=">>scServers.Panel1.Parent" xml:space="preserve">
|
||||||
<value>scMain</value>
|
<value>scServers</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Panel1.ZOrder" xml:space="preserve">
|
<data name=">>scServers.Panel1.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="qrCodeControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="qrCodeControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
@@ -417,45 +429,45 @@
|
|||||||
<value>v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>qrCodeControl.Parent" xml:space="preserve">
|
<data name=">>qrCodeControl.Parent" xml:space="preserve">
|
||||||
<value>scMain.Panel2</value>
|
<value>scServers.Panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>qrCodeControl.ZOrder" xml:space="preserve">
|
<data name=">>qrCodeControl.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Panel2.Name" xml:space="preserve">
|
<data name=">>scServers.Panel2.Name" xml:space="preserve">
|
||||||
<value>scMain.Panel2</value>
|
<value>scServers.Panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Panel2.Type" xml:space="preserve">
|
<data name=">>scServers.Panel2.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Panel2.Parent" xml:space="preserve">
|
<data name=">>scServers.Panel2.Parent" xml:space="preserve">
|
||||||
<value>scMain</value>
|
<value>scServers</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Panel2.ZOrder" xml:space="preserve">
|
<data name=">>scServers.Panel2.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="scMain.Panel2MinSize" type="System.Int32, mscorlib">
|
<data name="scServers.Panel2MinSize" type="System.Int32, mscorlib">
|
||||||
<value>100</value>
|
<value>100</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="scMain.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="scServers.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>946, 280</value>
|
<value>946, 280</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="scMain.SplitterDistance" type="System.Int32, mscorlib">
|
<data name="scServers.SplitterDistance" type="System.Int32, mscorlib">
|
||||||
<value>686</value>
|
<value>686</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="scMain.TabIndex" type="System.Int32, mscorlib">
|
<data name="scServers.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Name" xml:space="preserve">
|
<data name=">>scServers.Name" xml:space="preserve">
|
||||||
<value>scMain</value>
|
<value>scServers</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Type" xml:space="preserve">
|
<data name=">>scServers.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.Parent" xml:space="preserve">
|
<data name=">>scServers.Parent" xml:space="preserve">
|
||||||
<value>groupBox1</value>
|
<value>gbServers</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>scMain.ZOrder" xml:space="preserve">
|
<data name=">>scServers.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbServer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
<data name="tsbServer.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||||
@@ -470,49 +482,49 @@
|
|||||||
<data name="tsbServer.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
<data name="tsbServer.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
<value>ImageAboveText</value>
|
<value>ImageAboveText</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="scBig.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="scBig.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 66</value>
|
<value>0, 66</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
|
<data name="scBig.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
|
||||||
<value>Horizontal</value>
|
<value>Horizontal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="gbServers.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="gbServers.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 0</value>
|
<value>0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="gbServers.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>952, 300</value>
|
<value>952, 300</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
<data name="gbServers.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>groupBox1.Name" xml:space="preserve">
|
<data name=">>gbServers.Name" xml:space="preserve">
|
||||||
<value>groupBox1</value>
|
<value>gbServers</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>groupBox1.Type" xml:space="preserve">
|
<data name=">>gbServers.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>groupBox1.Parent" xml:space="preserve">
|
<data name=">>gbServers.Parent" xml:space="preserve">
|
||||||
<value>splitContainer1.Panel1</value>
|
<value>scBig.Panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
<data name=">>gbServers.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Panel1.Name" xml:space="preserve">
|
<data name=">>scBig.Panel1.Name" xml:space="preserve">
|
||||||
<value>splitContainer1.Panel1</value>
|
<value>scBig.Panel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Panel1.Type" xml:space="preserve">
|
<data name=">>scBig.Panel1.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Panel1.Parent" xml:space="preserve">
|
<data name=">>scBig.Panel1.Parent" xml:space="preserve">
|
||||||
<value>splitContainer1</value>
|
<value>scBig</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Panel1.ZOrder" xml:space="preserve">
|
<data name=">>scBig.Panel1.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mainMsgControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="mainMsgControl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
@@ -534,42 +546,42 @@
|
|||||||
<value>v2rayN.Forms.MainMsgControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>v2rayN.Forms.MainMsgControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mainMsgControl.Parent" xml:space="preserve">
|
<data name=">>mainMsgControl.Parent" xml:space="preserve">
|
||||||
<value>splitContainer1.Panel2</value>
|
<value>scBig.Panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mainMsgControl.ZOrder" xml:space="preserve">
|
<data name=">>mainMsgControl.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Panel2.Name" xml:space="preserve">
|
<data name=">>scBig.Panel2.Name" xml:space="preserve">
|
||||||
<value>splitContainer1.Panel2</value>
|
<value>scBig.Panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Panel2.Type" xml:space="preserve">
|
<data name=">>scBig.Panel2.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Panel2.Parent" xml:space="preserve">
|
<data name=">>scBig.Panel2.Parent" xml:space="preserve">
|
||||||
<value>splitContainer1</value>
|
<value>scBig</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Panel2.ZOrder" xml:space="preserve">
|
<data name=">>scBig.Panel2.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="scBig.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>952, 527</value>
|
<value>952, 527</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
|
<data name="scBig.SplitterDistance" type="System.Int32, mscorlib">
|
||||||
<value>300</value>
|
<value>300</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
|
<data name="scBig.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>5</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Name" xml:space="preserve">
|
<data name=">>scBig.Name" xml:space="preserve">
|
||||||
<value>splitContainer1</value>
|
<value>scBig</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Type" xml:space="preserve">
|
<data name=">>scBig.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Parent" xml:space="preserve">
|
<data name=">>scBig.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.ZOrder" xml:space="preserve">
|
<data name=">>scBig.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="notifyMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="notifyMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
@@ -945,7 +957,7 @@
|
|||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>90</value>
|
<value>64</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
<value>6, 12</value>
|
<value>6, 12</value>
|
||||||
@@ -1037,6 +1049,12 @@
|
|||||||
<data name=">>menuSetDefaultServer.Type" xml:space="preserve">
|
<data name=">>menuSetDefaultServer.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>menuServerFilter.Name" xml:space="preserve">
|
||||||
|
<value>menuServerFilter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>menuServerFilter.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=">>toolStripSeparator3.Name" xml:space="preserve">
|
<data name=">>toolStripSeparator3.Name" xml:space="preserve">
|
||||||
<value>toolStripSeparator3</value>
|
<value>toolStripSeparator3</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1049,6 +1067,12 @@
|
|||||||
<data name=">>menuMoveToGroup.Type" xml:space="preserve">
|
<data name=">>menuMoveToGroup.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>menuMoveEvent.Name" xml:space="preserve">
|
||||||
|
<value>menuMoveEvent</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>menuMoveEvent.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=">>menuMoveTop.Name" xml:space="preserve">
|
<data name=">>menuMoveTop.Name" xml:space="preserve">
|
||||||
<value>menuMoveTop</value>
|
<value>menuMoveTop</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -555,4 +555,10 @@
|
|||||||
<data name="menuMoveToGroup.Text" xml:space="preserve">
|
<data name="menuMoveToGroup.Text" xml:space="preserve">
|
||||||
<value>移至分组</value>
|
<value>移至分组</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="menuMoveEvent.Text" xml:space="preserve">
|
||||||
|
<value>上下移至</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuServerFilter.Text" xml:space="preserve">
|
||||||
|
<value>设置服务器过滤器 (Ctrl+F)</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -183,6 +183,7 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
var fm = new MsgFilterSetForm();
|
var fm = new MsgFilterSetForm();
|
||||||
fm.MsgFilter = MsgFilter;
|
fm.MsgFilter = MsgFilter;
|
||||||
|
fm.ShowDefFilter = true;
|
||||||
if (fm.ShowDialog() == DialogResult.OK)
|
if (fm.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
MsgFilter = fm.MsgFilter;
|
MsgFilter = fm.MsgFilter;
|
||||||
|
|||||||
39
v2rayN/v2rayN/Forms/MsgFilterSetForm.Designer.cs
generated
39
v2rayN/v2rayN/Forms/MsgFilterSetForm.Designer.cs
generated
@@ -30,12 +30,13 @@
|
|||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MsgFilterSetForm));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MsgFilterSetForm));
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.btnFilderProxy = new System.Windows.Forms.Button();
|
||||||
|
this.btnFilterDirect = new System.Windows.Forms.Button();
|
||||||
this.txtMsgFilter = new System.Windows.Forms.TextBox();
|
this.txtMsgFilter = new System.Windows.Forms.TextBox();
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
this.btnClose = new System.Windows.Forms.Button();
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
this.btnOK = new System.Windows.Forms.Button();
|
||||||
this.btnFilterDirect = new System.Windows.Forms.Button();
|
this.btnClear = new System.Windows.Forms.Button();
|
||||||
this.btnFilderProxy = new System.Windows.Forms.Button();
|
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
this.panel2.SuspendLayout();
|
this.panel2.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
@@ -49,6 +50,20 @@
|
|||||||
this.groupBox1.Name = "groupBox1";
|
this.groupBox1.Name = "groupBox1";
|
||||||
this.groupBox1.TabStop = false;
|
this.groupBox1.TabStop = false;
|
||||||
//
|
//
|
||||||
|
// btnFilderProxy
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnFilderProxy, "btnFilderProxy");
|
||||||
|
this.btnFilderProxy.Name = "btnFilderProxy";
|
||||||
|
this.btnFilderProxy.UseVisualStyleBackColor = true;
|
||||||
|
this.btnFilderProxy.Click += new System.EventHandler(this.btnFilderProxy_Click);
|
||||||
|
//
|
||||||
|
// btnFilterDirect
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnFilterDirect, "btnFilterDirect");
|
||||||
|
this.btnFilterDirect.Name = "btnFilterDirect";
|
||||||
|
this.btnFilterDirect.UseVisualStyleBackColor = true;
|
||||||
|
this.btnFilterDirect.Click += new System.EventHandler(this.btnFilterDirect_Click);
|
||||||
|
//
|
||||||
// txtMsgFilter
|
// txtMsgFilter
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.txtMsgFilter, "txtMsgFilter");
|
resources.ApplyResources(this.txtMsgFilter, "txtMsgFilter");
|
||||||
@@ -56,6 +71,7 @@
|
|||||||
//
|
//
|
||||||
// panel2
|
// panel2
|
||||||
//
|
//
|
||||||
|
this.panel2.Controls.Add(this.btnClear);
|
||||||
this.panel2.Controls.Add(this.btnClose);
|
this.panel2.Controls.Add(this.btnClose);
|
||||||
this.panel2.Controls.Add(this.btnOK);
|
this.panel2.Controls.Add(this.btnOK);
|
||||||
resources.ApplyResources(this.panel2, "panel2");
|
resources.ApplyResources(this.panel2, "panel2");
|
||||||
@@ -76,24 +92,18 @@
|
|||||||
this.btnOK.UseVisualStyleBackColor = true;
|
this.btnOK.UseVisualStyleBackColor = true;
|
||||||
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
||||||
//
|
//
|
||||||
// btnFilterDirect
|
// btnClear
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.btnFilterDirect, "btnFilterDirect");
|
resources.ApplyResources(this.btnClear, "btnClear");
|
||||||
this.btnFilterDirect.Name = "btnFilterDirect";
|
this.btnClear.Name = "btnClear";
|
||||||
this.btnFilterDirect.UseVisualStyleBackColor = true;
|
this.btnClear.UseVisualStyleBackColor = true;
|
||||||
this.btnFilterDirect.Click += new System.EventHandler(this.btnFilterDirect_Click);
|
this.btnClear.Click += new System.EventHandler(this.btnClear_Click);
|
||||||
//
|
|
||||||
// btnFilderProxy
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.btnFilderProxy, "btnFilderProxy");
|
|
||||||
this.btnFilderProxy.Name = "btnFilderProxy";
|
|
||||||
this.btnFilderProxy.UseVisualStyleBackColor = true;
|
|
||||||
this.btnFilderProxy.Click += new System.EventHandler(this.btnFilderProxy_Click);
|
|
||||||
//
|
//
|
||||||
// MsgFilterSetForm
|
// MsgFilterSetForm
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.CancelButton = this.btnClose;
|
||||||
this.Controls.Add(this.groupBox1);
|
this.Controls.Add(this.groupBox1);
|
||||||
this.Controls.Add(this.panel2);
|
this.Controls.Add(this.panel2);
|
||||||
this.Name = "MsgFilterSetForm";
|
this.Name = "MsgFilterSetForm";
|
||||||
@@ -114,5 +124,6 @@
|
|||||||
private System.Windows.Forms.Button btnOK;
|
private System.Windows.Forms.Button btnOK;
|
||||||
private System.Windows.Forms.Button btnFilderProxy;
|
private System.Windows.Forms.Button btnFilderProxy;
|
||||||
private System.Windows.Forms.Button btnFilterDirect;
|
private System.Windows.Forms.Button btnFilterDirect;
|
||||||
|
private System.Windows.Forms.Button btnClear;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,6 +13,7 @@ namespace v2rayN.Forms
|
|||||||
public partial class MsgFilterSetForm : BaseForm
|
public partial class MsgFilterSetForm : BaseForm
|
||||||
{
|
{
|
||||||
public string MsgFilter { get; set; }
|
public string MsgFilter { get; set; }
|
||||||
|
public bool ShowDefFilter { get; set; }
|
||||||
|
|
||||||
public MsgFilterSetForm()
|
public MsgFilterSetForm()
|
||||||
{
|
{
|
||||||
@@ -22,6 +23,8 @@ namespace v2rayN.Forms
|
|||||||
private void MsgFilterSetForm_Load(object sender, EventArgs e)
|
private void MsgFilterSetForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
txtMsgFilter.Text = MsgFilter;
|
txtMsgFilter.Text = MsgFilter;
|
||||||
|
btnFilderProxy.Visible =
|
||||||
|
btnFilterDirect.Visible = ShowDefFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
private void btnOK_Click(object sender, EventArgs e)
|
||||||
@@ -44,5 +47,11 @@ namespace v2rayN.Forms
|
|||||||
{
|
{
|
||||||
txtMsgFilter.Text = "^(?!.*direct).*$";
|
txtMsgFilter.Text = "^(?!.*direct).*$";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void btnClear_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MsgFilter = string.Empty;
|
||||||
|
this.DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,14 +117,78 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name=">>btnFilderProxy.Name" xml:space="preserve">
|
||||||
|
<value>btnFilderProxy</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnFilderProxy.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnFilderProxy.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnFilderProxy.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnFilterDirect.Name" xml:space="preserve">
|
||||||
|
<value>btnFilterDirect</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnFilterDirect.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnFilterDirect.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnFilterDirect.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtMsgFilter.Name" xml:space="preserve">
|
||||||
|
<value>txtMsgFilter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtMsgFilter.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtMsgFilter.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtMsgFilter.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>490, 76</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
|
<value>Filter</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Name" xml:space="preserve">
|
||||||
|
<value>groupBox1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
<data name="btnFilderProxy.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="btnFilderProxy.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>157, 47</value>
|
<value>157, 47</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnFilderProxy.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="btnFilderProxy.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>95, 23</value>
|
<value>95, 23</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="btnFilderProxy.TabIndex" type="System.Int32, mscorlib">
|
<data name="btnFilderProxy.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>13</value>
|
<value>13</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -143,7 +207,6 @@
|
|||||||
<data name=">>btnFilderProxy.ZOrder" xml:space="preserve">
|
<data name=">>btnFilderProxy.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="btnFilterDirect.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="btnFilterDirect.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -192,81 +255,33 @@
|
|||||||
<data name=">>txtMsgFilter.ZOrder" xml:space="preserve">
|
<data name=">>txtMsgFilter.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="btnClear.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="btnClear.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 0</value>
|
<value>211, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="btnClear.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>490, 76</value>
|
<value>75, 23</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
<data name="btnClear.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>8</value>
|
<value>14</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
<data name="btnClear.Text" xml:space="preserve">
|
||||||
<value>Filter</value>
|
<value>Clear</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>groupBox1.Name" xml:space="preserve">
|
<data name=">>btnClear.Name" xml:space="preserve">
|
||||||
<value>groupBox1</value>
|
<value>btnClear</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>groupBox1.Type" xml:space="preserve">
|
<data name=">>btnClear.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox1.Parent" xml:space="preserve">
|
|
||||||
<value>$this</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>groupBox1.ZOrder" xml:space="preserve">
|
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnClose.Name" xml:space="preserve">
|
|
||||||
<value>btnClose</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnClose.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnClose.Parent" xml:space="preserve">
|
<data name=">>btnClear.Parent" xml:space="preserve">
|
||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnClose.ZOrder" xml:space="preserve">
|
<data name=">>btnClear.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnOK.Name" xml:space="preserve">
|
|
||||||
<value>btnOK</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnOK.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnOK.Parent" xml:space="preserve">
|
|
||||||
<value>panel2</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
|
||||||
<value>Bottom</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 76</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>490, 60</value>
|
|
||||||
</data>
|
|
||||||
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>9</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel2.Name" xml:space="preserve">
|
|
||||||
<value>panel2</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel2.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel2.Parent" xml:space="preserve">
|
|
||||||
<value>$this</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>panel2.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnClose.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="btnClose.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -292,7 +307,7 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnClose.ZOrder" xml:space="preserve">
|
<data name=">>btnClose.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="btnOK.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
@@ -319,6 +334,30 @@
|
|||||||
<value>panel2</value>
|
<value>panel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Bottom</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 76</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>490, 60</value>
|
||||||
|
</data>
|
||||||
|
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>9</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>panel2.Name" xml:space="preserve">
|
||||||
|
<value>panel2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>panel2.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>panel2.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>panel2.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
|||||||
@@ -135,4 +135,7 @@
|
|||||||
<data name="btnFilterDirect.Text" xml:space="preserve">
|
<data name="btnFilterDirect.Text" xml:space="preserve">
|
||||||
<value>过滤Direct</value>
|
<value>过滤Direct</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnClear.Text" xml:space="preserve">
|
||||||
|
<value>清空</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
26
v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
generated
26
v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
generated
@@ -98,13 +98,14 @@
|
|||||||
this.labCoreType1 = new System.Windows.Forms.Label();
|
this.labCoreType1 = new System.Windows.Forms.Label();
|
||||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.label18 = new System.Windows.Forms.Label();
|
||||||
|
this.cmbSystemProxyAdvancedProtocol = new System.Windows.Forms.ComboBox();
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
this.label13 = new System.Windows.Forms.Label();
|
||||||
this.label12 = new System.Windows.Forms.Label();
|
this.label12 = new System.Windows.Forms.Label();
|
||||||
this.txtsystemProxyExceptions = new System.Windows.Forms.TextBox();
|
this.txtsystemProxyExceptions = new System.Windows.Forms.TextBox();
|
||||||
this.panel2 = new System.Windows.Forms.Panel();
|
this.panel2 = new System.Windows.Forms.Panel();
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
this.btnOK = new System.Windows.Forms.Button();
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
this.chkEnableSystemProxyAdvanced = new System.Windows.Forms.CheckBox();
|
|
||||||
this.tabControl1.SuspendLayout();
|
this.tabControl1.SuspendLayout();
|
||||||
this.tabPage1.SuspendLayout();
|
this.tabPage1.SuspendLayout();
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
@@ -581,7 +582,8 @@
|
|||||||
//
|
//
|
||||||
// groupBox2
|
// groupBox2
|
||||||
//
|
//
|
||||||
this.groupBox2.Controls.Add(this.chkEnableSystemProxyAdvanced);
|
this.groupBox2.Controls.Add(this.label18);
|
||||||
|
this.groupBox2.Controls.Add(this.cmbSystemProxyAdvancedProtocol);
|
||||||
this.groupBox2.Controls.Add(this.label13);
|
this.groupBox2.Controls.Add(this.label13);
|
||||||
this.groupBox2.Controls.Add(this.label12);
|
this.groupBox2.Controls.Add(this.label12);
|
||||||
this.groupBox2.Controls.Add(this.txtsystemProxyExceptions);
|
this.groupBox2.Controls.Add(this.txtsystemProxyExceptions);
|
||||||
@@ -589,6 +591,17 @@
|
|||||||
this.groupBox2.Name = "groupBox2";
|
this.groupBox2.Name = "groupBox2";
|
||||||
this.groupBox2.TabStop = false;
|
this.groupBox2.TabStop = false;
|
||||||
//
|
//
|
||||||
|
// label18
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label18, "label18");
|
||||||
|
this.label18.Name = "label18";
|
||||||
|
//
|
||||||
|
// cmbSystemProxyAdvancedProtocol
|
||||||
|
//
|
||||||
|
this.cmbSystemProxyAdvancedProtocol.FormattingEnabled = true;
|
||||||
|
resources.ApplyResources(this.cmbSystemProxyAdvancedProtocol, "cmbSystemProxyAdvancedProtocol");
|
||||||
|
this.cmbSystemProxyAdvancedProtocol.Name = "cmbSystemProxyAdvancedProtocol";
|
||||||
|
//
|
||||||
// label13
|
// label13
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.label13, "label13");
|
resources.ApplyResources(this.label13, "label13");
|
||||||
@@ -623,12 +636,6 @@
|
|||||||
resources.ApplyResources(this.panel1, "panel1");
|
resources.ApplyResources(this.panel1, "panel1");
|
||||||
this.panel1.Name = "panel1";
|
this.panel1.Name = "panel1";
|
||||||
//
|
//
|
||||||
// chkEnableSystemProxyAdvanced
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.chkEnableSystemProxyAdvanced, "chkEnableSystemProxyAdvanced");
|
|
||||||
this.chkEnableSystemProxyAdvanced.Name = "chkEnableSystemProxyAdvanced";
|
|
||||||
this.chkEnableSystemProxyAdvanced.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// OptionSettingForm
|
// OptionSettingForm
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
@@ -737,6 +744,7 @@
|
|||||||
private System.Windows.Forms.Label label3;
|
private System.Windows.Forms.Label label3;
|
||||||
private System.Windows.Forms.TextBox txttrayMenuServersLimit;
|
private System.Windows.Forms.TextBox txttrayMenuServersLimit;
|
||||||
private System.Windows.Forms.Label label17;
|
private System.Windows.Forms.Label label17;
|
||||||
private System.Windows.Forms.CheckBox chkEnableSystemProxyAdvanced;
|
private System.Windows.Forms.ComboBox cmbSystemProxyAdvancedProtocol;
|
||||||
|
private System.Windows.Forms.Label label18;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,6 +18,8 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
private void OptionSettingForm_Load(object sender, EventArgs e)
|
private void OptionSettingForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
cmbSystemProxyAdvancedProtocol.Items.AddRange(Global.IEProxyProtocols.ToArray());
|
||||||
|
|
||||||
InitBase();
|
InitBase();
|
||||||
|
|
||||||
InitKCP();
|
InitKCP();
|
||||||
@@ -59,7 +61,7 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
txtsystemProxyExceptions.Text = config.systemProxyExceptions;
|
txtsystemProxyExceptions.Text = config.systemProxyExceptions;
|
||||||
|
|
||||||
chkEnableSystemProxyAdvanced.Checked = config.enableSystemProxyAdvanced;
|
cmbSystemProxyAdvancedProtocol.Text = config.systemProxyAdvancedProtocol;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -255,7 +257,7 @@ namespace v2rayN.Forms
|
|||||||
|
|
||||||
config.systemProxyExceptions = txtsystemProxyExceptions.Text.TrimEx();
|
config.systemProxyExceptions = txtsystemProxyExceptions.Text.TrimEx();
|
||||||
|
|
||||||
config.enableSystemProxyAdvanced = chkEnableSystemProxyAdvanced.Checked;
|
config.systemProxyAdvancedProtocol = cmbSystemProxyAdvancedProtocol.Text.TrimEx();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1851,33 +1851,57 @@
|
|||||||
<data name=">>tabPageCoreType.ZOrder" xml:space="preserve">
|
<data name=">>tabPageCoreType.ZOrder" xml:space="preserve">
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnableSystemProxyAdvanced.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="label18.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label18.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnableSystemProxyAdvanced.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="label18.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>8, 328</value>
|
<value>8, 346</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnableSystemProxyAdvanced.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label18.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>502, 16</value>
|
<value>329, 12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnableSystemProxyAdvanced.TabIndex" type="System.Int32, mscorlib">
|
<data name="label18.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>43</value>
|
<value>45</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnableSystemProxyAdvanced.Text" xml:space="preserve">
|
<data name="label18.Text" xml:space="preserve">
|
||||||
<value>Enable system proxy advanced settings (http/https/ftp/socks)</value>
|
<value>Advanced proxy settings, protocol selection (optional)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkEnableSystemProxyAdvanced.Name" xml:space="preserve">
|
<data name=">>label18.Name" xml:space="preserve">
|
||||||
<value>chkEnableSystemProxyAdvanced</value>
|
<value>label18</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkEnableSystemProxyAdvanced.Type" xml:space="preserve">
|
<data name=">>label18.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkEnableSystemProxyAdvanced.Parent" xml:space="preserve">
|
<data name=">>label18.Parent" xml:space="preserve">
|
||||||
<value>groupBox2</value>
|
<value>groupBox2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chkEnableSystemProxyAdvanced.ZOrder" xml:space="preserve">
|
<data name=">>label18.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="cmbSystemProxyAdvancedProtocol.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>8, 371</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbSystemProxyAdvancedProtocol.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>638, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmbSystemProxyAdvancedProtocol.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>44</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbSystemProxyAdvancedProtocol.Name" xml:space="preserve">
|
||||||
|
<value>cmbSystemProxyAdvancedProtocol</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbSystemProxyAdvancedProtocol.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbSystemProxyAdvancedProtocol.Parent" xml:space="preserve">
|
||||||
|
<value>groupBox2</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmbSystemProxyAdvancedProtocol.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1906,7 +1930,7 @@
|
|||||||
<value>groupBox2</value>
|
<value>groupBox2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label13.ZOrder" xml:space="preserve">
|
<data name=">>label13.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label12.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label12.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1936,7 +1960,7 @@
|
|||||||
<value>groupBox2</value>
|
<value>groupBox2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label12.ZOrder" xml:space="preserve">
|
<data name=">>label12.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtsystemProxyExceptions.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="txtsystemProxyExceptions.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>8, 52</value>
|
<value>8, 52</value>
|
||||||
@@ -1963,7 +1987,7 @@
|
|||||||
<value>groupBox2</value>
|
<value>groupBox2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>txtsystemProxyExceptions.ZOrder" xml:space="preserve">
|
<data name=">>txtsystemProxyExceptions.ZOrder" xml:space="preserve">
|
||||||
<value>3</value>
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
|
|||||||
@@ -373,7 +373,7 @@
|
|||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>参数设置</value>
|
<value>参数设置</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chkEnableSystemProxyAdvanced.Text" xml:space="preserve">
|
<data name="label18.Text" xml:space="preserve">
|
||||||
<value>开启系统代理高级设置 (http/https/ftp/socks)</value>
|
<value>高级代理设置, 协议选择(可选)</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -199,12 +199,19 @@ namespace v2rayN
|
|||||||
public const string StatisticLogOverall = "StatisticLogOverall.json";
|
public const string StatisticLogOverall = "StatisticLogOverall.json";
|
||||||
|
|
||||||
public const string IEProxyExceptions = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*";
|
public const string IEProxyExceptions = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*";
|
||||||
|
public static readonly List<string> IEProxyProtocols = new List<string> {
|
||||||
|
"{ip}:{http_port}",
|
||||||
|
"socks={ip}:{socks_port}",
|
||||||
|
"http={ip}:{http_port};https={ip}:{http_port};ftp={ip}:{http_port};socks={ip}:{socks_port}",
|
||||||
|
"http=http://{ip}:{http_port};https=http://{ip}:{http_port}",
|
||||||
|
""
|
||||||
|
};
|
||||||
|
|
||||||
public const string RoutingRuleComma = "<COMMA>";
|
public const string RoutingRuleComma = "<COMMA>";
|
||||||
|
|
||||||
public static readonly List<string> vmessSecuritys = new List<string> { "aes-128-gcm", "chacha20-poly1305", "auto", "none", "zero" };
|
public static readonly List<string> vmessSecuritys = new List<string> { "aes-128-gcm", "chacha20-poly1305", "auto", "none", "zero" };
|
||||||
public static readonly List<string> ssSecuritys = new List<string> { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "none", "plain" };
|
public static readonly List<string> ssSecuritys = new List<string> { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "none", "plain" };
|
||||||
public static readonly List<string> ssSecuritysInXray = new List<string> { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "xchacha20-poly1305", "xchacha20-ietf-poly1305", "none", "plain" };
|
public static readonly List<string> ssSecuritysInXray = new List<string> { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "xchacha20-poly1305", "xchacha20-ietf-poly1305", "none", "plain", "2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305" };
|
||||||
public static readonly List<string> xtlsFlows = new List<string> { "", "xtls-rprx-origin", "xtls-rprx-origin-udp443", "xtls-rprx-direct", "xtls-rprx-direct-udp443" };
|
public static readonly List<string> xtlsFlows = new List<string> { "", "xtls-rprx-origin", "xtls-rprx-origin-udp443", "xtls-rprx-direct", "xtls-rprx-direct-udp443" };
|
||||||
public static readonly List<string> networks = new List<string> { "tcp", "kcp", "ws", "h2", "quic", "grpc" };
|
public static readonly List<string> networks = new List<string> { "tcp", "kcp", "ws", "h2", "quic", "grpc" };
|
||||||
public static readonly List<string> kcpHeaderTypes = new List<string> { "srtp", "utp", "wechat-video", "dtls", "wireguard" };
|
public static readonly List<string> kcpHeaderTypes = new List<string> { "srtp", "utp", "wechat-video", "dtls", "wireguard" };
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using v2rayN.Mode;
|
|||||||
using v2rayN.Base;
|
using v2rayN.Base;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using v2rayN.Tool;
|
using v2rayN.Tool;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace v2rayN.Handler
|
namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
@@ -207,7 +208,28 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
lock (objLock)
|
lock (objLock)
|
||||||
{
|
{
|
||||||
Utils.ToJsonFile(config, Utils.GetPath(configRes));
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
//save temp file
|
||||||
|
var resPath = Utils.GetPath(configRes);
|
||||||
|
var tempPath = $"{resPath}_temp";
|
||||||
|
if (Utils.ToJsonFile(config, tempPath) != 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (File.Exists(resPath))
|
||||||
|
{
|
||||||
|
File.Delete(resPath);
|
||||||
|
}
|
||||||
|
//rename
|
||||||
|
File.Move(tempPath, resPath);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.SaveLog("ToJsonFile", ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -950,14 +972,39 @@ namespace v2rayN.Handler
|
|||||||
vmessItem.address = fileName;
|
vmessItem.address = fileName;
|
||||||
vmessItem.remarks = "clash_custom";
|
vmessItem.remarks = "clash_custom";
|
||||||
}
|
}
|
||||||
|
//Is hysteria configuration
|
||||||
|
else if (clipboardData.IndexOf("server") >= 0
|
||||||
|
&& clipboardData.IndexOf("up") >= 0
|
||||||
|
&& clipboardData.IndexOf("down") >= 0
|
||||||
|
&& clipboardData.IndexOf("listen") >= 0)
|
||||||
|
{
|
||||||
|
var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.json");
|
||||||
|
File.WriteAllText(fileName, clipboardData);
|
||||||
|
|
||||||
|
vmessItem.coreType = ECoreType.hysteria;
|
||||||
|
vmessItem.address = fileName;
|
||||||
|
vmessItem.remarks = "hysteria_custom";
|
||||||
|
}
|
||||||
|
//Is naiveproxy configuration
|
||||||
|
else if (clipboardData.IndexOf("listen") >= 0
|
||||||
|
&& clipboardData.IndexOf("proxy") >= 0)
|
||||||
|
{
|
||||||
|
var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.json");
|
||||||
|
File.WriteAllText(fileName, clipboardData);
|
||||||
|
|
||||||
|
vmessItem.coreType = ECoreType.naiveproxy;
|
||||||
|
vmessItem.address = fileName;
|
||||||
|
vmessItem.remarks = "naiveproxy_custom";
|
||||||
|
}
|
||||||
//Is Other configuration
|
//Is Other configuration
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.txt");
|
return -1;
|
||||||
File.WriteAllText(fileName, clipboardData);
|
//var fileName = Utils.GetTempPath($"{Utils.GetGUID(false)}.txt");
|
||||||
|
//File.WriteAllText(fileName, clipboardData);
|
||||||
|
|
||||||
vmessItem.address = fileName;
|
//vmessItem.address = fileName;
|
||||||
vmessItem.remarks = "other_custom";
|
//vmessItem.remarks = "other_custom";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Utils.IsNullOrEmpty(subid))
|
if (!Utils.IsNullOrEmpty(subid))
|
||||||
@@ -987,6 +1034,56 @@ namespace v2rayN.Handler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static int AddBatchServers4SsSIP008(ref Config config, string clipboardData, string subid, List<VmessItem> lstOriSub, string groupId)
|
||||||
|
{
|
||||||
|
if (Utils.IsNullOrEmpty(clipboardData))
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Utils.IsNullOrEmpty(subid))
|
||||||
|
{
|
||||||
|
RemoveServerViaSubid(ref config, subid);
|
||||||
|
}
|
||||||
|
|
||||||
|
//SsSIP008
|
||||||
|
var lstSsServer = Utils.FromJson<List<SsServer>>(clipboardData);
|
||||||
|
if (lstSsServer == null || lstSsServer.Count <= 0)
|
||||||
|
{
|
||||||
|
var ssSIP008 = Utils.FromJson<SsSIP008>(clipboardData);
|
||||||
|
if (ssSIP008 != null && ssSIP008.servers != null && ssSIP008.servers.Count > 0)
|
||||||
|
{
|
||||||
|
lstSsServer = ssSIP008.servers;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lstSsServer != null && lstSsServer.Count > 0)
|
||||||
|
{
|
||||||
|
int counter = 0;
|
||||||
|
foreach (var it in lstSsServer)
|
||||||
|
{
|
||||||
|
var ssItem = new VmessItem()
|
||||||
|
{
|
||||||
|
subid = subid,
|
||||||
|
groupId = groupId,
|
||||||
|
remarks = it.remarks,
|
||||||
|
security = it.method,
|
||||||
|
id = it.password,
|
||||||
|
address = it.server,
|
||||||
|
port = Utils.ToInt(it.server_port)
|
||||||
|
};
|
||||||
|
if (AddShadowsocksServer(ref config, ssItem, false) == 0)
|
||||||
|
{
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ToJsonFile(config);
|
||||||
|
return counter;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
public static int AddBatchServers(ref Config config, string clipboardData, string subid, string groupId)
|
public static int AddBatchServers(ref Config config, string clipboardData, string subid, string groupId)
|
||||||
{
|
{
|
||||||
List<VmessItem> lstOriSub = null;
|
List<VmessItem> lstOriSub = null;
|
||||||
@@ -1001,6 +1098,11 @@ namespace v2rayN.Handler
|
|||||||
counter = AddBatchServers(ref config, Utils.Base64Decode(clipboardData), subid, lstOriSub, groupId);
|
counter = AddBatchServers(ref config, Utils.Base64Decode(clipboardData), subid, lstOriSub, groupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (counter < 1)
|
||||||
|
{
|
||||||
|
counter = AddBatchServers4SsSIP008(ref config, clipboardData, subid, lstOriSub, groupId);
|
||||||
|
}
|
||||||
|
|
||||||
//maybe other sub
|
//maybe other sub
|
||||||
if (counter < 1)
|
if (counter < 1)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -156,7 +156,11 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Utils.Base64Encode(uri.UserInfo));
|
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Utils.Base64Encode(uri.UserInfo));
|
||||||
}
|
}
|
||||||
var result = await HttpClientHelper.GetInstance().GetAsync(client, url);
|
|
||||||
|
var cts = new CancellationTokenSource();
|
||||||
|
cts.CancelAfter(1000 * 30);
|
||||||
|
|
||||||
|
var result = await HttpClientHelper.GetInstance().GetAsync(client, url, cts.Token);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -32,12 +32,59 @@ namespace v2rayN.Handler
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
int index = (int)config.sysProxyType;
|
||||||
|
|
||||||
|
//Load from routing setting
|
||||||
|
var createdIcon = GetNotifyIcon4Routing(config);
|
||||||
|
if (createdIcon != null)
|
||||||
|
{
|
||||||
|
return createdIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Load from local file
|
||||||
|
var fileName = Utils.GetPath($"NotifyIcon{index + 1}.ico");
|
||||||
|
if (File.Exists(fileName))
|
||||||
|
{
|
||||||
|
return new Icon(fileName);
|
||||||
|
}
|
||||||
|
switch (index)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return Properties.Resources.NotifyIcon1;
|
||||||
|
case 1:
|
||||||
|
return Properties.Resources.NotifyIcon2;
|
||||||
|
case 2:
|
||||||
|
return Properties.Resources.NotifyIcon3;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Properties.Resources.NotifyIcon1;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.SaveLog(ex.Message, ex);
|
||||||
|
return def;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private Icon GetNotifyIcon4Routing(Config config)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (!config.enableRoutingAdvanced)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var item = config.routings[config.routingIndex];
|
||||||
|
if (Utils.IsNullOrEmpty(item.customIcon) || !File.Exists(item.customIcon))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
Color color = ColorTranslator.FromHtml("#3399CC");
|
Color color = ColorTranslator.FromHtml("#3399CC");
|
||||||
int index = (int)config.sysProxyType;
|
int index = (int)config.sysProxyType;
|
||||||
if (index > 0)
|
if (index > 0)
|
||||||
{
|
{
|
||||||
color = (new Color[] { Color.Red, Color.Purple, Color.DarkGreen, Color.Orange, Color.DarkSlateBlue, Color.RoyalBlue })[index - 1];
|
color = (new Color[] { Color.Red, Color.Purple, Color.DarkGreen, Color.Orange, Color.DarkSlateBlue, Color.RoyalBlue })[index - 1];
|
||||||
//color = ColorTranslator.FromHtml(new string[] { "#CC0066", "#CC6600", "#99CC99", "#666699" }[index - 1]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int width = 128;
|
int width = 128;
|
||||||
@@ -47,24 +94,8 @@ namespace v2rayN.Handler
|
|||||||
Graphics graphics = Graphics.FromImage(bitmap);
|
Graphics graphics = Graphics.FromImage(bitmap);
|
||||||
SolidBrush drawBrush = new SolidBrush(color);
|
SolidBrush drawBrush = new SolidBrush(color);
|
||||||
|
|
||||||
var customIcon = false;
|
graphics.FillRectangle(drawBrush, new Rectangle(0, 0, width, height));
|
||||||
if (config.enableRoutingAdvanced)
|
graphics.DrawImage(new Bitmap(item.customIcon), 0, 0, width, height);
|
||||||
{
|
|
||||||
var item = config.routings[config.routingIndex];
|
|
||||||
if (!Utils.IsNullOrEmpty(item.customIcon) && File.Exists(item.customIcon))
|
|
||||||
{
|
|
||||||
graphics.FillRectangle(drawBrush, new Rectangle(0, 0, width, height));
|
|
||||||
graphics.DrawImage(new Bitmap(item.customIcon), 0, 0, width, height);
|
|
||||||
customIcon = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!customIcon)
|
|
||||||
{
|
|
||||||
graphics.FillEllipse(drawBrush, new Rectangle(0, 0, width, height));
|
|
||||||
int zoom = 16;
|
|
||||||
graphics.DrawImage(new Bitmap(Properties.Resources.notify, width - zoom, width - zoom), zoom / 2, zoom / 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
Icon createdIcon = Icon.FromHandle(bitmap.GetHicon());
|
Icon createdIcon = Icon.FromHandle(bitmap.GetHicon());
|
||||||
|
|
||||||
drawBrush.Dispose();
|
drawBrush.Dispose();
|
||||||
@@ -76,7 +107,7 @@ namespace v2rayN.Handler
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Utils.SaveLog(ex.Message, ex);
|
Utils.SaveLog(ex.Message, ex);
|
||||||
return def;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -70,13 +70,16 @@ namespace v2rayN.Handler
|
|||||||
var strExceptions = $"{config.constItem.defIEProxyExceptions};{config.systemProxyExceptions}";
|
var strExceptions = $"{config.constItem.defIEProxyExceptions};{config.systemProxyExceptions}";
|
||||||
|
|
||||||
var strProxy = string.Empty;
|
var strProxy = string.Empty;
|
||||||
if (config.enableSystemProxyAdvanced)
|
if (Utils.IsNullOrEmpty(config.systemProxyAdvancedProtocol))
|
||||||
{
|
{
|
||||||
strProxy = string.Format("http={0}:{1};https={0}:{1};ftp={0}:{1};socks={0}:{2}", Global.Loopback, port, portSocks);
|
strProxy = $"{Global.Loopback}:{port}";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strProxy = $"{Global.Loopback}:{port}";
|
strProxy = config.systemProxyAdvancedProtocol
|
||||||
|
.Replace("{ip}", Global.Loopback)
|
||||||
|
.Replace("{http_port}", port.ToString())
|
||||||
|
.Replace("{socks_port}", portSocks.ToString());
|
||||||
}
|
}
|
||||||
SetIEProxy(true, strProxy, strExceptions);
|
SetIEProxy(true, strProxy, strExceptions);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -254,7 +254,7 @@ namespace v2rayN.Handler
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string fileName = V2rayFindexe(new List<string> { "xray" });
|
string fileName = V2rayFindexe(new List<string> { "xray", "wv2ray", "v2ray" });
|
||||||
if (fileName == "") return -1;
|
if (fileName == "") return -1;
|
||||||
|
|
||||||
Process p = new Process
|
Process p = new Process
|
||||||
|
|||||||
@@ -124,8 +124,8 @@ namespace v2rayN.Mode
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
public bool enableSystemProxyAdvanced { get; set; }
|
public string systemProxyAdvancedProtocol { get; set; }
|
||||||
|
|
||||||
public int autoUpdateInterval { get; set; } = 0;
|
public int autoUpdateInterval { get; set; } = 0;
|
||||||
|
|
||||||
public int autoUpdateSubInterval { get; set; } = 0;
|
public int autoUpdateSubInterval { get; set; } = 0;
|
||||||
|
|||||||
22
v2rayN/v2rayN/Mode/SsSIP008.cs
Normal file
22
v2rayN/v2rayN/Mode/SsSIP008.cs
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace v2rayN.Mode
|
||||||
|
{
|
||||||
|
public class SsSIP008
|
||||||
|
{
|
||||||
|
public List<SsServer> servers { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class SsServer
|
||||||
|
{
|
||||||
|
public string remarks { get; set; }
|
||||||
|
public string server { get; set; }
|
||||||
|
public string server_port { get; set; }
|
||||||
|
public string method { get; set; }
|
||||||
|
public string password { get; set; }
|
||||||
|
public string plugin { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
|
|||||||
// 方法是按如下所示使用“*”:
|
// 方法是按如下所示使用“*”:
|
||||||
//[assembly: AssemblyVersion("1.0.*")]
|
//[assembly: AssemblyVersion("1.0.*")]
|
||||||
//[assembly: AssemblyVersion("1.0.0")]
|
//[assembly: AssemblyVersion("1.0.0")]
|
||||||
[assembly: AssemblyFileVersion("5.19")]
|
[assembly: AssemblyFileVersion("5.24")]
|
||||||
|
|||||||
30
v2rayN/v2rayN/Properties/Resources.Designer.cs
generated
30
v2rayN/v2rayN/Properties/Resources.Designer.cs
generated
@@ -110,6 +110,36 @@ namespace v2rayN.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Icon NotifyIcon1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("NotifyIcon1", resourceCulture);
|
||||||
|
return ((System.Drawing.Icon)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Icon NotifyIcon2 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("NotifyIcon2", resourceCulture);
|
||||||
|
return ((System.Drawing.Icon)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Icon NotifyIcon3 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("NotifyIcon3", resourceCulture);
|
||||||
|
return ((System.Drawing.Icon)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -157,4 +157,13 @@
|
|||||||
<data name="share" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="share" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\resources\share.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\resources\share.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotifyIcon1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\NotifyIcon1.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotifyIcon2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\NotifyIcon2.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotifyIcon3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\NotifyIcon3.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
BIN
v2rayN/v2rayN/Resources/NotifyIcon1.ico
Normal file
BIN
v2rayN/v2rayN/Resources/NotifyIcon1.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
BIN
v2rayN/v2rayN/Resources/NotifyIcon2.ico
Normal file
BIN
v2rayN/v2rayN/Resources/NotifyIcon2.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
BIN
v2rayN/v2rayN/Resources/NotifyIcon3.ico
Normal file
BIN
v2rayN/v2rayN/Resources/NotifyIcon3.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
9
v2rayN/v2rayN/Resx/ResUI.Designer.cs
generated
9
v2rayN/v2rayN/Resx/ResUI.Designer.cs
generated
@@ -600,6 +600,15 @@ namespace v2rayN.Resx {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找类似 Servers (Filter : {0}) 的本地化字符串。
|
||||||
|
/// </summary>
|
||||||
|
internal static string MsgServerTitle {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MsgServerTitle", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找类似 Simplify PAC Success 的本地化字符串。
|
/// 查找类似 Simplify PAC Success 的本地化字符串。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -469,4 +469,7 @@
|
|||||||
<data name="LabLocal" xml:space="preserve">
|
<data name="LabLocal" xml:space="preserve">
|
||||||
<value>Local</value>
|
<value>Local</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="MsgServerTitle" xml:space="preserve">
|
||||||
|
<value>Servers (Filter : {0})</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -469,4 +469,7 @@
|
|||||||
<data name="LabLocal" xml:space="preserve">
|
<data name="LabLocal" xml:space="preserve">
|
||||||
<value>本地</value>
|
<value>本地</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="MsgServerTitle" xml:space="preserve">
|
||||||
|
<value>服务器 (过滤器 : {0})</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -23,6 +23,7 @@ using Newtonsoft.Json.Linq;
|
|||||||
using System.Web;
|
using System.Web;
|
||||||
using log4net;
|
using log4net;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
|
||||||
namespace v2rayN
|
namespace v2rayN
|
||||||
{
|
{
|
||||||
@@ -397,6 +398,20 @@ namespace v2rayN
|
|||||||
{
|
{
|
||||||
return HttpUtility.UrlDecode(url);
|
return HttpUtility.UrlDecode(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string GetMD5(string str)
|
||||||
|
{
|
||||||
|
var md5 = MD5.Create();
|
||||||
|
byte[] byteOld = Encoding.UTF8.GetBytes(str);
|
||||||
|
byte[] byteNew = md5.ComputeHash(byteOld);
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
foreach (byte b in byteNew)
|
||||||
|
{
|
||||||
|
sb.Append(b.ToString("x2"));
|
||||||
|
}
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
@@ -529,7 +544,13 @@ namespace v2rayN
|
|||||||
|
|
||||||
#region 开机自动启动
|
#region 开机自动启动
|
||||||
|
|
||||||
private static string autoRunName = "v2rayNAutoRun";
|
private static string autoRunName
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return $"v2rayNAutoRun_{GetMD5(StartupPath())}";
|
||||||
|
}
|
||||||
|
}
|
||||||
private static string autoRunRegPath
|
private static string autoRunRegPath
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -961,7 +982,7 @@ namespace v2rayN
|
|||||||
// return path to store temporary files
|
// return path to store temporary files
|
||||||
public static string GetTempPath(string filename = "")
|
public static string GetTempPath(string filename = "")
|
||||||
{
|
{
|
||||||
string _tempPath = Path.Combine(StartupPath(), "v2ray_win_temp");
|
string _tempPath = Path.Combine(StartupPath(), "guiTemps");
|
||||||
if (!Directory.Exists(_tempPath))
|
if (!Directory.Exists(_tempPath))
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory(_tempPath);
|
Directory.CreateDirectory(_tempPath);
|
||||||
|
|||||||
@@ -216,6 +216,7 @@
|
|||||||
<Compile Include="Mode\SysproxyConfig.cs" />
|
<Compile Include="Mode\SysproxyConfig.cs" />
|
||||||
<Compile Include="Mode\EConfigType.cs" />
|
<Compile Include="Mode\EConfigType.cs" />
|
||||||
<Compile Include="Mode\ServerTestItem.cs" />
|
<Compile Include="Mode\ServerTestItem.cs" />
|
||||||
|
<Compile Include="Mode\SsSIP008.cs" />
|
||||||
<Compile Include="Properties\Resources.Designer.cs">
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DesignTime>True</DesignTime>
|
<DesignTime>True</DesignTime>
|
||||||
@@ -474,6 +475,9 @@
|
|||||||
<None Include="Resources\minimize.png" />
|
<None Include="Resources\minimize.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Content Include="Resources\NotifyIcon1.ico" />
|
||||||
|
<Content Include="Resources\NotifyIcon2.ico" />
|
||||||
|
<Content Include="Resources\NotifyIcon3.ico" />
|
||||||
<EmbeddedResource Include="Sample\SampleInbound.txt" />
|
<EmbeddedResource Include="Sample\SampleInbound.txt" />
|
||||||
<None Include="Resources\share.png" />
|
<None Include="Resources\share.png" />
|
||||||
<None Include="Resources\promotion.png" />
|
<None Include="Resources\promotion.png" />
|
||||||
@@ -485,13 +489,13 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Google.Protobuf">
|
<PackageReference Include="Google.Protobuf">
|
||||||
<Version>3.20.0</Version>
|
<Version>3.21.1</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Grpc.Core">
|
<PackageReference Include="Grpc.Core">
|
||||||
<Version>2.45.0</Version>
|
<Version>2.46.3</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Grpc.Tools">
|
<PackageReference Include="Grpc.Tools">
|
||||||
<Version>2.45.0</Version>
|
<Version>2.46.3</Version>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 60 KiB |
Reference in New Issue
Block a user