mirror of
				https://github.com/2dust/v2rayN.git
				synced 2025-11-04 06:22:52 +00:00 
			
		
		
		
	up vless 2
This commit is contained in:
		
							parent
							
								
									583bd22244
								
							
						
					
					
						commit
						45738a7160
					
				
					 15 changed files with 2799 additions and 2672 deletions
				
			
		| 
						 | 
				
			
			@ -57,7 +57,7 @@ namespace v2rayN.Forms
 | 
			
		|||
            txtAddress.Text = "";
 | 
			
		||||
            txtPort.Text = "";
 | 
			
		||||
            txtId.Text = "";
 | 
			
		||||
            cmbSecurity.Text = Global.DefaultSecurity;
 | 
			
		||||
            cmbSecurity.Text = Global.None;
 | 
			
		||||
            cmbNetwork.Text = Global.DefaultNetwork;
 | 
			
		||||
            txtRemarks.Text = "";
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +152,7 @@ namespace v2rayN.Forms
 | 
			
		|||
            vmessItem.streamSecurity = streamSecurity;
 | 
			
		||||
            vmessItem.allowInsecure = allowInsecure;
 | 
			
		||||
 | 
			
		||||
            if (ConfigHandler.AddServer(ref config, vmessItem, EditIndex) == 0)
 | 
			
		||||
            if (ConfigHandler.AddVlessServer(ref config, vmessItem, EditIndex) == 0)
 | 
			
		||||
            {
 | 
			
		||||
                this.DialogResult = DialogResult.OK;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -172,6 +172,18 @@ namespace v2rayN.Forms
 | 
			
		|||
            this.DialogResult = DialogResult.Cancel;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
            string security = cmbStreamSecurity.Text;
 | 
			
		||||
            if (Utils.IsNullOrEmpty(security))
 | 
			
		||||
            {
 | 
			
		||||
                panTlsMore.Hide();
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                panTlsMore.Show();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region 导入客户端/服务端配置
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -268,17 +280,5 @@ namespace v2rayN.Forms
 | 
			
		|||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
            string security = cmbStreamSecurity.Text;
 | 
			
		||||
            if (Utils.IsNullOrEmpty(security))
 | 
			
		||||
            {
 | 
			
		||||
                panTlsMore.Hide();
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                panTlsMore.Show();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -306,9 +306,6 @@
 | 
			
		|||
  <data name=">>cmbHeaderType.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label11.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>17</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>toolStripSeparator1.Name" xml:space="preserve">
 | 
			
		||||
    <value>toolStripSeparator1</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -393,8 +390,8 @@
 | 
			
		|||
  <data name="cmbNetwork.Items2" xml:space="preserve">
 | 
			
		||||
    <value>ws</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label2.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>11</value>
 | 
			
		||||
  <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>729, 60</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label11.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>9, 66</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -423,6 +420,9 @@
 | 
			
		|||
  <data name=">>panel1.Name" xml:space="preserve">
 | 
			
		||||
    <value>panel1</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label14.Name" xml:space="preserve">
 | 
			
		||||
    <value>label14</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label20.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -483,6 +483,9 @@
 | 
			
		|||
  <data name="label11.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>95, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label23.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
 | 
			
		||||
    <value>NoControl</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label9.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>350, 32</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -528,8 +531,8 @@
 | 
			
		|||
  <data name=">>label23.Name" xml:space="preserve">
 | 
			
		||||
    <value>label23</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label1.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox1</value>
 | 
			
		||||
  <data name="label21.Text" xml:space="preserve">
 | 
			
		||||
    <value>allowInsecure</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>143, 20</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -552,8 +555,8 @@
 | 
			
		|||
  <data name=">>label24.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>0</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>panel1.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>2</value>
 | 
			
		||||
  <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>47, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label5.Type" xml:space="preserve">
 | 
			
		||||
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -615,8 +618,8 @@
 | 
			
		|||
  <data name="label7.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>13</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label23.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>34</value>
 | 
			
		||||
  <data name=">>label7.Name" xml:space="preserve">
 | 
			
		||||
    <value>label7</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label15.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>22</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -654,11 +657,8 @@
 | 
			
		|||
  <data name=">>panTlsMore.Name" xml:space="preserve">
 | 
			
		||||
    <value>panTlsMore</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>729, 60</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label21.Text" xml:space="preserve">
 | 
			
		||||
    <value>allowInsecure</value>
 | 
			
		||||
  <data name="label23.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>34</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label2.AutoSize" type="System.Boolean, mscorlib">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -717,9 +717,6 @@
 | 
			
		|||
  <data name="label8.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>119, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="txtId.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>278, 21</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="txtPath.Multiline" type="System.Boolean, mscorlib">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -732,20 +729,14 @@
 | 
			
		|||
  <data name="cmbAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>91, 20</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>53, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label19.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>27</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>txtRequestHost.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>cmbStreamSecurity.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label19.Type" xml:space="preserve">
 | 
			
		||||
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  <data name=">>label11.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>17</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label2.Text" xml:space="preserve">
 | 
			
		||||
    <value>Port</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -795,6 +786,9 @@
 | 
			
		|||
  <data name="label8.Text" xml:space="preserve">
 | 
			
		||||
    <value>*Recommended (none)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbSecurity.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>195, 143</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label20.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>4</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -813,9 +807,6 @@
 | 
			
		|||
  <data name=">>panel2.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>1</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="panel1.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>6</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label17.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>10</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -876,9 +867,6 @@
 | 
			
		|||
  <data name="cmbHeaderType.Items5" xml:space="preserve">
 | 
			
		||||
    <value>dtls</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>47, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>MenuItemImportServer.Name" xml:space="preserve">
 | 
			
		||||
    <value>MenuItemImportServer</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -888,6 +876,9 @@
 | 
			
		|||
  <data name=">>btnClose.Parent" xml:space="preserve">
 | 
			
		||||
    <value>panel2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label19.Type" xml:space="preserve">
 | 
			
		||||
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>0, 534</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -915,8 +906,8 @@
 | 
			
		|||
  <data name="label17.Text" xml:space="preserve">
 | 
			
		||||
    <value>2)ws host</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>txtAddress.Name" xml:space="preserve">
 | 
			
		||||
    <value>txtAddress</value>
 | 
			
		||||
  <data name="panel1.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>6</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label13.AutoSize" type="System.Boolean, mscorlib">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -957,9 +948,6 @@
 | 
			
		|||
  <data name="label6.AutoSize" type="System.Boolean, mscorlib">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label21.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>12, 11</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label23.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>89, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -996,9 +984,6 @@
 | 
			
		|||
  <data name="txtPath.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>124, 157</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label7.Name" xml:space="preserve">
 | 
			
		||||
    <value>label7</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="btnClose.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>4</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -1026,6 +1011,9 @@
 | 
			
		|||
  <data name=">>groupBox2.Name" xml:space="preserve">
 | 
			
		||||
    <value>groupBox2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label11.Text" xml:space="preserve">
 | 
			
		||||
    <value>Camouflage type</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>menuServer.Name" xml:space="preserve">
 | 
			
		||||
    <value>menuServer</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -1071,8 +1059,8 @@
 | 
			
		|||
  <data name=">>label19.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>8</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label10.Text" xml:space="preserve">
 | 
			
		||||
    <value>Camouflage domain(host)</value>
 | 
			
		||||
  <data name=">>label12.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>15</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label1.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>0</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -1083,6 +1071,9 @@
 | 
			
		|||
  <data name="label9.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>113, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label2.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>11</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label6.Type" xml:space="preserve">
 | 
			
		||||
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -1095,6 +1086,9 @@
 | 
			
		|||
  <data name="cmbHeaderType.Items3" xml:space="preserve">
 | 
			
		||||
    <value>utp</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>txtAddress.Name" xml:space="preserve">
 | 
			
		||||
    <value>txtAddress</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbAllowInsecure.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>30</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -1110,6 +1104,9 @@
 | 
			
		|||
  <data name=">>txtId.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>8</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label1.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox1</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label2.TabIndex" type="System.Int32, mscorlib">
 | 
			
		||||
    <value>2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -1137,6 +1134,9 @@
 | 
			
		|||
  <data name=">>label1.Type" xml:space="preserve">
 | 
			
		||||
    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label10.Text" xml:space="preserve">
 | 
			
		||||
    <value>Camouflage domain(host)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>185, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -1206,9 +1206,6 @@
 | 
			
		|||
  <data name="MenuItemImportClient.Text" xml:space="preserve">
 | 
			
		||||
    <value>Import client configuration</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label12.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>15</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label23.Text" xml:space="preserve">
 | 
			
		||||
    <value>4)QUIC securty</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -1239,8 +1236,8 @@
 | 
			
		|||
  <data name=">>txtPort.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox1</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label11.Text" xml:space="preserve">
 | 
			
		||||
    <value>Camouflage type</value>
 | 
			
		||||
  <data name="label21.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>12, 11</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>groupBox1.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>0</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -1248,8 +1245,8 @@
 | 
			
		|||
  <data name=">>panTlsMore.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label23.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
 | 
			
		||||
    <value>NoControl</value>
 | 
			
		||||
  <data name="txtId.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>278, 21</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label14.Text" xml:space="preserve">
 | 
			
		||||
    <value>1)http host Separated by commas (,)</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -1266,8 +1263,8 @@
 | 
			
		|||
  <data name="label24.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>65, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbSecurity.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>195, 143</value>
 | 
			
		||||
  <data name=">>txtRequestHost.Parent" xml:space="preserve">
 | 
			
		||||
    <value>groupBox2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>menuServer.Parent" xml:space="preserve">
 | 
			
		||||
    <value>$this</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -1296,8 +1293,11 @@
 | 
			
		|||
  <data name="label24.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>526, 197</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name=">>label14.Name" xml:space="preserve">
 | 
			
		||||
    <value>label14</value>
 | 
			
		||||
  <data name=">>panel1.ZOrder" xml:space="preserve">
 | 
			
		||||
    <value>2</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>53, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -120,9 +120,6 @@
 | 
			
		|||
  <data name="btnClose.Text" xml:space="preserve">
 | 
			
		||||
    <value>取消(&C)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="groupBox1.Text" xml:space="preserve">
 | 
			
		||||
    <value>服务器</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="btnGUID.Text" xml:space="preserve">
 | 
			
		||||
    <value>生成(&G)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -133,6 +130,51 @@
 | 
			
		|||
    <value>底层传输方式(transport)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
 | 
			
		||||
  <data name="label8.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>71, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label8.Text" xml:space="preserve">
 | 
			
		||||
    <value>*非空(none)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbSecurity.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>143, 143</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbSecurity.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>195, 20</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>83, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label6.Text" xml:space="preserve">
 | 
			
		||||
    <value>别名(remarks)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>125, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label5.Text" xml:space="preserve">
 | 
			
		||||
    <value>加密方式(decryption)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>65, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label3.Text" xml:space="preserve">
 | 
			
		||||
    <value>用户ID(id)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>65, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label2.Text" xml:space="preserve">
 | 
			
		||||
    <value>端口(port)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>83, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label1.Text" xml:space="preserve">
 | 
			
		||||
    <value>地址(address)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="groupBox1.Text" xml:space="preserve">
 | 
			
		||||
    <value>服务器</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label24.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>95, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -167,7 +209,7 @@
 | 
			
		|||
    <value>3)h2 host中间逗号(,)隔开</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbNetwork.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>127, 32</value>
 | 
			
		||||
    <value>124, 32</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbNetwork.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>211, 20</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -220,51 +262,19 @@
 | 
			
		|||
  <data name="label10.Text" xml:space="preserve">
 | 
			
		||||
    <value>伪装域名(host)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label8.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>71, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label8.Text" xml:space="preserve">
 | 
			
		||||
    <value>*非空(none)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbSecurity.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>127, 143</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbSecurity.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>211, 20</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>83, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label6.Text" xml:space="preserve">
 | 
			
		||||
    <value>别名(remarks)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>113, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label5.Text" xml:space="preserve">
 | 
			
		||||
    <value>加密方式(security)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>65, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label3.Text" xml:space="preserve">
 | 
			
		||||
    <value>用户ID(id)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>65, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label2.Text" xml:space="preserve">
 | 
			
		||||
    <value>端口(port)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>83, 12</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="label1.Text" xml:space="preserve">
 | 
			
		||||
    <value>地址(address)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="btnOK.Text" xml:space="preserve">
 | 
			
		||||
    <value>确定(&O)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
 | 
			
		||||
  <data name="MenuItem1.Enabled" type="System.Boolean, mscorlib">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="MenuItem1.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>92, 21</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="MenuItem1.Text" xml:space="preserve">
 | 
			
		||||
    <value>导入配置文件</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="MenuItemImportClient.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>171, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -286,16 +296,6 @@
 | 
			
		|||
  <data name="MenuItemImportClipboard.Text" xml:space="preserve">
 | 
			
		||||
    <value>从剪贴板导入URL</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
 | 
			
		||||
  <data name="MenuItem1.Enabled" type="System.Boolean, mscorlib">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="MenuItem1.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>92, 21</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="MenuItem1.Text" xml:space="preserve">
 | 
			
		||||
    <value>导入配置文件</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Text" xml:space="preserve">
 | 
			
		||||
    <value>编辑或添加[VLESS]服务器</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										32
									
								
								v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										32
									
								
								v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
									
									
									
										generated
									
									
									
								
							| 
						 | 
				
			
			@ -87,14 +87,15 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // btnClose
 | 
			
		||||
            // 
 | 
			
		||||
            this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
 | 
			
		||||
            resources.ApplyResources(this.btnClose, "btnClose");
 | 
			
		||||
            this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
 | 
			
		||||
            this.btnClose.Name = "btnClose";
 | 
			
		||||
            this.btnClose.UseVisualStyleBackColor = true;
 | 
			
		||||
            this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // groupBox1
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.groupBox1, "groupBox1");
 | 
			
		||||
            this.groupBox1.Controls.Add(this.btnGUID);
 | 
			
		||||
            this.groupBox1.Controls.Add(this.label13);
 | 
			
		||||
            this.groupBox1.Controls.Add(this.groupBox2);
 | 
			
		||||
