mirror of https://github.com/2dust/v2rayN
up ser
parent
93ecd20719
commit
d1644bb591
|
@ -78,6 +78,14 @@
|
||||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||||
this.txtMsgBox = new System.Windows.Forms.TextBox();
|
this.txtMsgBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.ssMain = new System.Windows.Forms.StatusStrip();
|
||||||
|
this.toolSslSocksPortLab = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
|
this.toolSslSocksPort = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
|
this.toolSslBlank1 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
|
this.toolSslHttpPort = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
|
this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
|
this.toolSslPacPort = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
|
this.toolSslBlank3 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
this.tsMain = new System.Windows.Forms.ToolStrip();
|
this.tsMain = new System.Windows.Forms.ToolStrip();
|
||||||
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
@ -103,6 +111,8 @@
|
||||||
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();
|
||||||
|
this.toolSslHttpPortLab = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
|
this.toolSslPacPortLab = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||||
this.splitContainer1.Panel1.SuspendLayout();
|
this.splitContainer1.Panel1.SuspendLayout();
|
||||||
this.splitContainer1.Panel2.SuspendLayout();
|
this.splitContainer1.Panel2.SuspendLayout();
|
||||||
|
@ -111,6 +121,7 @@
|
||||||
this.cmsMain.SuspendLayout();
|
this.cmsMain.SuspendLayout();
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
this.groupBox2.SuspendLayout();
|
this.groupBox2.SuspendLayout();
|
||||||
|
this.ssMain.SuspendLayout();
|
||||||
this.tsMain.SuspendLayout();
|
this.tsMain.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
|
@ -122,19 +133,17 @@
|
||||||
//
|
//
|
||||||
// splitContainer1.Panel1
|
// splitContainer1.Panel1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.splitContainer1.Panel1, "splitContainer1.Panel1");
|
|
||||||
this.splitContainer1.Panel1.Controls.Add(this.lvServers);
|
this.splitContainer1.Panel1.Controls.Add(this.lvServers);
|
||||||
//
|
//
|
||||||
// splitContainer1.Panel2
|
// splitContainer1.Panel2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.splitContainer1.Panel2, "splitContainer1.Panel2");
|
|
||||||
this.splitContainer1.Panel2.Controls.Add(this.qrCodeControl);
|
this.splitContainer1.Panel2.Controls.Add(this.qrCodeControl);
|
||||||
this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainer1_SplitterMoved);
|
this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainer1_SplitterMoved);
|
||||||
//
|
//
|
||||||
// lvServers
|
// lvServers
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.lvServers, "lvServers");
|
|
||||||
this.lvServers.ContextMenuStrip = this.cmsLv;
|
this.lvServers.ContextMenuStrip = this.cmsLv;
|
||||||
|
resources.ApplyResources(this.lvServers, "lvServers");
|
||||||
this.lvServers.FullRowSelect = true;
|
this.lvServers.FullRowSelect = true;
|
||||||
this.lvServers.GridLines = true;
|
this.lvServers.GridLines = true;
|
||||||
this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||||
|
@ -150,7 +159,6 @@
|
||||||
//
|
//
|
||||||
// cmsLv
|
// cmsLv
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.cmsLv, "cmsLv");
|
|
||||||
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
|
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||||
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.menuAddVmessServer,
|
this.menuAddVmessServer,
|
||||||
|
@ -179,152 +187,153 @@
|
||||||
this.menuExport2SubContent});
|
this.menuExport2SubContent});
|
||||||
this.cmsLv.Name = "cmsLv";
|
this.cmsLv.Name = "cmsLv";
|
||||||
this.cmsLv.OwnerItem = this.tsbServer;
|
this.cmsLv.OwnerItem = this.tsbServer;
|
||||||
|
resources.ApplyResources(this.cmsLv, "cmsLv");
|
||||||
//
|
//
|
||||||
// menuAddVmessServer
|
// menuAddVmessServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer");
|
|
||||||
this.menuAddVmessServer.Name = "menuAddVmessServer";
|
this.menuAddVmessServer.Name = "menuAddVmessServer";
|
||||||
|
resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer");
|
||||||
this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click);
|
this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click);
|
||||||
//
|
//
|
||||||
// menuAddShadowsocksServer
|
// menuAddShadowsocksServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer");
|
|
||||||
this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
|
this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
|
||||||
|
resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer");
|
||||||
this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click);
|
this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click);
|
||||||
//
|
//
|
||||||
// menuAddSocksServer
|
// menuAddSocksServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer");
|
|
||||||
this.menuAddSocksServer.Name = "menuAddSocksServer";
|
this.menuAddSocksServer.Name = "menuAddSocksServer";
|
||||||
|
resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer");
|
||||||
this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click);
|
this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click);
|
||||||
//
|
//
|
||||||
// menuAddCustomServer
|
// menuAddCustomServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
|
|
||||||
this.menuAddCustomServer.Name = "menuAddCustomServer";
|
this.menuAddCustomServer.Name = "menuAddCustomServer";
|
||||||
|
resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
|
||||||
this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click);
|
this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click);
|
||||||
//
|
//
|
||||||
// menuAddServers
|
// menuAddServers
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuAddServers, "menuAddServers");
|
|
||||||
this.menuAddServers.Name = "menuAddServers";
|
this.menuAddServers.Name = "menuAddServers";
|
||||||
|
resources.ApplyResources(this.menuAddServers, "menuAddServers");
|
||||||
this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click);
|
this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click);
|
||||||
//
|
//
|
||||||
// menuScanScreen
|
// menuScanScreen
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuScanScreen, "menuScanScreen");
|
|
||||||
this.menuScanScreen.Name = "menuScanScreen";
|
this.menuScanScreen.Name = "menuScanScreen";
|
||||||
|
resources.ApplyResources(this.menuScanScreen, "menuScanScreen");
|
||||||
this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click);
|
this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator1
|
// toolStripSeparator1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
|
|
||||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
|
||||||
//
|
//
|
||||||
// menuRemoveServer
|
// menuRemoveServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer");
|
|
||||||
this.menuRemoveServer.Name = "menuRemoveServer";
|
this.menuRemoveServer.Name = "menuRemoveServer";
|
||||||
|
resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer");
|
||||||
this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click);
|
this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click);
|
||||||
//
|
//
|
||||||
// menuCopyServer
|
// menuCopyServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuCopyServer, "menuCopyServer");
|
|
||||||
this.menuCopyServer.Name = "menuCopyServer";
|
this.menuCopyServer.Name = "menuCopyServer";
|
||||||
|
resources.ApplyResources(this.menuCopyServer, "menuCopyServer");
|
||||||
this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click);
|
this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click);
|
||||||
//
|
//
|
||||||
// menuSetDefaultServer
|
// menuSetDefaultServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
|
|
||||||
this.menuSetDefaultServer.Name = "menuSetDefaultServer";
|
this.menuSetDefaultServer.Name = "menuSetDefaultServer";
|
||||||
|
resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
|
||||||
this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
|
this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator3
|
// toolStripSeparator3
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
|
|
||||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
|
||||||
//
|
//
|
||||||
// menuMoveTop
|
// menuMoveTop
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
|
|
||||||
this.menuMoveTop.Name = "menuMoveTop";
|
this.menuMoveTop.Name = "menuMoveTop";
|
||||||
|
resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
|
||||||
this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
|
this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
|
||||||
//
|
//
|
||||||
// menuMoveUp
|
// menuMoveUp
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
|
|
||||||
this.menuMoveUp.Name = "menuMoveUp";
|
this.menuMoveUp.Name = "menuMoveUp";
|
||||||
|
resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
|
||||||
this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
|
this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
|
||||||
//
|
//
|
||||||
// menuMoveDown
|
// menuMoveDown
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
|
|
||||||
this.menuMoveDown.Name = "menuMoveDown";
|
this.menuMoveDown.Name = "menuMoveDown";
|
||||||
|
resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
|
||||||
this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
|
this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
|
||||||
//
|
//
|
||||||
// menuMoveBottom
|
// menuMoveBottom
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
|
|
||||||
this.menuMoveBottom.Name = "menuMoveBottom";
|
this.menuMoveBottom.Name = "menuMoveBottom";
|
||||||
|
resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
|
||||||
this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
|
this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
|
||||||
//
|
//
|
||||||
// menuSelectAll
|
// menuSelectAll
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
|
|
||||||
this.menuSelectAll.Name = "menuSelectAll";
|
this.menuSelectAll.Name = "menuSelectAll";
|
||||||
|
resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
|
||||||
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
|
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator9
|
// toolStripSeparator9
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
|
|
||||||
this.toolStripSeparator9.Name = "toolStripSeparator9";
|
this.toolStripSeparator9.Name = "toolStripSeparator9";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
|
||||||
//
|
//
|
||||||
// menuPingServer
|
// menuPingServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuPingServer, "menuPingServer");
|
|
||||||
this.menuPingServer.Name = "menuPingServer";
|
this.menuPingServer.Name = "menuPingServer";
|
||||||
|
resources.ApplyResources(this.menuPingServer, "menuPingServer");
|
||||||
this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click);
|
this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click);
|
||||||
//
|
//
|
||||||
// menuSpeedServer
|
// menuSpeedServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
|
|
||||||
this.menuSpeedServer.Name = "menuSpeedServer";
|
this.menuSpeedServer.Name = "menuSpeedServer";
|
||||||
|
resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
|
||||||
this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
|
this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator6
|
// toolStripSeparator6
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
|
|
||||||
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
|
||||||
//
|
//
|
||||||
// menuExport2ClientConfig
|
// menuExport2ClientConfig
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig");
|
|
||||||
this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
|
this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
|
||||||
|
resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig");
|
||||||
this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click);
|
this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click);
|
||||||
//
|
//
|
||||||
// menuExport2ServerConfig
|
// menuExport2ServerConfig
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig");
|
|
||||||
this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
|
this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
|
||||||
|
resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig");
|
||||||
this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click);
|
this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click);
|
||||||
//
|
//
|
||||||
// menuExport2ShareUrl
|
// menuExport2ShareUrl
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl");
|
|
||||||
this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
|
this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
|
||||||
|
resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl");
|
||||||
this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click);
|
this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click);
|
||||||
//
|
//
|
||||||
// menuExport2SubContent
|
// menuExport2SubContent
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
|
||||||
this.menuExport2SubContent.Name = "menuExport2SubContent";
|
this.menuExport2SubContent.Name = "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
|
// tsbServer
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbServer, "tsbServer");
|
|
||||||
this.tsbServer.DropDown = this.cmsLv;
|
this.tsbServer.DropDown = this.cmsLv;
|
||||||
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
|
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
|
||||||
|
resources.ApplyResources(this.tsbServer, "tsbServer");
|
||||||
this.tsbServer.Name = "tsbServer";
|
this.tsbServer.Name = "tsbServer";
|
||||||
//
|
//
|
||||||
// qrCodeControl
|
// qrCodeControl
|
||||||
|
@ -334,14 +343,14 @@
|
||||||
//
|
//
|
||||||
// notifyMain
|
// notifyMain
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.notifyMain, "notifyMain");
|
|
||||||
this.notifyMain.ContextMenuStrip = this.cmsMain;
|
this.notifyMain.ContextMenuStrip = this.cmsMain;
|
||||||
|
resources.ApplyResources(this.notifyMain, "notifyMain");
|
||||||
this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick);
|
this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick);
|
||||||
//
|
//
|
||||||
// cmsMain
|
// cmsMain
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.cmsMain, "cmsMain");
|
|
||||||
this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
|
this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||||
|
resources.ApplyResources(this.cmsMain, "cmsMain");
|
||||||
this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.menuSysAgentEnabled,
|
this.menuSysAgentEnabled,
|
||||||
this.menuSysAgentMode,
|
this.menuSysAgentMode,
|
||||||
|
@ -358,76 +367,76 @@
|
||||||
//
|
//
|
||||||
// menuSysAgentEnabled
|
// menuSysAgentEnabled
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuSysAgentEnabled, "menuSysAgentEnabled");
|
|
||||||
this.menuSysAgentEnabled.Name = "menuSysAgentEnabled";
|
this.menuSysAgentEnabled.Name = "menuSysAgentEnabled";
|
||||||
|
resources.ApplyResources(this.menuSysAgentEnabled, "menuSysAgentEnabled");
|
||||||
this.menuSysAgentEnabled.Click += new System.EventHandler(this.menuSysAgentEnabled_Click);
|
this.menuSysAgentEnabled.Click += new System.EventHandler(this.menuSysAgentEnabled_Click);
|
||||||
//
|
//
|
||||||
// menuSysAgentMode
|
// menuSysAgentMode
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
|
|
||||||
this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.menuGlobal,
|
this.menuGlobal,
|
||||||
this.menuGlobalPAC,
|
this.menuGlobalPAC,
|
||||||
this.menuKeep,
|
this.menuKeep,
|
||||||
this.menuKeepPAC});
|
this.menuKeepPAC});
|
||||||
this.menuSysAgentMode.Name = "menuSysAgentMode";
|
this.menuSysAgentMode.Name = "menuSysAgentMode";
|
||||||
|
resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
|
||||||
//
|
//
|
||||||
// menuGlobal
|
// menuGlobal
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuGlobal, "menuGlobal");
|
|
||||||
this.menuGlobal.Name = "menuGlobal";
|
this.menuGlobal.Name = "menuGlobal";
|
||||||
|
resources.ApplyResources(this.menuGlobal, "menuGlobal");
|
||||||
this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click);
|
this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click);
|
||||||
//
|
//
|
||||||
// menuGlobalPAC
|
// menuGlobalPAC
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC");
|
|
||||||
this.menuGlobalPAC.Name = "menuGlobalPAC";
|
this.menuGlobalPAC.Name = "menuGlobalPAC";
|
||||||
|
resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC");
|
||||||
this.menuGlobalPAC.Click += new System.EventHandler(this.menuGlobalPAC_Click);
|
this.menuGlobalPAC.Click += new System.EventHandler(this.menuGlobalPAC_Click);
|
||||||
//
|
//
|
||||||
// menuKeep
|
// menuKeep
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuKeep, "menuKeep");
|
|
||||||
this.menuKeep.Name = "menuKeep";
|
this.menuKeep.Name = "menuKeep";
|
||||||
|
resources.ApplyResources(this.menuKeep, "menuKeep");
|
||||||
this.menuKeep.Click += new System.EventHandler(this.menuKeep_Click);
|
this.menuKeep.Click += new System.EventHandler(this.menuKeep_Click);
|
||||||
//
|
//
|
||||||
// menuKeepPAC
|
// menuKeepPAC
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC");
|
|
||||||
this.menuKeepPAC.Name = "menuKeepPAC";
|
this.menuKeepPAC.Name = "menuKeepPAC";
|
||||||
|
resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC");
|
||||||
this.menuKeepPAC.Click += new System.EventHandler(this.menuKeepPAC_Click);
|
this.menuKeepPAC.Click += new System.EventHandler(this.menuKeepPAC_Click);
|
||||||
//
|
//
|
||||||
// menuServers
|
// menuServers
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuServers, "menuServers");
|
|
||||||
this.menuServers.Name = "menuServers";
|
this.menuServers.Name = "menuServers";
|
||||||
|
resources.ApplyResources(this.menuServers, "menuServers");
|
||||||
//
|
//
|
||||||
// menuAddServers2
|
// menuAddServers2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuAddServers2, "menuAddServers2");
|
|
||||||
this.menuAddServers2.Name = "menuAddServers2";
|
this.menuAddServers2.Name = "menuAddServers2";
|
||||||
|
resources.ApplyResources(this.menuAddServers2, "menuAddServers2");
|
||||||
this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click);
|
this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click);
|
||||||
//
|
//
|
||||||
// menuScanScreen2
|
// menuScanScreen2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2");
|
|
||||||
this.menuScanScreen2.Name = "menuScanScreen2";
|
this.menuScanScreen2.Name = "menuScanScreen2";
|
||||||
|
resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2");
|
||||||
this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click);
|
this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click);
|
||||||
//
|
//
|
||||||
// menuCopyPACUrl
|
// menuCopyPACUrl
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl");
|
|
||||||
this.menuCopyPACUrl.Name = "menuCopyPACUrl";
|
this.menuCopyPACUrl.Name = "menuCopyPACUrl";
|
||||||
|
resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl");
|
||||||
this.menuCopyPACUrl.Click += new System.EventHandler(this.menuCopyPACUrl_Click);
|
this.menuCopyPACUrl.Click += new System.EventHandler(this.menuCopyPACUrl_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator2
|
// toolStripSeparator2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
|
|
||||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
|
||||||
//
|
//
|
||||||
// menuExit
|
// menuExit
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.menuExit, "menuExit");
|
|
||||||
this.menuExit.Name = "menuExit";
|
this.menuExit.Name = "menuExit";
|
||||||
|
resources.ApplyResources(this.menuExit, "menuExit");
|
||||||
this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
|
this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
|
||||||
//
|
//
|
||||||
// bgwPing
|
// bgwPing
|
||||||
|
@ -444,27 +453,82 @@
|
||||||
//
|
//
|
||||||
// groupBox1
|
// groupBox1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox1, "groupBox1");
|
|
||||||
this.groupBox1.Controls.Add(this.splitContainer1);
|
this.groupBox1.Controls.Add(this.splitContainer1);
|
||||||
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
this.groupBox1.Name = "groupBox1";
|
this.groupBox1.Name = "groupBox1";
|
||||||
this.groupBox1.TabStop = false;
|
this.groupBox1.TabStop = false;
|
||||||
//
|
//
|
||||||
// groupBox2
|
// groupBox2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.groupBox2, "groupBox2");
|
|
||||||
this.groupBox2.Controls.Add(this.txtMsgBox);
|
this.groupBox2.Controls.Add(this.txtMsgBox);
|
||||||
|
this.groupBox2.Controls.Add(this.ssMain);
|
||||||
|
resources.ApplyResources(this.groupBox2, "groupBox2");
|
||||||
this.groupBox2.Name = "groupBox2";
|
this.groupBox2.Name = "groupBox2";
|
||||||
this.groupBox2.TabStop = false;
|
this.groupBox2.TabStop = false;
|
||||||
//
|
//
|
||||||
// txtMsgBox
|
// txtMsgBox
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
|
|
||||||
this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52)))));
|
this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52)))));
|
||||||
this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||||
|
resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
|
||||||
this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228)))));
|
this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228)))));
|
||||||
this.txtMsgBox.Name = "txtMsgBox";
|
this.txtMsgBox.Name = "txtMsgBox";
|
||||||
this.txtMsgBox.ReadOnly = true;
|
this.txtMsgBox.ReadOnly = true;
|
||||||
//
|
//
|
||||||
|
// ssMain
|
||||||
|
//
|
||||||
|
this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.toolSslSocksPortLab,
|
||||||
|
this.toolSslSocksPort,
|
||||||
|
this.toolSslBlank1,
|
||||||
|
this.toolSslHttpPortLab,
|
||||||
|
this.toolSslHttpPort,
|
||||||
|
this.toolSslBlank2,
|
||||||
|
this.toolSslPacPortLab,
|
||||||
|
this.toolSslPacPort,
|
||||||
|
this.toolSslBlank3});
|
||||||
|
resources.ApplyResources(this.ssMain, "ssMain");
|
||||||
|
this.ssMain.Name = "ssMain";
|
||||||
|
this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked);
|
||||||
|
//
|
||||||
|
// toolSslSocksPortLab
|
||||||
|
//
|
||||||
|
this.toolSslSocksPortLab.Name = "toolSslSocksPortLab";
|
||||||
|
resources.ApplyResources(this.toolSslSocksPortLab, "toolSslSocksPortLab");
|
||||||
|
//
|
||||||
|
// toolSslSocksPort
|
||||||
|
//
|
||||||
|
this.toolSslSocksPort.Name = "toolSslSocksPort";
|
||||||
|
resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort");
|
||||||
|
//
|
||||||
|
// toolSslBlank1
|
||||||
|
//
|
||||||
|
this.toolSslBlank1.Name = "toolSslBlank1";
|
||||||
|
resources.ApplyResources(this.toolSslBlank1, "toolSslBlank1");
|
||||||
|
this.toolSslBlank1.Spring = true;
|
||||||
|
//
|
||||||
|
// toolSslHttpPort
|
||||||
|
//
|
||||||
|
this.toolSslHttpPort.Name = "toolSslHttpPort";
|
||||||
|
resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort");
|
||||||
|
//
|
||||||
|
// toolSslBlank2
|
||||||
|
//
|
||||||
|
this.toolSslBlank2.Name = "toolSslBlank2";
|
||||||
|
resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2");
|
||||||
|
this.toolSslBlank2.Spring = true;
|
||||||
|
//
|
||||||
|
// toolSslPacPort
|
||||||
|
//
|
||||||
|
this.toolSslPacPort.Name = "toolSslPacPort";
|
||||||
|
resources.ApplyResources(this.toolSslPacPort, "toolSslPacPort");
|
||||||
|
//
|
||||||
|
// toolSslBlank3
|
||||||
|
//
|
||||||
|
this.toolSslBlank3.Name = "toolSslBlank3";
|
||||||
|
resources.ApplyResources(this.toolSslBlank3, "toolSslBlank3");
|
||||||
|
this.toolSslBlank3.Spring = true;
|
||||||
|
//
|
||||||
// panel1
|
// panel1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.panel1, "panel1");
|
resources.ApplyResources(this.panel1, "panel1");
|
||||||
|
@ -472,7 +536,6 @@
|
||||||
//
|
//
|
||||||
// tsMain
|
// tsMain
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsMain, "tsMain");
|
|
||||||
this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32);
|
this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32);
|
||||||
this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.tsbServer,
|
this.tsbServer,
|
||||||
|
@ -489,50 +552,51 @@
|
||||||
this.tsbPromotion,
|
this.tsbPromotion,
|
||||||
this.toolStripSeparator11,
|
this.toolStripSeparator11,
|
||||||
this.tsbClose});
|
this.tsbClose});
|
||||||
|
resources.ApplyResources(this.tsMain, "tsMain");
|
||||||
this.tsMain.Name = "tsMain";
|
this.tsMain.Name = "tsMain";
|
||||||
//
|
//
|
||||||
// toolStripSeparator4
|
// toolStripSeparator4
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
|
|
||||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
|
||||||
//
|
//
|
||||||
// tsbSub
|
// tsbSub
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbSub, "tsbSub");
|
|
||||||
this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.tsbSubSetting,
|
this.tsbSubSetting,
|
||||||
this.tsbSubUpdate});
|
this.tsbSubUpdate});
|
||||||
this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
|
this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
|
||||||
|
resources.ApplyResources(this.tsbSub, "tsbSub");
|
||||||
this.tsbSub.Name = "tsbSub";
|
this.tsbSub.Name = "tsbSub";
|
||||||
//
|
//
|
||||||
// tsbSubSetting
|
// tsbSubSetting
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting");
|
|
||||||
this.tsbSubSetting.Name = "tsbSubSetting";
|
this.tsbSubSetting.Name = "tsbSubSetting";
|
||||||
|
resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting");
|
||||||
this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click);
|
this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click);
|
||||||
//
|
//
|
||||||
// tsbSubUpdate
|
// tsbSubUpdate
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
|
|
||||||
this.tsbSubUpdate.Name = "tsbSubUpdate";
|
this.tsbSubUpdate.Name = "tsbSubUpdate";
|
||||||
|
resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
|
||||||
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
|
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator8
|
// toolStripSeparator8
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
|
|
||||||
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
|
||||||
//
|
//
|
||||||
// tsbOptionSetting
|
// tsbOptionSetting
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting");
|
|
||||||
this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option;
|
this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option;
|
||||||
|
resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting");
|
||||||
this.tsbOptionSetting.Name = "tsbOptionSetting";
|
this.tsbOptionSetting.Name = "tsbOptionSetting";
|
||||||
this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click);
|
this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator5
|
// toolStripSeparator5
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
|
|
||||||
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
|
||||||
//
|
//
|
||||||
// tsbReload
|
// tsbReload
|
||||||
//
|
//
|
||||||
|
@ -542,95 +606,95 @@
|
||||||
//
|
//
|
||||||
// toolStripSeparator7
|
// toolStripSeparator7
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
|
|
||||||
this.toolStripSeparator7.Name = "toolStripSeparator7";
|
this.toolStripSeparator7.Name = "toolStripSeparator7";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
|
||||||
//
|
//
|
||||||
// tsbCheckUpdate
|
// tsbCheckUpdate
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
|
|
||||||
this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.tsbCheckUpdateN,
|
this.tsbCheckUpdateN,
|
||||||
this.tsbCheckUpdateCore,
|
this.tsbCheckUpdateCore,
|
||||||
this.tsbCheckUpdatePACList,
|
this.tsbCheckUpdatePACList,
|
||||||
this.tsbCheckClearPACList});
|
this.tsbCheckClearPACList});
|
||||||
this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate;
|
this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate;
|
||||||
|
resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
|
||||||
this.tsbCheckUpdate.Name = "tsbCheckUpdate";
|
this.tsbCheckUpdate.Name = "tsbCheckUpdate";
|
||||||
//
|
//
|
||||||
// tsbCheckUpdateN
|
// tsbCheckUpdateN
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN");
|
|
||||||
this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
|
this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
|
||||||
|
resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN");
|
||||||
this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click);
|
this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click);
|
||||||
//
|
//
|
||||||
// tsbCheckUpdateCore
|
// tsbCheckUpdateCore
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore");
|
|
||||||
this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
|
this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
|
||||||
|
resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore");
|
||||||
this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click);
|
this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click);
|
||||||
//
|
//
|
||||||
// tsbCheckUpdatePACList
|
// tsbCheckUpdatePACList
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList");
|
|
||||||
this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList";
|
this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList";
|
||||||
|
resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList");
|
||||||
this.tsbCheckUpdatePACList.Click += new System.EventHandler(this.tsbCheckUpdatePACList_Click);
|
this.tsbCheckUpdatePACList.Click += new System.EventHandler(this.tsbCheckUpdatePACList_Click);
|
||||||
//
|
//
|
||||||
// tsbCheckClearPACList
|
// tsbCheckClearPACList
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList");
|
|
||||||
this.tsbCheckClearPACList.Name = "tsbCheckClearPACList";
|
this.tsbCheckClearPACList.Name = "tsbCheckClearPACList";
|
||||||
|
resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList");
|
||||||
this.tsbCheckClearPACList.Click += new System.EventHandler(this.tsbCheckClearPACList_Click);
|
this.tsbCheckClearPACList.Click += new System.EventHandler(this.tsbCheckClearPACList_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator10
|
// toolStripSeparator10
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
|
|
||||||
this.toolStripSeparator10.Name = "toolStripSeparator10";
|
this.toolStripSeparator10.Name = "toolStripSeparator10";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
|
||||||
//
|
//
|
||||||
// tsbHelp
|
// tsbHelp
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbHelp, "tsbHelp");
|
|
||||||
this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.tsbAbout,
|
this.tsbAbout,
|
||||||
this.toolStripSeparator12,
|
this.toolStripSeparator12,
|
||||||
this.tsbLanguageDef,
|
this.tsbLanguageDef,
|
||||||
this.tsbLanguageZhHans});
|
this.tsbLanguageZhHans});
|
||||||
this.tsbHelp.Image = global::v2rayN.Properties.Resources.help;
|
this.tsbHelp.Image = global::v2rayN.Properties.Resources.help;
|
||||||
|
resources.ApplyResources(this.tsbHelp, "tsbHelp");
|
||||||
this.tsbHelp.Name = "tsbHelp";
|
this.tsbHelp.Name = "tsbHelp";
|
||||||
//
|
//
|
||||||
// tsbAbout
|
// tsbAbout
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbAbout, "tsbAbout");
|
|
||||||
this.tsbAbout.Name = "tsbAbout";
|
this.tsbAbout.Name = "tsbAbout";
|
||||||
|
resources.ApplyResources(this.tsbAbout, "tsbAbout");
|
||||||
this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click);
|
this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator12
|
// toolStripSeparator12
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12");
|
|
||||||
this.toolStripSeparator12.Name = "toolStripSeparator12";
|
this.toolStripSeparator12.Name = "toolStripSeparator12";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12");
|
||||||
//
|
//
|
||||||
// tsbLanguageDef
|
// tsbLanguageDef
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef");
|
|
||||||
this.tsbLanguageDef.Name = "tsbLanguageDef";
|
this.tsbLanguageDef.Name = "tsbLanguageDef";
|
||||||
|
resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef");
|
||||||
this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click);
|
this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click);
|
||||||
//
|
//
|
||||||
// tsbLanguageZhHans
|
// tsbLanguageZhHans
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans");
|
|
||||||
this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
|
this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
|
||||||
|
resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans");
|
||||||
this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click);
|
this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click);
|
||||||
//
|
//
|
||||||
// tsbPromotion
|
// tsbPromotion
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
|
|
||||||
this.tsbPromotion.ForeColor = System.Drawing.Color.Black;
|
this.tsbPromotion.ForeColor = System.Drawing.Color.Black;
|
||||||
this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion;
|
this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion;
|
||||||
|
resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
|
||||||
this.tsbPromotion.Name = "tsbPromotion";
|
this.tsbPromotion.Name = "tsbPromotion";
|
||||||
this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click);
|
this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator11
|
// toolStripSeparator11
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
|
|
||||||
this.toolStripSeparator11.Name = "toolStripSeparator11";
|
this.toolStripSeparator11.Name = "toolStripSeparator11";
|
||||||
|
resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
|
||||||
//
|
//
|
||||||
// tsbClose
|
// tsbClose
|
||||||
//
|
//
|
||||||
|
@ -638,6 +702,16 @@
|
||||||
this.tsbClose.Name = "tsbClose";
|
this.tsbClose.Name = "tsbClose";
|
||||||
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
|
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
|
||||||
//
|
//
|
||||||
|
// toolSslHttpPortLab
|
||||||
|
//
|
||||||
|
this.toolSslHttpPortLab.Name = "toolSslHttpPortLab";
|
||||||
|
resources.ApplyResources(this.toolSslHttpPortLab, "toolSslHttpPortLab");
|
||||||
|
//
|
||||||
|
// toolSslPacPortLab
|
||||||
|
//
|
||||||
|
this.toolSslPacPortLab.Name = "toolSslPacPortLab";
|
||||||
|
resources.ApplyResources(this.toolSslPacPortLab, "toolSslPacPortLab");
|
||||||
|
//
|
||||||
// MainForm
|
// MainForm
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
|
@ -662,6 +736,8 @@
|
||||||
this.groupBox1.ResumeLayout(false);
|
this.groupBox1.ResumeLayout(false);
|
||||||
this.groupBox2.ResumeLayout(false);
|
this.groupBox2.ResumeLayout(false);
|
||||||
this.groupBox2.PerformLayout();
|
this.groupBox2.PerformLayout();
|
||||||
|
this.ssMain.ResumeLayout(false);
|
||||||
|
this.ssMain.PerformLayout();
|
||||||
this.tsMain.ResumeLayout(false);
|
this.tsMain.ResumeLayout(false);
|
||||||
this.tsMain.PerformLayout();
|
this.tsMain.PerformLayout();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
@ -744,6 +820,16 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsbLanguageZhHans;
|
private System.Windows.Forms.ToolStripMenuItem tsbLanguageZhHans;
|
||||||
private System.Windows.Forms.ToolStripButton tsbPromotion;
|
private System.Windows.Forms.ToolStripButton tsbPromotion;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuAddSocksServer;
|
private System.Windows.Forms.ToolStripMenuItem menuAddSocksServer;
|
||||||
|
private System.Windows.Forms.StatusStrip ssMain;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslSocksPort;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslHttpPort;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank2;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank1;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslPacPort;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank3;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslSocksPortLab;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslHttpPortLab;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel toolSslPacPortLab;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -235,6 +235,31 @@ namespace v2rayN.Forms
|
||||||
qrCodeControl.showQRCode(index, config);
|
qrCodeControl.showQRCode(index, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void DisplayToolStatus()
|
||||||
|
{
|
||||||
|
var localIP = "127.0.0.1";
|
||||||
|
toolSslSocksPort.Text =
|
||||||
|
toolSslHttpPort.Text =
|
||||||
|
toolSslPacPort.Text = "NONE";
|
||||||
|
|
||||||
|
toolSslSocksPort.Text = $"{localIP}:{config.inbound[0].localPort}";
|
||||||
|
|
||||||
|
if (config.sysAgentEnabled)
|
||||||
|
{
|
||||||
|
toolSslHttpPort.Text = $"{localIP}:{Global.sysAgentPort}";
|
||||||
|
if (config.listenerType == 2 || config.listenerType == 4)
|
||||||
|
{
|
||||||
|
toolSslPacPort.Text = $"{HttpProxyHandle.GetPacUrl()}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void ssMain_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(e.ClickedItem.Text))
|
||||||
|
{
|
||||||
|
Utils.SetClipboardData(e.ClickedItem.Text);
|
||||||
|
}
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region v2ray 操作
|
#region v2ray 操作
|
||||||
|
@ -252,6 +277,7 @@ namespace v2rayN.Forms
|
||||||
Global.reloadV2ray = false;
|
Global.reloadV2ray = false;
|
||||||
|
|
||||||
ChangeSysAgent(config.sysAgentEnabled);
|
ChangeSysAgent(config.sysAgentEnabled);
|
||||||
|
DisplayToolStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1073,7 +1099,7 @@ namespace v2rayN.Forms
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
DisplayToolStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1097,6 +1123,8 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
menuSysAgentEnabled.Checked =
|
menuSysAgentEnabled.Checked =
|
||||||
menuSysAgentMode.Enabled = isChecked;
|
menuSysAgentMode.Enabled = isChecked;
|
||||||
|
|
||||||
|
DisplayToolStatus();
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -1366,5 +1394,6 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -108,6 +108,14 @@ namespace v2rayN
|
||||||
/// socks
|
/// socks
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string socksProtocol = "socks://";
|
public const string socksProtocol = "socks://";
|
||||||
|
/// <summary>
|
||||||
|
/// http
|
||||||
|
/// </summary>
|
||||||
|
public const string httpProtocol = "http://";
|
||||||
|
/// <summary>
|
||||||
|
/// https
|
||||||
|
/// </summary>
|
||||||
|
public const string httpsProtocol = "https://";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// pac
|
/// pac
|
||||||
|
|
|
@ -112,6 +112,11 @@ namespace v2rayN.Handler
|
||||||
// config.pacPort = 8888;
|
// config.pacPort = 8888;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
if (config.subItem == null)
|
||||||
|
{
|
||||||
|
config.subItem = new List<SubItem>();
|
||||||
|
}
|
||||||
|
|
||||||
if (config == null
|
if (config == null
|
||||||
|| config.index < 0
|
|| config.index < 0
|
||||||
|| config.vmess.Count <= 0
|
|| config.vmess.Count <= 0
|
||||||
|
@ -146,6 +151,16 @@ namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
vmessItem.configVersion = 2;
|
vmessItem.configVersion = 2;
|
||||||
vmessItem.configType = (int)EConfigType.Vmess;
|
vmessItem.configType = (int)EConfigType.Vmess;
|
||||||
|
|
||||||
|
vmessItem.address = vmessItem.address.Trim();
|
||||||
|
vmessItem.id = vmessItem.id.Trim();
|
||||||
|
vmessItem.security = vmessItem.security.Trim();
|
||||||
|
vmessItem.network = vmessItem.network.Trim();
|
||||||
|
vmessItem.headerType = vmessItem.headerType.Trim();
|
||||||
|
vmessItem.requestHost = vmessItem.requestHost.Trim();
|
||||||
|
vmessItem.path = vmessItem.path.Trim();
|
||||||
|
vmessItem.streamSecurity = vmessItem.streamSecurity.Trim();
|
||||||
|
|
||||||
if (index >= 0)
|
if (index >= 0)
|
||||||
{
|
{
|
||||||
//修改
|
//修改
|
||||||
|
@ -548,6 +563,11 @@ namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
vmessItem.configVersion = 2;
|
vmessItem.configVersion = 2;
|
||||||
vmessItem.configType = (int)EConfigType.Shadowsocks;
|
vmessItem.configType = (int)EConfigType.Shadowsocks;
|
||||||
|
|
||||||
|
vmessItem.address = vmessItem.address.Trim();
|
||||||
|
vmessItem.id = vmessItem.id.Trim();
|
||||||
|
vmessItem.security = vmessItem.security.Trim();
|
||||||
|
|
||||||
if (index >= 0)
|
if (index >= 0)
|
||||||
{
|
{
|
||||||
//修改
|
//修改
|
||||||
|
@ -584,6 +604,9 @@ namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
vmessItem.configVersion = 2;
|
vmessItem.configVersion = 2;
|
||||||
vmessItem.configType = (int)EConfigType.Socks;
|
vmessItem.configType = (int)EConfigType.Socks;
|
||||||
|
|
||||||
|
vmessItem.address = vmessItem.address.Trim();
|
||||||
|
|
||||||
if (index >= 0)
|
if (index >= 0)
|
||||||
{
|
{
|
||||||
//修改
|
//修改
|
||||||
|
@ -698,6 +721,15 @@ namespace v2rayN.Handler
|
||||||
foreach (string str in arrData)
|
foreach (string str in arrData)
|
||||||
{
|
{
|
||||||
string msg;
|
string msg;
|
||||||
|
//maybe sub
|
||||||
|
if (str.StartsWith(Global.httpsProtocol) || str.StartsWith(Global.httpProtocol))
|
||||||
|
{
|
||||||
|
if (AddSubItem(ref config, str) == 0)
|
||||||
|
{
|
||||||
|
countServers++;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(str, out msg);
|
VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(str, out msg);
|
||||||
if (vmessItem == null)
|
if (vmessItem == null)
|
||||||
{
|
{
|
||||||
|
@ -733,6 +765,32 @@ namespace v2rayN.Handler
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// add sub
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="config"></param>
|
||||||
|
/// <param name="url"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static int AddSubItem(ref Config config, string url)
|
||||||
|
{
|
||||||
|
//already exists
|
||||||
|
foreach (var sub in config.subItem)
|
||||||
|
{
|
||||||
|
if (url == sub.url)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var subItem = new SubItem();
|
||||||
|
subItem.id = string.Empty;
|
||||||
|
subItem.remarks = "import sub";
|
||||||
|
subItem.url = url;
|
||||||
|
config.subItem.Add(subItem);
|
||||||
|
|
||||||
|
return SaveSubItem(ref config);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// save sub
|
/// save sub
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.Sockets;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
|
namespace v2rayN.HttpProxyHandler
|
||||||
|
{
|
||||||
|
public class HttpWebServerB
|
||||||
|
{
|
||||||
|
private int port;
|
||||||
|
private TcpListener listener;
|
||||||
|
|
||||||
|
private Func<TcpClient, string> _responderMethod;
|
||||||
|
|
||||||
|
public HttpWebServerB(int port, Func<TcpClient, string> method)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.port = port;
|
||||||
|
this._responderMethod = method;
|
||||||
|
|
||||||
|
listener = new TcpListener(new IPEndPoint(IPAddress.Any, port));
|
||||||
|
listener.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
|
||||||
|
listener.Start();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.SaveLog(ex.Message, ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
Utils.SaveLog("WebserverB running...");
|
||||||
|
AsyncCallback callback = null;
|
||||||
|
listener.BeginAcceptTcpClient(callback = ((ares) =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (listener != null)
|
||||||
|
{
|
||||||
|
TcpClient client = listener.EndAcceptTcpClient(ares);
|
||||||
|
listener.BeginAcceptTcpClient(callback, null);
|
||||||
|
|
||||||
|
if (client != null && _responderMethod != null)
|
||||||
|
{
|
||||||
|
_responderMethod(client);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.SaveLog(ex.Message, ex);
|
||||||
|
}
|
||||||
|
//Console.WriteLine("Client connected completed");
|
||||||
|
|
||||||
|
}), null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
if (listener != null)
|
||||||
|
{
|
||||||
|
listener.Stop();
|
||||||
|
listener = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.Sockets;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
|
namespace v2rayN.HttpProxyHandler
|
||||||
|
{
|
||||||
|
public class HttpWebServerC
|
||||||
|
{
|
||||||
|
private int port;
|
||||||
|
private TcpListener listener;
|
||||||
|
private bool is_active = true;
|
||||||
|
private string pacRespone = string.Empty;
|
||||||
|
|
||||||
|
public HttpWebServerC(int port, string pacRespone)
|
||||||
|
{
|
||||||
|
this.port = port;
|
||||||
|
this.pacRespone = pacRespone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void WorkThread()
|
||||||
|
{
|
||||||
|
is_active = true;
|
||||||
|
Listen();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Listen()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
listener = new TcpListener(new IPEndPoint(IPAddress.Any, port));
|
||||||
|
listener.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
|
||||||
|
listener.Start();
|
||||||
|
|
||||||
|
Utils.SaveLog("WebserverB running...");
|
||||||
|
|
||||||
|
while (is_active)
|
||||||
|
{
|
||||||
|
TcpClient client = listener.AcceptTcpClient();
|
||||||
|
//HttpWebProcessor processor = new HttpWebProcessor(client, pacRespone);
|
||||||
|
//Thread thread = new Thread(new ThreadStart(processor.process));
|
||||||
|
//thread.Start();
|
||||||
|
//Thread.Sleep(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.SaveLog(ex.Message, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
if (listener != null)
|
||||||
|
{
|
||||||
|
is_active = false;
|
||||||
|
listener.Stop();
|
||||||
|
listener = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Net.Sockets;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using v2rayN.Mode;
|
using v2rayN.Mode;
|
||||||
using v2rayN.Properties;
|
using v2rayN.Properties;
|
||||||
|
@ -15,92 +15,205 @@ namespace v2rayN.HttpProxyHandler
|
||||||
/// </summary>
|
/// </summary>
|
||||||
class PACServerHandle
|
class PACServerHandle
|
||||||
{
|
{
|
||||||
private static Hashtable httpWebServer = new Hashtable();
|
//private static Hashtable httpWebServer = new Hashtable();
|
||||||
private static Hashtable pacList = new Hashtable();
|
//private static Hashtable pacList = new Hashtable();
|
||||||
|
|
||||||
|
//private static string pac = "";
|
||||||
|
private static int pacPort = 0;
|
||||||
|
private static HttpWebServerB server;
|
||||||
|
// private static HttpWebServerC server;
|
||||||
|
//static Thread thread;
|
||||||
|
|
||||||
public static void Init(Config config)
|
public static void Init(Config config)
|
||||||
{
|
{
|
||||||
InitServer("127.0.0.1");
|
InitServer("127.0.0.1");
|
||||||
|
//if (config.allowLANConn)
|
||||||
if (config.allowLANConn)
|
//{
|
||||||
{
|
// List<string> lstIPAddress = Utils.GetHostIPAddress();
|
||||||
List<string> lstIPAddress = Utils.GetHostIPAddress();
|
// if (lstIPAddress.Count <= 0)
|
||||||
if (lstIPAddress.Count <= 0)
|
// {
|
||||||
{
|
// return;
|
||||||
return;
|
// }
|
||||||
}
|
// InitServer(lstIPAddress[0]);
|
||||||
foreach (string str in lstIPAddress)
|
// //foreach (string str in lstIPAddress)
|
||||||
{
|
// //{
|
||||||
InitServer(str);
|
// // InitServer(str);
|
||||||
}
|
// //}
|
||||||
}
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// InitServer("127.0.0.1");
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void InitServer(string address)
|
public static void InitServer(string address)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!pacList.ContainsKey(address))
|
//pac = GetPacList(address);
|
||||||
|
|
||||||
|
if (pacPort != Global.pacPort)
|
||||||
{
|
{
|
||||||
pacList.Add(address, GetPacList(address));
|
if (server != null)
|
||||||
|
{
|
||||||
|
server.Stop();
|
||||||
|
server = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (server == null)
|
||||||
|
{
|
||||||
|
server = new HttpWebServerB(Global.pacPort, SendResponse);
|
||||||
|
//server = new HttpWebServerC(Global.pacPort, pac);
|
||||||
|
pacPort = Global.pacPort;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
string prefixes = string.Format("http://{0}:{1}/pac/", address, Global.pacPort);
|
//thread = new Thread(server.WorkThread);
|
||||||
Utils.SaveLog("Webserver prefixes " + prefixes);
|
//thread.IsBackground = true;
|
||||||
|
//thread.Start();
|
||||||
HttpWebServer ws = new HttpWebServer(SendResponse, prefixes);
|
Utils.SaveLog("Webserver at " + address);
|
||||||
ws.Run();
|
|
||||||
|
|
||||||
if (!httpWebServer.ContainsKey(address) && ws != null)
|
|
||||||
{
|
|
||||||
httpWebServer.Add(address, ws);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Utils.SaveLog("Webserver InitServer " + ex.Message);
|
Utils.SaveLog("Webserver InitServer " + ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if (!pacList.ContainsKey(address))
|
||||||
|
// {
|
||||||
|
// pacList.Add(address, GetPacList(address));
|
||||||
|
// }
|
||||||
|
|
||||||
|
// string prefixes = string.Format("http://{0}:{1}/pac/", address, Global.pacPort);
|
||||||
|
// Utils.SaveLog("Webserver prefixes " + prefixes);
|
||||||
|
|
||||||
|
// HttpWebServer ws = new HttpWebServer(SendResponse, prefixes);
|
||||||
|
// ws.Run();
|
||||||
|
|
||||||
|
// if (!httpWebServer.ContainsKey(address) && ws != null)
|
||||||
|
// {
|
||||||
|
// httpWebServer.Add(address, ws);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//catch (Exception ex)
|
||||||
|
//{
|
||||||
|
// Utils.SaveLog("Webserver InitServer " + ex.Message);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string SendResponse(HttpListenerRequest request)
|
public static string SendResponse(TcpClient tcpClient)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string[] arrAddress = request.UserHostAddress.Split(':');
|
var address = ((IPEndPoint)tcpClient.Client.LocalEndPoint).Address.ToString();
|
||||||
string address = "127.0.0.1";
|
var pac = GetPacList(address);
|
||||||
if (arrAddress.Length > 0)
|
|
||||||
|
Console.WriteLine("SendResponse addr " + address);
|
||||||
|
Utils.SaveLog("SendResponse addr " + address);
|
||||||
|
|
||||||
|
NetworkStream netStream = tcpClient.GetStream();
|
||||||
|
if (netStream.CanRead)
|
||||||
{
|
{
|
||||||
address = arrAddress[0];
|
// Reads NetworkStream into a byte buffer.
|
||||||
|
byte[] bytes = new byte[tcpClient.ReceiveBufferSize];
|
||||||
|
|
||||||
|
// Read can return anything from 0 to numBytesToRead.
|
||||||
|
// This method blocks until at least one byte is read.
|
||||||
|
netStream.Read(bytes, 0, (int)tcpClient.ReceiveBufferSize);
|
||||||
|
|
||||||
|
// Returns the data received from the host to the console.
|
||||||
|
string returndata = Encoding.UTF8.GetString(bytes);
|
||||||
|
if (!string.IsNullOrEmpty(returndata)
|
||||||
|
&& returndata.IndexOf("/pac/") >= 0
|
||||||
|
&& netStream.CanWrite)
|
||||||
|
{
|
||||||
|
|
||||||
|
Byte[] sendBytes = Encoding.UTF8.GetBytes(writeSuccess(pac));
|
||||||
|
netStream.Write(sendBytes, 0, sendBytes.Length);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return pacList[address].ToString();
|
|
||||||
|
netStream.Close();
|
||||||
|
tcpClient.Close();
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Utils.SaveLog("Webserver SendResponse " + ex.Message);
|
Utils.SaveLog(ex.Message, ex);
|
||||||
return ex.Message;
|
|
||||||
}
|
}
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static string writeSuccess(string pac)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
string content_type = "application/x-ns-proxy-autoconfig";
|
||||||
|
|
||||||
|
sb.Append("HTTP/1.0 200 OK");
|
||||||
|
sb.AppendLine();
|
||||||
|
sb.Append(String.Format("Content-Type:{0};charset=utf-8", content_type));
|
||||||
|
sb.AppendLine();
|
||||||
|
sb.Append("Connection: close");
|
||||||
|
sb.AppendLine();
|
||||||
|
sb.Append(pac);
|
||||||
|
sb.AppendLine();
|
||||||
|
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
public static string SendResponse(HttpListenerRequest request)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string[] arrAddress = request.UserHostAddress.Split(':');
|
||||||
|
string address = "127.0.0.1";
|
||||||
|
if (arrAddress.Length > 0)
|
||||||
|
{
|
||||||
|
address = arrAddress[0];
|
||||||
|
}
|
||||||
|
return pacList[address].ToString();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.SaveLog("Webserver SendResponse " + ex.Message);
|
||||||
|
return ex.Message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
public static void Stop()
|
public static void Stop()
|
||||||
{
|
{
|
||||||
try
|
//try
|
||||||
{
|
//{
|
||||||
if (httpWebServer == null)
|
// if (server != null)
|
||||||
{
|
// {
|
||||||
return;
|
// server.Stop();
|
||||||
}
|
// server = null;
|
||||||
foreach (var key in httpWebServer.Keys)
|
// }
|
||||||
{
|
//}
|
||||||
Utils.SaveLog("Webserver Stop " + key.ToString());
|
//catch (Exception ex)
|
||||||
((HttpWebServer)httpWebServer[key]).Stop();
|
//{
|
||||||
}
|
// Utils.SaveLog("Webserver Stop " + ex.Message);
|
||||||
httpWebServer.Clear();
|
//}
|
||||||
}
|
|
||||||
catch (Exception ex)
|
//try
|
||||||
{
|
//{
|
||||||
Utils.SaveLog("Webserver Stop " + ex.Message);
|
// if (httpWebServer == null)
|
||||||
}
|
// {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// foreach (var key in httpWebServer.Keys)
|
||||||
|
// {
|
||||||
|
// Utils.SaveLog("Webserver Stop " + key.ToString());
|
||||||
|
// ((HttpWebServer)httpWebServer[key]).Stop();
|
||||||
|
// }
|
||||||
|
// httpWebServer.Clear();
|
||||||
|
//}
|
||||||
|
//catch (Exception ex)
|
||||||
|
//{
|
||||||
|
// Utils.SaveLog("Webserver Stop " + ex.Message);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetPacList(string address)
|
private static string GetPacList(string address)
|
||||||
|
|
|
@ -112,7 +112,7 @@ namespace v2rayN.Mode
|
||||||
{
|
{
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
return vmess[index].address;
|
return vmess[index].address.Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int port()
|
public int port()
|
||||||
|
@ -130,7 +130,7 @@ namespace v2rayN.Mode
|
||||||
{
|
{
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
return vmess[index].id;
|
return vmess[index].id.Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int alterId()
|
public int alterId()
|
||||||
|
@ -148,7 +148,7 @@ namespace v2rayN.Mode
|
||||||
{
|
{
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
return vmess[index].security;
|
return vmess[index].security.Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
public string remarks()
|
public string remarks()
|
||||||
|
@ -157,7 +157,7 @@ namespace v2rayN.Mode
|
||||||
{
|
{
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
return vmess[index].remarks;
|
return vmess[index].remarks.Trim();
|
||||||
}
|
}
|
||||||
public string network()
|
public string network()
|
||||||
{
|
{
|
||||||
|
@ -165,7 +165,7 @@ namespace v2rayN.Mode
|
||||||
{
|
{
|
||||||
return Global.DefaultNetwork;
|
return Global.DefaultNetwork;
|
||||||
}
|
}
|
||||||
return vmess[index].network;
|
return vmess[index].network.Trim();
|
||||||
}
|
}
|
||||||
public string headerType()
|
public string headerType()
|
||||||
{
|
{
|
||||||
|
|
|
@ -8,46 +8,46 @@ namespace v2rayN.Mode
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 版本
|
/// 版本
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string v { get; set; }
|
public string v { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 备注
|
/// 备注
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ps { get; set; }
|
public string ps { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 远程服务器地址
|
/// 远程服务器地址
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string add { get; set; }
|
public string add { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 远程服务器端口
|
/// 远程服务器端口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string port { get; set; }
|
public string port { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 远程服务器ID
|
/// 远程服务器ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string id { get; set; }
|
public string id { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 远程服务器额外ID
|
/// 远程服务器额外ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string aid { get; set; }
|
public string aid { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 传输协议tcp,kcp,ws
|
/// 传输协议tcp,kcp,ws
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string net { get; set; }
|
public string net { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 伪装类型
|
/// 伪装类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string type { get; set; }
|
public string type { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 伪装的域名
|
/// 伪装的域名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string host { get; set; }
|
public string host { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// path
|
/// path
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string path { get; set; }
|
public string path { get; set; } = string.Empty;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 底层传输安全
|
/// 底层传输安全
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string tls { get; set; }
|
public string tls { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,4 +33,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("2.30")]
|
[assembly: AssemblyFileVersion("2.34")]
|
||||||
|
|
|
@ -144,6 +144,8 @@
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Handler\V2rayUpdateHandle.cs" />
|
<Compile Include="Handler\V2rayUpdateHandle.cs" />
|
||||||
<Compile Include="HttpProxyHandler\HttpWebServer.cs" />
|
<Compile Include="HttpProxyHandler\HttpWebServer.cs" />
|
||||||
|
<Compile Include="HttpProxyHandler\HttpWebServerB.cs" />
|
||||||
|
<Compile Include="HttpProxyHandler\HttpWebServerC.cs" />
|
||||||
<Compile Include="HttpProxyHandler\PACFileWatcherHandle.cs" />
|
<Compile Include="HttpProxyHandler\PACFileWatcherHandle.cs" />
|
||||||
<Compile Include="HttpProxyHandler\PrivoxyHandler.cs" />
|
<Compile Include="HttpProxyHandler\PrivoxyHandler.cs" />
|
||||||
<Compile Include="HttpProxyHandler\PACListHandle.cs" />
|
<Compile Include="HttpProxyHandler\PACListHandle.cs" />
|
||||||
|
|
Loading…
Reference in New Issue