mirror of https://github.com/2dust/v2rayN
Advanced proxy settings, protocol selection (optional)
parent
19f9bff6fe
commit
aa41a8675e
|
@ -98,13 +98,14 @@
|
|||
this.labCoreType1 = new System.Windows.Forms.Label();
|
||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.label18 = new System.Windows.Forms.Label();
|
||||
this.cmbSystemProxyAdvancedProtocol = new System.Windows.Forms.ComboBox();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.txtsystemProxyExceptions = new System.Windows.Forms.TextBox();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.chkEnableSystemProxyAdvanced = new System.Windows.Forms.CheckBox();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
|
@ -581,7 +582,8 @@
|
|||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.chkEnableSystemProxyAdvanced);
|
||||
this.groupBox2.Controls.Add(this.label18);
|
||||
this.groupBox2.Controls.Add(this.cmbSystemProxyAdvancedProtocol);
|
||||
this.groupBox2.Controls.Add(this.label13);
|
||||
this.groupBox2.Controls.Add(this.label12);
|
||||
this.groupBox2.Controls.Add(this.txtsystemProxyExceptions);
|
||||
|
@ -589,6 +591,17 @@
|
|||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.TabStop = false;
|
||||
//
|
||||
// label18
|
||||
//
|
||||
resources.ApplyResources(this.label18, "label18");
|
||||
this.label18.Name = "label18";
|
||||
//
|
||||
// cmbSystemProxyAdvancedProtocol
|
||||
//
|
||||
this.cmbSystemProxyAdvancedProtocol.FormattingEnabled = true;
|
||||
resources.ApplyResources(this.cmbSystemProxyAdvancedProtocol, "cmbSystemProxyAdvancedProtocol");
|
||||
this.cmbSystemProxyAdvancedProtocol.Name = "cmbSystemProxyAdvancedProtocol";
|
||||
//
|
||||
// label13
|
||||
//
|
||||
resources.ApplyResources(this.label13, "label13");
|
||||
|
@ -623,12 +636,6 @@
|
|||
resources.ApplyResources(this.panel1, "panel1");
|
||||
this.panel1.Name = "panel1";
|
||||
//
|
||||
// chkEnableSystemProxyAdvanced
|
||||
//
|
||||
resources.ApplyResources(this.chkEnableSystemProxyAdvanced, "chkEnableSystemProxyAdvanced");
|
||||
this.chkEnableSystemProxyAdvanced.Name = "chkEnableSystemProxyAdvanced";
|
||||
this.chkEnableSystemProxyAdvanced.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// OptionSettingForm
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
|
@ -737,6 +744,7 @@
|
|||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TextBox txttrayMenuServersLimit;
|
||||
private System.Windows.Forms.Label label17;
|
||||
private System.Windows.Forms.CheckBox chkEnableSystemProxyAdvanced;
|
||||
private System.Windows.Forms.ComboBox cmbSystemProxyAdvancedProtocol;
|
||||
private System.Windows.Forms.Label label18;
|
||||
}
|
||||
}
|
|
@ -18,6 +18,8 @@ namespace v2rayN.Forms
|
|||
|
||||
private void OptionSettingForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
cmbSystemProxyAdvancedProtocol.Items.AddRange(Global.IEProxyProtocols.ToArray());
|
||||
|
||||
InitBase();
|
||||
|
||||
InitKCP();
|
||||
|
@ -59,7 +61,7 @@ namespace v2rayN.Forms
|
|||
|
||||
txtsystemProxyExceptions.Text = config.systemProxyExceptions;
|
||||
|
||||
chkEnableSystemProxyAdvanced.Checked = config.enableSystemProxyAdvanced;
|
||||
cmbSystemProxyAdvancedProtocol.Text = config.systemProxyAdvancedProtocol;
|
||||
}
|
||||
|
||||
|
||||
|
@ -255,7 +257,7 @@ namespace v2rayN.Forms
|
|||
|
||||
config.systemProxyExceptions = txtsystemProxyExceptions.Text.TrimEx();
|
||||
|
||||
config.enableSystemProxyAdvanced = chkEnableSystemProxyAdvanced.Checked;
|
||||
config.systemProxyAdvancedProtocol = cmbSystemProxyAdvancedProtocol.Text.TrimEx();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1851,33 +1851,57 @@
|
|||
<data name=">>tabPageCoreType.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="chkEnableSystemProxyAdvanced.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<data name="label18.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="label18.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="chkEnableSystemProxyAdvanced.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 328</value>
|
||||
<data name="label18.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 346</value>
|
||||
</data>
|
||||
<data name="chkEnableSystemProxyAdvanced.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>502, 16</value>
|
||||
<data name="label18.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>329, 12</value>
|
||||
</data>
|
||||
<data name="chkEnableSystemProxyAdvanced.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>43</value>
|
||||
<data name="label18.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>45</value>
|
||||
</data>
|
||||
<data name="chkEnableSystemProxyAdvanced.Text" xml:space="preserve">
|
||||
<value>Enable system proxy advanced settings, use socks protocol</value>
|
||||
<data name="label18.Text" xml:space="preserve">
|
||||
<value>Advanced proxy settings, protocol selection (optional)</value>
|
||||
</data>
|
||||
<data name=">>chkEnableSystemProxyAdvanced.Name" xml:space="preserve">
|
||||
<value>chkEnableSystemProxyAdvanced</value>
|
||||
<data name=">>label18.Name" xml:space="preserve">
|
||||
<value>label18</value>
|
||||
</data>
|
||||
<data name=">>chkEnableSystemProxyAdvanced.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name=">>label18.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=">>chkEnableSystemProxyAdvanced.Parent" xml:space="preserve">
|
||||
<data name=">>label18.Parent" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>chkEnableSystemProxyAdvanced.ZOrder" xml:space="preserve">
|
||||
<data name=">>label18.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="cmbSystemProxyAdvancedProtocol.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 371</value>
|
||||
</data>
|
||||
<data name="cmbSystemProxyAdvancedProtocol.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>638, 20</value>
|
||||
</data>
|
||||
<data name="cmbSystemProxyAdvancedProtocol.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>44</value>
|
||||
</data>
|
||||
<data name=">>cmbSystemProxyAdvancedProtocol.Name" xml:space="preserve">
|
||||
<value>cmbSystemProxyAdvancedProtocol</value>
|
||||
</data>
|
||||
<data name=">>cmbSystemProxyAdvancedProtocol.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>cmbSystemProxyAdvancedProtocol.Parent" xml:space="preserve">
|
||||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>cmbSystemProxyAdvancedProtocol.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label13.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
|
@ -1906,7 +1930,7 @@
|
|||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>label13.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="label12.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -1936,7 +1960,7 @@
|
|||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>label12.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="txtsystemProxyExceptions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 52</value>
|
||||
|
@ -1963,7 +1987,7 @@
|
|||
<value>groupBox2</value>
|
||||
</data>
|
||||
<data name=">>txtsystemProxyExceptions.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
|
|
|
@ -373,7 +373,7 @@
|
|||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>参数设置</value>
|
||||
</data>
|
||||
<data name="chkEnableSystemProxyAdvanced.Text" xml:space="preserve">
|
||||
<value>开启系统代理高级设置, 使用socks协议</value>
|
||||
<data name="label18.Text" xml:space="preserve">
|
||||
<value>高级代理设置, 协议选择(可选)</value>
|
||||
</data>
|
||||
</root>
|
|
@ -199,6 +199,13 @@ namespace v2rayN
|
|||
public const string StatisticLogOverall = "StatisticLogOverall.json";
|
||||
|
||||
public const string IEProxyExceptions = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*";
|
||||
public static readonly List<string> IEProxyProtocols = new List<string> {
|
||||
"{ip}:{http_port}",
|
||||
"socks={ip}:{socks_port}",
|
||||
"http={ip}:{http_port};https={ip}:{http_port};ftp={ip}:{http_port};socks={ip}:{socks_port}",
|
||||
"http=http://{ip}:{http_port};https=http://{ip}:{http_port}",
|
||||
""
|
||||
};
|
||||
|
||||
public const string RoutingRuleComma = "<COMMA>";
|
||||
|
||||
|
|
|
@ -70,13 +70,16 @@ namespace v2rayN.Handler
|
|||
var strExceptions = $"{config.constItem.defIEProxyExceptions};{config.systemProxyExceptions}";
|
||||
|
||||
var strProxy = string.Empty;
|
||||
if (config.enableSystemProxyAdvanced)
|
||||
if (Utils.IsNullOrEmpty(config.systemProxyAdvancedProtocol))
|
||||
{
|
||||
strProxy = $"socks={Global.Loopback}:{portSocks}";
|
||||
strProxy = $"{Global.Loopback}:{port}";
|
||||
}
|
||||
else
|
||||
{
|
||||
strProxy = $"{Global.Loopback}:{port}";
|
||||
strProxy = config.systemProxyAdvancedProtocol
|
||||
.Replace("{ip}", Global.Loopback)
|
||||
.Replace("{http_port}", port.ToString())
|
||||
.Replace("{socks_port}", portSocks.ToString());
|
||||
}
|
||||
SetIEProxy(true, strProxy, strExceptions);
|
||||
}
|
||||
|
|
|
@ -124,8 +124,8 @@ namespace v2rayN.Mode
|
|||
{
|
||||
get; set;
|
||||
}
|
||||
public bool enableSystemProxyAdvanced { get; set; }
|
||||
|
||||
public string systemProxyAdvancedProtocol { get; set; }
|
||||
|
||||
public int autoUpdateInterval { get; set; } = 0;
|
||||
|
||||
public int autoUpdateSubInterval { get; set; } = 0;
|
||||
|
|
Loading…
Reference in New Issue