| 
						 | 
				
			
			@ -111,7 +112,6 @@
 | 
			
		|||
            this.groupBox1.Controls.Add(this.label2);
 | 
			
		||||
            this.groupBox1.Controls.Add(this.txtAddress);
 | 
			
		||||
            this.groupBox1.Controls.Add(this.label1);
 | 
			
		||||
            resources.ApplyResources(this.groupBox1, "groupBox1");
 | 
			
		||||
            this.groupBox1.Name = "groupBox1";
 | 
			
		||||
            this.groupBox1.TabStop = false;
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -129,6 +129,7 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // groupBox2
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.groupBox2, "groupBox2");
 | 
			
		||||
            this.groupBox2.Controls.Add(this.label24);
 | 
			
		||||
            this.groupBox2.Controls.Add(this.label23);
 | 
			
		||||
            this.groupBox2.Controls.Add(this.panTlsMore);
 | 
			
		||||
| 
						 | 
				
			
			@ -149,7 +150,6 @@
 | 
			
		|||
            this.groupBox2.Controls.Add(this.label11);
 | 
			
		||||
            this.groupBox2.Controls.Add(this.label10);
 | 
			
		||||
            this.groupBox2.Controls.Add(this.cmbHeaderType);
 | 
			
		||||
            resources.ApplyResources(this.groupBox2, "groupBox2");
 | 
			
		||||
            this.groupBox2.Name = "groupBox2";
 | 
			
		||||
            this.groupBox2.TabStop = false;
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -165,9 +165,9 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // panTlsMore
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.panTlsMore, "panTlsMore");
 | 
			
		||||
            this.panTlsMore.Controls.Add(this.label21);
 | 
			
		||||
            this.panTlsMore.Controls.Add(this.cmbAllowInsecure);
 | 
			
		||||
            resources.ApplyResources(this.panTlsMore, "panTlsMore");
 | 
			
		||||
            this.panTlsMore.Name = "panTlsMore";
 | 
			
		||||
            // 
 | 
			
		||||
            // label21
 | 
			
		||||
| 
						 | 
				
			
			@ -177,13 +177,13 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // cmbAllowInsecure
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
 | 
			
		||||
            this.cmbAllowInsecure.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 | 
			
		||||
            this.cmbAllowInsecure.FormattingEnabled = true;
 | 
			
		||||
            this.cmbAllowInsecure.Items.AddRange(new object[] {
 | 
			
		||||
            resources.GetString("cmbAllowInsecure.Items"),
 | 
			
		||||
            resources.GetString("cmbAllowInsecure.Items1"),
 | 
			
		||||
            resources.GetString("cmbAllowInsecure.Items2")});
 | 
			
		||||
            resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
 | 
			
		||||
            this.cmbAllowInsecure.Name = "cmbAllowInsecure";
 | 
			
		||||
            // 
 | 
			
		||||
            // label9
 | 
			
		||||
| 
						 | 
				
			
			@ -203,6 +203,7 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // cmbNetwork
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
 | 
			
		||||
            this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 | 
			
		||||
            this.cmbNetwork.FormattingEnabled = true;
 | 
			
		||||
            this.cmbNetwork.Items.AddRange(new object[] {
 | 
			
		||||
| 
						 | 
				
			
			@ -211,7 +212,6 @@
 | 
			
		|||
            resources.GetString("cmbNetwork.Items2"),
 | 
			
		||||
            resources.GetString("cmbNetwork.Items3"),
 | 
			
		||||
            resources.GetString("cmbNetwork.Items4")});
 | 
			
		||||
            resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
 | 
			
		||||
            this.cmbNetwork.Name = "cmbNetwork";
 | 
			
		||||
            this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -252,12 +252,12 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // cmbStreamSecurity
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
 | 
			
		||||
            this.cmbStreamSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 | 
			
		||||
            this.cmbStreamSecurity.FormattingEnabled = true;
 | 
			
		||||
            this.cmbStreamSecurity.Items.AddRange(new object[] {
 | 
			
		||||
            resources.GetString("cmbStreamSecurity.Items"),
 | 
			
		||||
            resources.GetString("cmbStreamSecurity.Items1")});
 | 
			
		||||
            resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
 | 
			
		||||
            this.cmbStreamSecurity.Name = "cmbStreamSecurity";
 | 
			
		||||
            this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged);
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -283,6 +283,7 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // cmbHeaderType
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
 | 
			
		||||
            this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 | 
			
		||||
            this.cmbHeaderType.FormattingEnabled = true;
 | 
			
		||||
            this.cmbHeaderType.Items.AddRange(new object[] {
 | 
			
		||||
| 
						 | 
				
			
			@ -293,7 +294,6 @@
 | 
			
		|||
            resources.GetString("cmbHeaderType.Items4"),
 | 
			
		||||
            resources.GetString("cmbHeaderType.Items5"),
 | 
			
		||||
            resources.GetString("cmbHeaderType.Items6")});
 | 
			
		||||
            resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
 | 
			
		||||
            this.cmbHeaderType.Name = "cmbHeaderType";
 | 
			
		||||
            // 
 | 
			
		||||
            // label8
 | 
			
		||||
| 
						 | 
				
			
			@ -303,6 +303,7 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // cmbSecurity
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
 | 
			
		||||
            this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 | 
			
		||||
            this.cmbSecurity.FormattingEnabled = true;
 | 
			
		||||
            this.cmbSecurity.Items.AddRange(new object[] {
 | 
			
		||||
| 
						 | 
				
			
			@ -310,7 +311,6 @@
 | 
			
		|||
            resources.GetString("cmbSecurity.Items1"),
 | 
			
		||||
            resources.GetString("cmbSecurity.Items2"),
 | 
			
		||||
            resources.GetString("cmbSecurity.Items3")});
 | 
			
		||||
            resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
 | 
			
		||||
            this.cmbSecurity.Name = "cmbSecurity";
 | 
			
		||||
            // 
 | 
			
		||||
            // txtRemarks
 | 
			
		||||
| 
						 | 
				
			
			@ -370,9 +370,9 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // panel2
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.panel2, "panel2");
 | 
			
		||||
            this.panel2.Controls.Add(this.btnClose);
 | 
			
		||||
            this.panel2.Controls.Add(this.btnOK);
 | 
			
		||||
            resources.ApplyResources(this.panel2, "panel2");
 | 
			
		||||
            this.panel2.Name = "panel2";
 | 
			
		||||
            // 
 | 
			
		||||
            // btnOK
 | 
			
		||||
| 
						 | 
				
			
			@ -389,42 +389,42 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // menuServer
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.menuServer, "menuServer");
 | 
			
		||||
            this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.MenuItem1});
 | 
			
		||||
            resources.ApplyResources(this.menuServer, "menuServer");
 | 
			
		||||
            this.menuServer.Name = "menuServer";
 | 
			
		||||
            // 
 | 
			
		||||
            // MenuItem1
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.MenuItem1, "MenuItem1");
 | 
			
		||||
            this.MenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.MenuItemImportClient,
 | 
			
		||||
            this.MenuItemImportServer,
 | 
			
		||||
            this.toolStripSeparator1,
 | 
			
		||||
            this.MenuItemImportClipboard});
 | 
			
		||||
            this.MenuItem1.Name = "MenuItem1";
 | 
			
		||||
            resources.ApplyResources(this.MenuItem1, "MenuItem1");
 | 
			
		||||
            // 
 | 
			
		||||
            // MenuItemImportClient
 | 
			
		||||
            // 
 | 
			
		||||
            this.MenuItemImportClient.Name = "MenuItemImportClient";
 | 
			
		||||
            resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
 | 
			
		||||
            this.MenuItemImportClient.Name = "MenuItemImportClient";
 | 
			
		||||
            this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // MenuItemImportServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.MenuItemImportServer.Name = "MenuItemImportServer";
 | 
			
		||||
            resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
 | 
			
		||||
            this.MenuItemImportServer.Name = "MenuItemImportServer";
 | 
			
		||||
            this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator1
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator1.Name = "toolStripSeparator1";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
 | 
			
		||||
            this.toolStripSeparator1.Name = "toolStripSeparator1";
 | 
			
		||||
            // 
 | 
			
		||||
            // MenuItemImportClipboard
 | 
			
		||||
            // 
 | 
			
		||||
            this.MenuItemImportClipboard.Name = "MenuItemImportClipboard";
 | 
			
		||||
            resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
 | 
			
		||||
            this.MenuItemImportClipboard.Name = "MenuItemImportClipboard";
 | 
			
		||||
            this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // AddServerForm
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -180,6 +180,18 @@ namespace v2rayN.Forms
 | 
			
		|||
            this.DialogResult = DialogResult.Cancel;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
            string security = cmbStreamSecurity.Text;
 | 
			
		||||
            if (Utils.IsNullOrEmpty(security))
 | 
			
		||||
            {
 | 
			
		||||
                panTlsMore.Hide();
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                panTlsMore.Show();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region 导入客户端/服务端配置
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -278,17 +290,5 @@ namespace v2rayN.Forms
 | 
			
		|||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
            string security = cmbStreamSecurity.Text;
 | 
			
		||||
            if (Utils.IsNullOrEmpty(security))
 | 
			
		||||
            {
 | 
			
		||||
                panTlsMore.Hide();
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                panTlsMore.Show();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -167,7 +167,7 @@
 | 
			
		|||
    <value>3)h2 host中间逗号(,)隔开</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbNetwork.Location" type="System.Drawing.Point, System.Drawing">
 | 
			
		||||
    <value>127, 32</value>
 | 
			
		||||
    <value>124, 32</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmbNetwork.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>211, 20</value>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										192
									
								
								v2rayN/v2rayN/Forms/MainForm.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										192
									
								
								v2rayN/v2rayN/Forms/MainForm.Designer.cs
									
									
									
										generated
									
									
									
								
							| 
						 | 
				
			
			@ -34,6 +34,7 @@
 | 
			
		|||
            this.lvServers = new v2rayN.Base.ListViewFlickerFree();
 | 
			
		||||
            this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
            this.menuAddVmessServer = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.menuAddVlessServer = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.menuAddShadowsocksServer = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.menuAddSocksServer = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.menuAddCustomServer = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
| 
						 | 
				
			
			@ -61,8 +62,8 @@
 | 
			
		|||
            this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
 | 
			
		||||
            this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
 | 
			
		||||
            this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
 | 
			
		||||
            this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
 | 
			
		||||
            this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
            this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
| 
						 | 
				
			
			@ -124,7 +125,6 @@
 | 
			
		|||
            this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
 | 
			
		||||
            this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
 | 
			
		||||
            this.tsbClose = new System.Windows.Forms.ToolStripButton();
 | 
			
		||||
            this.menuAddVlessServer = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            ((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
 | 
			
		||||
            this.scMain.Panel1.SuspendLayout();
 | 
			
		||||
            this.scMain.Panel2.SuspendLayout();
 | 
			
		||||
| 
						 | 
				
			
			@ -145,17 +145,19 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // scMain.Panel1
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.scMain.Panel1, "scMain.Panel1");
 | 
			
		||||
            this.scMain.Panel1.Controls.Add(this.lvServers);
 | 
			
		||||
            // 
 | 
			
		||||
            // scMain.Panel2
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.scMain.Panel2, "scMain.Panel2");
 | 
			
		||||
            this.scMain.Panel2.Controls.Add(this.qrCodeControl);
 | 
			
		||||
            this.scMain.TabStop = false;
 | 
			
		||||
            // 
 | 
			
		||||
            // lvServers
 | 
			
		||||
            // 
 | 
			
		||||
            this.lvServers.ContextMenuStrip = this.cmsLv;
 | 
			
		||||
            resources.ApplyResources(this.lvServers, "lvServers");
 | 
			
		||||
            this.lvServers.ContextMenuStrip = this.cmsLv;
 | 
			
		||||
            this.lvServers.FullRowSelect = true;
 | 
			
		||||
            this.lvServers.GridLines = true;
 | 
			
		||||
            this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
 | 
			
		||||
| 
						 | 
				
			
			@ -174,6 +176,7 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // cmsLv
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.cmsLv, "cmsLv");
 | 
			
		||||
            this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
 | 
			
		||||
            this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.menuAddVmessServer,
 | 
			
		||||
| 
						 | 
				
			
			@ -206,193 +209,200 @@
 | 
			
		|||
            this.menuExport2ShareUrl,
 | 
			
		||||
            this.menuExport2SubContent});
 | 
			
		||||
            this.cmsLv.Name = "cmsLv";
 | 
			
		||||
            resources.ApplyResources(this.cmsLv, "cmsLv");
 | 
			
		||||
            this.cmsLv.OwnerItem = this.tsbServer;
 | 
			
		||||
            // 
 | 
			
		||||
            // menuAddVmessServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuAddVmessServer.Name = "menuAddVmessServer";
 | 
			
		||||
            resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer");
 | 
			
		||||
            this.menuAddVmessServer.Name = "menuAddVmessServer";
 | 
			
		||||
            this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuAddVlessServer
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer");
 | 
			
		||||
            this.menuAddVlessServer.Name = "menuAddVlessServer";
 | 
			
		||||
            this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuAddShadowsocksServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
 | 
			
		||||
            resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer");
 | 
			
		||||
            this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
 | 
			
		||||
            this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuAddSocksServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuAddSocksServer.Name = "menuAddSocksServer";
 | 
			
		||||
            resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer");
 | 
			
		||||
            this.menuAddSocksServer.Name = "menuAddSocksServer";
 | 
			
		||||
            this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuAddCustomServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuAddCustomServer.Name = "menuAddCustomServer";
 | 
			
		||||
            resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
 | 
			
		||||
            this.menuAddCustomServer.Name = "menuAddCustomServer";
 | 
			
		||||
            this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuAddServers
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuAddServers.Name = "menuAddServers";
 | 
			
		||||
            resources.ApplyResources(this.menuAddServers, "menuAddServers");
 | 
			
		||||
            this.menuAddServers.Name = "menuAddServers";
 | 
			
		||||
            this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuScanScreen
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuScanScreen.Name = "menuScanScreen";
 | 
			
		||||
            resources.ApplyResources(this.menuScanScreen, "menuScanScreen");
 | 
			
		||||
            this.menuScanScreen.Name = "menuScanScreen";
 | 
			
		||||
            this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator1
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator1.Name = "toolStripSeparator1";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
 | 
			
		||||
            this.toolStripSeparator1.Name = "toolStripSeparator1";
 | 
			
		||||
            // 
 | 
			
		||||
            // menuRemoveServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuRemoveServer.Name = "menuRemoveServer";
 | 
			
		||||
            resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer");
 | 
			
		||||
            this.menuRemoveServer.Name = "menuRemoveServer";
 | 
			
		||||
            this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuRemoveDuplicateServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
 | 
			
		||||
            resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer");
 | 
			
		||||
            this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
 | 
			
		||||
            this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuCopyServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuCopyServer.Name = "menuCopyServer";
 | 
			
		||||
            resources.ApplyResources(this.menuCopyServer, "menuCopyServer");
 | 
			
		||||
            this.menuCopyServer.Name = "menuCopyServer";
 | 
			
		||||
            this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuSetDefaultServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuSetDefaultServer.Name = "menuSetDefaultServer";
 | 
			
		||||
            resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
 | 
			
		||||
            this.menuSetDefaultServer.Name = "menuSetDefaultServer";
 | 
			
		||||
            this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator3
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator3.Name = "toolStripSeparator3";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
 | 
			
		||||
            this.toolStripSeparator3.Name = "toolStripSeparator3";
 | 
			
		||||
            // 
 | 
			
		||||
            // menuMoveTop
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuMoveTop.Name = "menuMoveTop";
 | 
			
		||||
            resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
 | 
			
		||||
            this.menuMoveTop.Name = "menuMoveTop";
 | 
			
		||||
            this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuMoveUp
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuMoveUp.Name = "menuMoveUp";
 | 
			
		||||
            resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
 | 
			
		||||
            this.menuMoveUp.Name = "menuMoveUp";
 | 
			
		||||
            this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuMoveDown
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuMoveDown.Name = "menuMoveDown";
 | 
			
		||||
            resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
 | 
			
		||||
            this.menuMoveDown.Name = "menuMoveDown";
 | 
			
		||||
            this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuMoveBottom
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuMoveBottom.Name = "menuMoveBottom";
 | 
			
		||||
            resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
 | 
			
		||||
            this.menuMoveBottom.Name = "menuMoveBottom";
 | 
			
		||||
            this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuSelectAll
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuSelectAll.Name = "menuSelectAll";
 | 
			
		||||
            resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
 | 
			
		||||
            this.menuSelectAll.Name = "menuSelectAll";
 | 
			
		||||
            this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator9
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator9.Name = "toolStripSeparator9";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
 | 
			
		||||
            this.toolStripSeparator9.Name = "toolStripSeparator9";
 | 
			
		||||
            // 
 | 
			
		||||
            // menuPingServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuPingServer.Name = "menuPingServer";
 | 
			
		||||
            resources.ApplyResources(this.menuPingServer, "menuPingServer");
 | 
			
		||||
            this.menuPingServer.Name = "menuPingServer";
 | 
			
		||||
            this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuTcpingServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuTcpingServer.Name = "menuTcpingServer";
 | 
			
		||||
            resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer");
 | 
			
		||||
            this.menuTcpingServer.Name = "menuTcpingServer";
 | 
			
		||||
            this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuRealPingServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuRealPingServer.Name = "menuRealPingServer";
 | 
			
		||||
            resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer");
 | 
			
		||||
            this.menuRealPingServer.Name = "menuRealPingServer";
 | 
			
		||||
            this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuSpeedServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuSpeedServer.Name = "menuSpeedServer";
 | 
			
		||||
            resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
 | 
			
		||||
            this.menuSpeedServer.Name = "menuSpeedServer";
 | 
			
		||||
            this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbTestMe
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbTestMe.Name = "tsbTestMe";
 | 
			
		||||
            resources.ApplyResources(this.tsbTestMe, "tsbTestMe");
 | 
			
		||||
            this.tsbTestMe.Name = "tsbTestMe";
 | 
			
		||||
            this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator6
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator6.Name = "toolStripSeparator6";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
 | 
			
		||||
            this.toolStripSeparator6.Name = "toolStripSeparator6";
 | 
			
		||||
            // 
 | 
			
		||||
            // menuExport2ClientConfig
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
 | 
			
		||||
            resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig");
 | 
			
		||||
            this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
 | 
			
		||||
            this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuExport2ServerConfig
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
 | 
			
		||||
            resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig");
 | 
			
		||||
            this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
 | 
			
		||||
            this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuExport2ShareUrl
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
 | 
			
		||||
            resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl");
 | 
			
		||||
            this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
 | 
			
		||||
            this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuExport2SubContent
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuExport2SubContent.Name = "menuExport2SubContent";
 | 
			
		||||
            resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
 | 
			
		||||
            this.menuExport2SubContent.Name = "menuExport2SubContent";
 | 
			
		||||
            this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
 | 
			
		||||
            resources.ApplyResources(this.tsbServer, "tsbServer");
 | 
			
		||||
            this.tsbServer.Name = "tsbServer";
 | 
			
		||||
            // 
 | 
			
		||||
            // qrCodeControl
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
 | 
			
		||||
            this.qrCodeControl.Name = "qrCodeControl";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbServer
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.tsbServer, "tsbServer");
 | 
			
		||||
            this.tsbServer.DropDown = this.cmsLv;
 | 
			
		||||
            this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
 | 
			
		||||
            this.tsbServer.Name = "tsbServer";
 | 
			
		||||
            // 
 | 
			
		||||
            // notifyMain
 | 
			
		||||
            // 
 | 
			
		||||
            this.notifyMain.ContextMenuStrip = this.cmsMain;
 | 
			
		||||
            resources.ApplyResources(this.notifyMain, "notifyMain");
 | 
			
		||||
            this.notifyMain.ContextMenuStrip = this.cmsMain;
 | 
			
		||||
            this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick);
 | 
			
		||||
            // 
 | 
			
		||||
            // cmsMain
 | 
			
		||||
            // 
 | 
			
		||||
            this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
 | 
			
		||||
            resources.ApplyResources(this.cmsMain, "cmsMain");
 | 
			
		||||
            this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
 | 
			
		||||
            this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.menuSysAgentMode,
 | 
			
		||||
            this.menuServers,
 | 
			
		||||
| 
						 | 
				
			
			@ -409,6 +419,7 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // menuSysAgentMode
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
 | 
			
		||||
            this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.menuNotEnabledHttp,
 | 
			
		||||
            this.menuGlobal,
 | 
			
		||||
| 
						 | 
				
			
			@ -418,88 +429,87 @@
 | 
			
		|||
            this.menuKeepNothing,
 | 
			
		||||
            this.menuKeepPACNothing});
 | 
			
		||||
            this.menuSysAgentMode.Name = "menuSysAgentMode";
 | 
			
		||||
            resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
 | 
			
		||||
            // 
 | 
			
		||||
            // menuNotEnabledHttp
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuNotEnabledHttp.Name = "menuNotEnabledHttp";
 | 
			
		||||
            resources.ApplyResources(this.menuNotEnabledHttp, "menuNotEnabledHttp");
 | 
			
		||||
            this.menuNotEnabledHttp.Name = "menuNotEnabledHttp";
 | 
			
		||||
            this.menuNotEnabledHttp.Click += new System.EventHandler(this.menuNotEnabledHttp_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuGlobal
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuGlobal.Name = "menuGlobal";
 | 
			
		||||
            resources.ApplyResources(this.menuGlobal, "menuGlobal");
 | 
			
		||||
            this.menuGlobal.Name = "menuGlobal";
 | 
			
		||||
            this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuGlobalPAC
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuGlobalPAC.Name = "menuGlobalPAC";
 | 
			
		||||
            resources.ApplyResources(this.menuGlobalPAC, "menuGlobalPAC");
 | 
			
		||||
            this.menuGlobalPAC.Name = "menuGlobalPAC";
 | 
			
		||||
            this.menuGlobalPAC.Click += new System.EventHandler(this.menuGlobalPAC_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuKeep
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuKeep.Name = "menuKeep";
 | 
			
		||||
            resources.ApplyResources(this.menuKeep, "menuKeep");
 | 
			
		||||
            this.menuKeep.Name = "menuKeep";
 | 
			
		||||
            this.menuKeep.Click += new System.EventHandler(this.menuKeep_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuKeepPAC
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuKeepPAC.Name = "menuKeepPAC";
 | 
			
		||||
            resources.ApplyResources(this.menuKeepPAC, "menuKeepPAC");
 | 
			
		||||
            this.menuKeepPAC.Name = "menuKeepPAC";
 | 
			
		||||
            this.menuKeepPAC.Click += new System.EventHandler(this.menuKeepPAC_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuKeepNothing
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuKeepNothing.Name = "menuKeepNothing";
 | 
			
		||||
            resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing");
 | 
			
		||||
            this.menuKeepNothing.Name = "menuKeepNothing";
 | 
			
		||||
            this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuKeepPACNothing
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuKeepPACNothing.Name = "menuKeepPACNothing";
 | 
			
		||||
            resources.ApplyResources(this.menuKeepPACNothing, "menuKeepPACNothing");
 | 
			
		||||
            this.menuKeepPACNothing.Name = "menuKeepPACNothing";
 | 
			
		||||
            this.menuKeepPACNothing.Click += new System.EventHandler(this.menuKeepPACNothing_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuServers
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuServers.Name = "menuServers";
 | 
			
		||||
            resources.ApplyResources(this.menuServers, "menuServers");
 | 
			
		||||
            this.menuServers.Name = "menuServers";
 | 
			
		||||
            // 
 | 
			
		||||
            // menuAddServers2
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuAddServers2.Name = "menuAddServers2";
 | 
			
		||||
            resources.ApplyResources(this.menuAddServers2, "menuAddServers2");
 | 
			
		||||
            this.menuAddServers2.Name = "menuAddServers2";
 | 
			
		||||
            this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuScanScreen2
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuScanScreen2.Name = "menuScanScreen2";
 | 
			
		||||
            resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2");
 | 
			
		||||
            this.menuScanScreen2.Name = "menuScanScreen2";
 | 
			
		||||
            this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuCopyPACUrl
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuCopyPACUrl.Name = "menuCopyPACUrl";
 | 
			
		||||
            resources.ApplyResources(this.menuCopyPACUrl, "menuCopyPACUrl");
 | 
			
		||||
            this.menuCopyPACUrl.Name = "menuCopyPACUrl";
 | 
			
		||||
            this.menuCopyPACUrl.Click += new System.EventHandler(this.menuCopyPACUrl_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuUpdateSubscriptions
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions";
 | 
			
		||||
            resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions");
 | 
			
		||||
            this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions";
 | 
			
		||||
            this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator2
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator2.Name = "toolStripSeparator2";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
 | 
			
		||||
            this.toolStripSeparator2.Name = "toolStripSeparator2";
 | 
			
		||||
            // 
 | 
			
		||||
            // menuExit
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuExit.Name = "menuExit";
 | 
			
		||||
            resources.ApplyResources(this.menuExit, "menuExit");
 | 
			
		||||
            this.menuExit.Name = "menuExit";
 | 
			
		||||
            this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // bgwScan
 | 
			
		||||
| 
						 | 
				
			
			@ -510,30 +520,31 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // groupBox1
 | 
			
		||||
            // 
 | 
			
		||||
            this.groupBox1.Controls.Add(this.scMain);
 | 
			
		||||
            resources.ApplyResources(this.groupBox1, "groupBox1");
 | 
			
		||||
            this.groupBox1.Controls.Add(this.scMain);
 | 
			
		||||
            this.groupBox1.Name = "groupBox1";
 | 
			
		||||
            this.groupBox1.TabStop = false;
 | 
			
		||||
            // 
 | 
			
		||||
            // groupBox2
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.groupBox2, "groupBox2");
 | 
			
		||||
            this.groupBox2.Controls.Add(this.txtMsgBox);
 | 
			
		||||
            this.groupBox2.Controls.Add(this.ssMain);
 | 
			
		||||
            resources.ApplyResources(this.groupBox2, "groupBox2");
 | 
			
		||||
            this.groupBox2.Name = "groupBox2";
 | 
			
		||||
            this.groupBox2.TabStop = false;
 | 
			
		||||
            // 
 | 
			
		||||
            // txtMsgBox
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
 | 
			
		||||
            this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52)))));
 | 
			
		||||
            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.Name = "txtMsgBox";
 | 
			
		||||
            this.txtMsgBox.ReadOnly = true;
 | 
			
		||||
            // 
 | 
			
		||||
            // ssMain
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.ssMain, "ssMain");
 | 
			
		||||
            this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.toolSslSocksPortLab,
 | 
			
		||||
            this.toolSslSocksPort,
 | 
			
		||||
| 
						 | 
				
			
			@ -546,7 +557,6 @@
 | 
			
		|||
            this.toolSslBlank3,
 | 
			
		||||
            this.toolSslServerSpeed,
 | 
			
		||||
            this.toolSslBlank4});
 | 
			
		||||
            resources.ApplyResources(this.ssMain, "ssMain");
 | 
			
		||||
            this.ssMain.Name = "ssMain";
 | 
			
		||||
            this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked);
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -557,8 +567,8 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // toolSslSocksPort
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolSslSocksPort.Name = "toolSslSocksPort";
 | 
			
		||||
            resources.ApplyResources(this.toolSslSocksPort, "toolSslSocksPort");
 | 
			
		||||
            this.toolSslSocksPort.Name = "toolSslSocksPort";
 | 
			
		||||
            // 
 | 
			
		||||
            // toolSslBlank1
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -573,8 +583,8 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // toolSslHttpPort
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolSslHttpPort.Name = "toolSslHttpPort";
 | 
			
		||||
            resources.ApplyResources(this.toolSslHttpPort, "toolSslHttpPort");
 | 
			
		||||
            this.toolSslHttpPort.Name = "toolSslHttpPort";
 | 
			
		||||
            // 
 | 
			
		||||
            // toolSslBlank2
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -589,8 +599,8 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // toolSslPacPort
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolSslPacPort.Name = "toolSslPacPort";
 | 
			
		||||
            resources.ApplyResources(this.toolSslPacPort, "toolSslPacPort");
 | 
			
		||||
            this.toolSslPacPort.Name = "toolSslPacPort";
 | 
			
		||||
            // 
 | 
			
		||||
            // toolSslBlank3
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -606,8 +616,8 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // toolSslBlank4
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolSslBlank4.Name = "toolSslBlank4";
 | 
			
		||||
            resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4");
 | 
			
		||||
            this.toolSslBlank4.Name = "toolSslBlank4";
 | 
			
		||||
            // 
 | 
			
		||||
            // panel1
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -616,6 +626,7 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // tsMain
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.tsMain, "tsMain");
 | 
			
		||||
            this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32);
 | 
			
		||||
            this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.tsbServer,
 | 
			
		||||
| 
						 | 
				
			
			@ -633,61 +644,60 @@
 | 
			
		|||
            this.tsbPromotion,
 | 
			
		||||
            this.toolStripSeparator11,
 | 
			
		||||
            this.tsbClose});
 | 
			
		||||
            resources.ApplyResources(this.tsMain, "tsMain");
 | 
			
		||||
            this.tsMain.Name = "tsMain";
 | 
			
		||||
            this.tsMain.TabStop = true;
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator4
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator4.Name = "toolStripSeparator4";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
 | 
			
		||||
            this.toolStripSeparator4.Name = "toolStripSeparator4";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbSub
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.tsbSub, "tsbSub");
 | 
			
		||||
            this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.tsbSubSetting,
 | 
			
		||||
            this.tsbSubUpdate});
 | 
			
		||||
            this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
 | 
			
		||||
            resources.ApplyResources(this.tsbSub, "tsbSub");
 | 
			
		||||
            this.tsbSub.Name = "tsbSub";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbSubSetting
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbSubSetting.Name = "tsbSubSetting";
 | 
			
		||||
            resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting");
 | 
			
		||||
            this.tsbSubSetting.Name = "tsbSubSetting";
 | 
			
		||||
            this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbSubUpdate
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbSubUpdate.Name = "tsbSubUpdate";
 | 
			
		||||
            resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
 | 
			
		||||
            this.tsbSubUpdate.Name = "tsbSubUpdate";
 | 
			
		||||
            this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbQRCodeSwitch
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch");
 | 
			
		||||
            this.tsbQRCodeSwitch.CheckOnClick = true;
 | 
			
		||||
            this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black;
 | 
			
		||||
            this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share;
 | 
			
		||||
            resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch");
 | 
			
		||||
            this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch";
 | 
			
		||||
            this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator8
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator8.Name = "toolStripSeparator8";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
 | 
			
		||||
            this.toolStripSeparator8.Name = "toolStripSeparator8";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbOptionSetting
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option;
 | 
			
		||||
            resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting");
 | 
			
		||||
            this.tsbOptionSetting.Image = global::v2rayN.Properties.Resources.option;
 | 
			
		||||
            this.tsbOptionSetting.Name = "tsbOptionSetting";
 | 
			
		||||
            this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator5
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator5.Name = "toolStripSeparator5";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
 | 
			
		||||
            this.toolStripSeparator5.Name = "toolStripSeparator5";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbReload
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -697,11 +707,12 @@
 | 
			
		|||
            // 
 | 
			
		||||
            // toolStripSeparator7
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator7.Name = "toolStripSeparator7";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
 | 
			
		||||
            this.toolStripSeparator7.Name = "toolStripSeparator7";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbCheckUpdate
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
 | 
			
		||||
            this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.tsbCheckUpdateN,
 | 
			
		||||
            this.tsbCheckUpdateCore,
 | 
			
		||||
| 
						 | 
				
			
			@ -709,45 +720,45 @@
 | 
			
		|||
            this.toolStripSeparator13,
 | 
			
		||||
            this.tsbCheckClearPACList});
 | 
			
		||||
            this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate;
 | 
			
		||||
            resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
 | 
			
		||||
            this.tsbCheckUpdate.Name = "tsbCheckUpdate";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbCheckUpdateN
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
 | 
			
		||||
            resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN");
 | 
			
		||||
            this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
 | 
			
		||||
            this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbCheckUpdateCore
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
 | 
			
		||||
            resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore");
 | 
			
		||||
            this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
 | 
			
		||||
            this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbCheckUpdatePACList
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList";
 | 
			
		||||
            resources.ApplyResources(this.tsbCheckUpdatePACList, "tsbCheckUpdatePACList");
 | 
			
		||||
            this.tsbCheckUpdatePACList.Name = "tsbCheckUpdatePACList";
 | 
			
		||||
            this.tsbCheckUpdatePACList.Click += new System.EventHandler(this.tsbCheckUpdatePACList_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator13
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator13.Name = "toolStripSeparator13";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13");
 | 
			
		||||
            this.toolStripSeparator13.Name = "toolStripSeparator13";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbCheckClearPACList
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbCheckClearPACList.Name = "tsbCheckClearPACList";
 | 
			
		||||
            resources.ApplyResources(this.tsbCheckClearPACList, "tsbCheckClearPACList");
 | 
			
		||||
            this.tsbCheckClearPACList.Name = "tsbCheckClearPACList";
 | 
			
		||||
            this.tsbCheckClearPACList.Click += new System.EventHandler(this.tsbCheckClearPACList_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator10
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator10.Name = "toolStripSeparator10";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
 | 
			
		||||
            this.toolStripSeparator10.Name = "toolStripSeparator10";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbHelp
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.tsbHelp, "tsbHelp");
 | 
			
		||||
            this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.tsbAbout,
 | 
			
		||||
            this.tsbV2rayWebsite,
 | 
			
		||||
| 
						 | 
				
			
			@ -755,50 +766,49 @@
 | 
			
		|||
            this.tsbLanguageDef,
 | 
			
		||||
            this.tsbLanguageZhHans});
 | 
			
		||||
            this.tsbHelp.Image = global::v2rayN.Properties.Resources.help;
 | 
			
		||||
            resources.ApplyResources(this.tsbHelp, "tsbHelp");
 | 
			
		||||
            this.tsbHelp.Name = "tsbHelp";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbAbout
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbAbout.Name = "tsbAbout";
 | 
			
		||||
            resources.ApplyResources(this.tsbAbout, "tsbAbout");
 | 
			
		||||
            this.tsbAbout.Name = "tsbAbout";
 | 
			
		||||
            this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbV2rayWebsite
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbV2rayWebsite.Name = "tsbV2rayWebsite";
 | 
			
		||||
            resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite");
 | 
			
		||||
            this.tsbV2rayWebsite.Name = "tsbV2rayWebsite";
 | 
			
		||||
            this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator12
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator12.Name = "toolStripSeparator12";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12");
 | 
			
		||||
            this.toolStripSeparator12.Name = "toolStripSeparator12";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbLanguageDef
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbLanguageDef.Name = "tsbLanguageDef";
 | 
			
		||||
            resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef");
 | 
			
		||||
            this.tsbLanguageDef.Name = "tsbLanguageDef";
 | 
			
		||||
            this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbLanguageZhHans
 | 
			
		||||
            // 
 | 
			
		||||
            this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
 | 
			
		||||
            resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans");
 | 
			
		||||
            this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
 | 
			
		||||
            this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbPromotion
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
 | 
			
		||||
            this.tsbPromotion.ForeColor = System.Drawing.Color.Black;
 | 
			
		||||
            this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion;
 | 
			
		||||
            resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
 | 
			
		||||
            this.tsbPromotion.Name = "tsbPromotion";
 | 
			
		||||
            this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // toolStripSeparator11
 | 
			
		||||
            // 
 | 
			
		||||
            this.toolStripSeparator11.Name = "toolStripSeparator11";
 | 
			
		||||
            resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
 | 
			
		||||
            this.toolStripSeparator11.Name = "toolStripSeparator11";
 | 
			
		||||
            // 
 | 
			
		||||
            // tsbClose
 | 
			
		||||
            // 
 | 
			
		||||
| 
						 | 
				
			
			@ -806,12 +816,6 @@
 | 
			
		|||
            this.tsbClose.Name = "tsbClose";
 | 
			
		||||
            this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // menuAddVlessServer
 | 
			
		||||
            // 
 | 
			
		||||
            this.menuAddVlessServer.Name = "menuAddVlessServer";
 | 
			
		||||
            resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer");
 | 
			
		||||
            this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // MainForm
 | 
			
		||||
            // 
 | 
			
		||||
            resources.ApplyResources(this, "$this");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -124,6 +124,12 @@
 | 
			
		|||
  <data name="menuAddVmessServer.Text" xml:space="preserve">
 | 
			
		||||
    <value>添加[VMess]服务器</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuAddVlessServer.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>300, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuAddVlessServer.Text" xml:space="preserve">
 | 
			
		||||
    <value>添加[VLESS]服务器</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuAddShadowsocksServer.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>300, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -241,6 +247,12 @@
 | 
			
		|||
  <data name="menuSpeedServer.Text" xml:space="preserve">
 | 
			
		||||
    <value>测试服务器速度(多选) (Ctrl+T)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbTestMe.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>300, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbTestMe.Text" xml:space="preserve">
 | 
			
		||||
    <value>测试当前服务状态</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="toolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>297, 6</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -275,7 +287,7 @@
 | 
			
		|||
    <value>  服务器  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>301, 534</value>
 | 
			
		||||
    <value>301, 600</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="lvServers.Items" mimetype="application/x-microsoft.net.object.binary.base64">
 | 
			
		||||
    <value>
 | 
			
		||||
| 
						 | 
				
			
			@ -294,6 +306,15 @@
 | 
			
		|||
        ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
 | 
			
		||||
</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>196, 164</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>195, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuSysAgentMode.Text" xml:space="preserve">
 | 
			
		||||
    <value>Http代理</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuNotEnabledHttp.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>316, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -336,12 +357,6 @@
 | 
			
		|||
  <data name="menuKeepPACNothing.Text" xml:space="preserve">
 | 
			
		||||
    <value>仅开启PAC,不改变系统代理</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>195, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuSysAgentMode.Text" xml:space="preserve">
 | 
			
		||||
    <value>Http代理</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>195, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -381,17 +396,80 @@
 | 
			
		|||
  <data name="menuExit.Text" xml:space="preserve">
 | 
			
		||||
    <value>退出</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>196, 164</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="groupBox1.Text" xml:space="preserve">
 | 
			
		||||
    <value>服务器列表</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="groupBox2.Text" xml:space="preserve">
 | 
			
		||||
    <value>信息</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="toolSslServerSpeed.Text" xml:space="preserve">
 | 
			
		||||
    <value>网速显示未启用</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="groupBox2.Text" xml:space="preserve">
 | 
			
		||||
    <value>信息</value>
 | 
			
		||||
  <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>61, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbSub.Text" xml:space="preserve">
 | 
			
		||||
    <value>  订阅  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbQRCodeSwitch.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>52, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbQRCodeSwitch.Text" xml:space="preserve">
 | 
			
		||||
    <value>  分享  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>76, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbOptionSetting.Text" xml:space="preserve">
 | 
			
		||||
    <value>  参数设置  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
    <value>
 | 
			
		||||
        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
 | 
			
		||||
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd
 | 
			
		||||
        QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X
 | 
			
		||||
        jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY
 | 
			
		||||
        6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3
 | 
			
		||||
        NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY
 | 
			
		||||
        B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg==
 | 
			
		||||
</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>76, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbReload.Text" xml:space="preserve">
 | 
			
		||||
    <value>  重启服务  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>85, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbCheckUpdate.Text" xml:space="preserve">
 | 
			
		||||
    <value>  检查更新  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>69, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbHelp.Text" xml:space="preserve">
 | 
			
		||||
    <value>   帮助   </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>68, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbPromotion.Text" xml:space="preserve">
 | 
			
		||||
    <value>    推广    </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
    <value>
 | 
			
		||||
        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
 | 
			
		||||
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/
 | 
			
		||||
        GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg==
 | 
			
		||||
</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbClose.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>76, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbClose.Text" xml:space="preserve">
 | 
			
		||||
    <value>  关闭窗口  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>124, 22</value>
 | 
			
		||||
| 
						 | 
				
			
			@ -405,47 +483,6 @@
 | 
			
		|||
  <data name="tsbSubUpdate.Text" xml:space="preserve">
 | 
			
		||||
    <value>更新订阅</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>61, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbSub.Text" xml:space="preserve">
 | 
			
		||||
    <value>  订阅  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>76, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbOptionSetting.Text" xml:space="preserve">
 | 
			
		||||
    <value>  参数设置  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbReload.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>148, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbReload.Text" xml:space="preserve">
 | 
			
		||||
    <value>  重启服务  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbTestMe.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>148, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbTestMe.Text" xml:space="preserve">
 | 
			
		||||
    <value>测试当前服务状态</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbService.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
    <value>
 | 
			
		||||
        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
 | 
			
		||||
        wwAADsMBx2+oZAAAATdJREFUWEftloENAiEMRW8ER3AEN9ANdARHcAPdwBF0A91AN9INtC+5JvUCJwWM
 | 
			
		||||
        mvCTFw3QUiiU65qa/lUTYT6Ato9rJZyERwT6GFNdU+EihCYNwVhsqmgm3AR1fheOAitd9PCfNvp0HDbY
 | 
			
		||||
        FolV2MmZZCzX9J0FG0TRTlwFdbahIVE7Qe1IR5bYVnXCyr2yO5F1MNUBec25YtjomcCXSxhr9DmrV2Gr
 | 
			
		||||
        flyL4GSrYcm9tmnEZ7JsAC7DgWr5ydbXA8hOAcVjG8FTD6ocQgvXKrW8MqFWUfc1DAXgmRwVFaJQAHsh
 | 
			
		||||
        VbYUU87diqWA934sl/TZ7wV2Lesx0gBwsO5/1Sl5PQhLQb+G+E+bfTm9KXsRAVgHrMK+jO9gbNEzzMSh
 | 
			
		||||
        6DlM9nANoa+kdCeLXLNLFtc9b2r6EXXdE4e4mdByNuG1AAAAAElFTkSuQmCC
 | 
			
		||||
</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbService.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>85, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbService.Text" xml:space="preserve">
 | 
			
		||||
    <value>  当前服务  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>223, 22</value>
 | 
			
		||||
  </data>
 | 
			
		||||
| 
						 | 
				
			
			@ -473,44 +510,10 @@
 | 
			
		|||
  <data name="tsbCheckClearPACList.Text" xml:space="preserve">
 | 
			
		||||
    <value>简化PAC (请设置Core路由)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>85, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbCheckUpdate.Text" xml:space="preserve">
 | 
			
		||||
    <value>  检查更新  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbAbout.Text" xml:space="preserve">
 | 
			
		||||
    <value>v2rayN 项目</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbV2rayWebsite.Text" xml:space="preserve">
 | 
			
		||||
    <value>V2Ray 官网</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>69, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbHelp.Text" xml:space="preserve">
 | 
			
		||||
    <value>   帮助   </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>68, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbPromotion.Text" xml:space="preserve">
 | 
			
		||||
    <value>    推广    </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
    <value>
 | 
			
		||||
        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
 | 
			
		||||
        wwAADsMBx2+oZAAAADJJREFUWEftzrENACAIRUFGdVMdTZkAG4zFXfI68kMAAD8ap9lUbpfyaDV19QAA
 | 
			
		||||
        8FDEBl3RImu5VcdbAAAAAElFTkSuQmCC
 | 
			
		||||
</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbClose.Size" type="System.Drawing.Size, System.Drawing">
 | 
			
		||||
    <value>76, 53</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbClose.Text" xml:space="preserve">
 | 
			
		||||
    <value>  关闭窗口  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="tsbQRCodeSwitch.Text" xml:space="preserve">
 | 
			
		||||
    <value>  分享  </value>
 | 
			
		||||
  </data>
 | 
			
		||||
</root>
 | 
			
		||||
| 
						 | 
				
			
			@ -116,14 +116,26 @@ namespace v2rayN
 | 
			
		|||
        /// </summary>
 | 
			
		||||
        public const string vmessProtocol = "vmess://";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// vmess
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string vmessProtocolLite = "vmess";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// shadowsocks
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string ssProtocol = "ss://";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// shadowsocks
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string ssProtocolLite = "shadowsocks";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// socks
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string socksProtocol = "socks://";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// socks
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string socksProtocolLite = "socks";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// http
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string httpProtocol = "http://";
 | 
			
		||||
| 
						 | 
				
			
			@ -131,6 +143,14 @@ namespace v2rayN
 | 
			
		|||
        /// https
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string httpsProtocol = "https://";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// vless
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string vlessProtocol = "vless://";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// vless
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string vlessProtocolLite = "vless";
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// pac
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -960,5 +960,56 @@ namespace v2rayN.Handler
 | 
			
		|||
            ToJsonFile(config);
 | 
			
		||||
            return 0;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 添加服务器或编辑
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="config"></param>
 | 
			
		||||
        /// <param name="vmessItem"></param>
 | 
			
		||||
        /// <param name="index"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        public static int AddVlessServer(ref Config config, VmessItem vmessItem, int index)
 | 
			
		||||
        {
 | 
			
		||||
            vmessItem.configVersion = 2;
 | 
			
		||||
            vmessItem.configType = (int)EConfigType.Vless;
 | 
			
		||||
 | 
			
		||||
            vmessItem.address = vmessItem.address.TrimEx();
 | 
			
		||||
            vmessItem.id = vmessItem.id.TrimEx();
 | 
			
		||||
            vmessItem.security = vmessItem.security.TrimEx();
 | 
			
		||||
            vmessItem.network = vmessItem.network.TrimEx();
 | 
			
		||||
            vmessItem.headerType = vmessItem.headerType.TrimEx();
 | 
			
		||||
            vmessItem.requestHost = vmessItem.requestHost.TrimEx();
 | 
			
		||||
            vmessItem.path = vmessItem.path.TrimEx();
 | 
			
		||||
            vmessItem.streamSecurity = vmessItem.streamSecurity.TrimEx();
 | 
			
		||||
 | 
			
		||||
            if (index >= 0)
 | 
			
		||||
            {
 | 
			
		||||
                //修改
 | 
			
		||||
                config.vmess[index] = vmessItem;
 | 
			
		||||
                if (config.index.Equals(index))
 | 
			
		||||
                {
 | 
			
		||||
                    Global.reloadV2ray = true;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                //添加
 | 
			
		||||
                if (Utils.IsNullOrEmpty(vmessItem.allowInsecure))
 | 
			
		||||
                {
 | 
			
		||||
                    vmessItem.allowInsecure = config.defAllowInsecure.ToString();
 | 
			
		||||
                }
 | 
			
		||||
                config.vmess.Add(vmessItem);
 | 
			
		||||
                if (config.vmess.Count == 1)
 | 
			
		||||
                {
 | 
			
		||||
                    config.index = 0;
 | 
			
		||||
                    Global.reloadV2ray = true;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            ToJsonFile(config);
 | 
			
		||||
 | 
			
		||||
            return 0;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -370,7 +370,7 @@ namespace v2rayN.Handler
 | 
			
		|||
                    StreamSettings streamSettings = outbound.streamSettings;
 | 
			
		||||
                    boundStreamSettings(config, "out", ref streamSettings);
 | 
			
		||||
 | 
			
		||||
                    outbound.protocol = "vmess";
 | 
			
		||||
                    outbound.protocol = Global.vmessProtocolLite;
 | 
			
		||||
                    outbound.settings.servers = null;
 | 
			
		||||
                }
 | 
			
		||||
                else if (config.configType() == (int)EConfigType.Shadowsocks)
 | 
			
		||||
| 
						 | 
				
			
			@ -398,7 +398,7 @@ namespace v2rayN.Handler
 | 
			
		|||
                    outbound.mux.concurrency = -1;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                    outbound.protocol = "shadowsocks";
 | 
			
		||||
                    outbound.protocol = Global.ssProtocolLite;
 | 
			
		||||
                    outbound.settings.vnext = null;
 | 
			
		||||
                }
 | 
			
		||||
                else if (config.configType() == (int)EConfigType.Socks)
 | 
			
		||||
| 
						 | 
				
			
			@ -435,9 +435,51 @@ namespace v2rayN.Handler
 | 
			
		|||
                    outbound.mux.enabled = false;
 | 
			
		||||
                    outbound.mux.concurrency = -1;
 | 
			
		||||
 | 
			
		||||
                    outbound.protocol = "socks";
 | 
			
		||||
                    outbound.protocol = Global.socksProtocolLite;
 | 
			
		||||
                    outbound.settings.vnext = null;
 | 
			
		||||
                }
 | 
			
		||||
                else if (config.configType() == (int)EConfigType.Vless)
 | 
			
		||||
                {
 | 
			
		||||
                    VnextItem vnextItem;
 | 
			
		||||
                    if (outbound.settings.vnext.Count <= 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        vnextItem = new VnextItem();
 | 
			
		||||
                        outbound.settings.vnext.Add(vnextItem);
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        vnextItem = outbound.settings.vnext[0];
 | 
			
		||||
                    }
 | 
			
		||||
                    //远程服务器地址和端口
 | 
			
		||||
                    vnextItem.address = config.address();
 | 
			
		||||
                    vnextItem.port = config.port();
 | 
			
		||||
 | 
			
		||||
                    UsersItem usersItem;
 | 
			
		||||
                    if (vnextItem.users.Count <= 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        usersItem = new UsersItem();
 | 
			
		||||
                        vnextItem.users.Add(usersItem);
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        usersItem = vnextItem.users[0];
 | 
			
		||||
                    }
 | 
			
		||||
                    //远程服务器用户ID
 | 
			
		||||
                    usersItem.id = config.id();
 | 
			
		||||
                    usersItem.email = Global.userEMail;
 | 
			
		||||
                    usersItem.encryption = config.security();
 | 
			
		||||
 | 
			
		||||
                    //Mux
 | 
			
		||||
                    outbound.mux.enabled = config.muxEnabled;
 | 
			
		||||
                    outbound.mux.concurrency = config.muxEnabled ? 8 : -1;
 | 
			
		||||
 | 
			
		||||
                    //远程服务器底层传输配置
 | 
			
		||||
                    StreamSettings streamSettings = outbound.streamSettings;
 | 
			
		||||
                    boundStreamSettings(config, "out", ref streamSettings);
 | 
			
		||||
 | 
			
		||||
                    outbound.protocol = Global.vlessProtocolLite;
 | 
			
		||||
                    outbound.settings.servers = null;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			@ -922,7 +964,7 @@ namespace v2rayN.Handler
 | 
			
		|||
                Outbounds outbound = v2rayConfig.outbounds[0];
 | 
			
		||||
                if (outbound == null
 | 
			
		||||
                    || Utils.IsNullOrEmpty(outbound.protocol)
 | 
			
		||||
                    || outbound.protocol != "vmess"
 | 
			
		||||
                    || outbound.protocol != Global.vmessProtocolLite
 | 
			
		||||
                    || outbound.settings == null
 | 
			
		||||
                    || outbound.settings.vnext == null
 | 
			
		||||
                    || outbound.settings.vnext.Count <= 0
 | 
			
		||||
| 
						 | 
				
			
			@ -1068,7 +1110,7 @@ namespace v2rayN.Handler
 | 
			
		|||
                Inbounds inbound = v2rayConfig.inbounds[0];
 | 
			
		||||
                if (inbound == null
 | 
			
		||||
                    || Utils.IsNullOrEmpty(inbound.protocol)
 | 
			
		||||
                    || inbound.protocol != "vmess"
 | 
			
		||||
                    || inbound.protocol != Global.vmessProtocolLite
 | 
			
		||||
                    || inbound.settings == null
 | 
			
		||||
                    || inbound.settings.clients == null
 | 
			
		||||
                    || inbound.settings.clients.Count <= 0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -422,6 +422,10 @@ namespace v2rayN.Mode
 | 
			
		|||
            {
 | 
			
		||||
                summary += string.Format("{0}({1}:{2})", remarks, addr, port);
 | 
			
		||||
            }
 | 
			
		||||
            if (configType == (int)EConfigType.Vless)
 | 
			
		||||
            {
 | 
			
		||||
                summary += string.Format("{0}({1}:{2})", remarks, addr, port);
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                summary += string.Format("{0}", remarks);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
 | 
			
		|||
// 方法是按如下所示使用“*”:
 | 
			
		||||
//[assembly: AssemblyVersion("1.0.*")]
 | 
			
		||||
//[assembly: AssemblyVersion("1.0.0")]
 | 
			
		||||
[assembly: AssemblyFileVersion("3.19")]
 | 
			
		||||
[assembly: AssemblyFileVersion("3.20")]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue