diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index 11ec3fdd..f1e073ab 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -319,16 +319,15 @@ namespace v2rayN.Forms private void DisplayToolStatus() { - var localIP = "127.0.0.1"; toolSslSocksPort.Text = toolSslHttpPort.Text = toolSslPacPort.Text = "NONE"; - toolSslSocksPort.Text = $"{localIP}:{config.inbound[0].localPort}"; + toolSslSocksPort.Text = $"{Global.Loopback}:{config.inbound[0].localPort}"; if (config.sysAgentEnabled) { - toolSslHttpPort.Text = $"{localIP}:{Global.sysAgentPort}"; + toolSslHttpPort.Text = $"{Global.Loopback}:{Global.sysAgentPort}"; if (config.listenerType == 2 || config.listenerType == 4) { if (PACServerHandle.IsRunning) @@ -363,7 +362,7 @@ namespace v2rayN.Forms color = (new Color[] { Color.Red, Color.Purple, Color.DarkGreen, Color.Orange })[index - 1]; //color = ColorTranslator.FromHtml(new string[] { "#CC0066", "#CC6600", "#99CC99", "#666699" }[index - 1]); } - + var width = 128; var height = 128; @@ -607,7 +606,7 @@ namespace v2rayN.Forms private void menuRealPingServer_Click(object sender, EventArgs e) { - if (!config.sysAgentEnabled || config.listenerType != 1) + if (!config.sysAgentEnabled) { UI.Show(UIRes.I18N("NeedHttpGlobalProxy")); return; @@ -622,7 +621,7 @@ namespace v2rayN.Forms private void menuSpeedServer_Click(object sender, EventArgs e) { - if (!config.sysAgentEnabled || config.listenerType != 1) + if (!config.sysAgentEnabled) { UI.Show(UIRes.I18N("NeedHttpGlobalProxy")); return; @@ -1045,7 +1044,7 @@ namespace v2rayN.Forms #endregion #region 后台测速 - + private void SetTestResult(int k, string txt) { config.vmess[k].testResult = txt; @@ -1299,7 +1298,7 @@ namespace v2rayN.Forms } else { - v2rayUpdateHandle.DownloadFileAsync(config, url); + v2rayUpdateHandle.DownloadFileAsync(config, url, false); } })); } @@ -1537,6 +1536,6 @@ namespace v2rayN.Forms #endregion - + } } diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.resx index 1ec5f048..e5c266e3 100644 --- a/v2rayN/v2rayN/Forms/OptionSettingForm.resx +++ b/v2rayN/v2rayN/Forms/OptionSettingForm.resx @@ -143,10 +143,982 @@ 0 + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage1 + + + 0 + + + 4, 22 + + + + 3, 3, 3, 3 + + + 630, 579 + + + 0 + + + Core: basic settings + + + tabPage1 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 0 + + + Fill + + + 3, 3 + + + 0 + + + True + + + Vertical + + + 604, 414 + + + 0 + + + txtUseragent + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage3 + + + 0 + + + 4, 22 + + + 3, 3, 3, 3 + + + 610, 420 + + + 0 + + + Proxy's Domain or IP + + + tabPage3 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl2 + + + 0 + + + Fill + + + 3, 3 + + + 0 + + + True + + + Vertical + + + 604, 414 + + + 1 + + + txtUserdirect + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage4 + + + 0 + + + 4, 22 + + + 3, 3, 3, 3 + + + 610, 420 + + + 1 + + + Directly connected Domain or IP + + + tabPage4 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl2 + + + 1 + + + Fill + + + 3, 3 + + + 0 + + + True + + + Vertical + + + 604, 414 + + + 1 + + + txtUserblock + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage5 + + + 0 + + + 4, 22 + + + 3, 3, 3, 3 + + + 610, 420 + + + 2 + + + Blocked Domain or IP + + + tabPage5 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl2 + + + 2 + + + Fill + + + 3, 124 + + + 618, 446 + + + 12 + + + tabControl2 + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 0 + + + btnSetDefRountingRule + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 0 + + + cmbdomainStrategy + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 1 + + + labRoutingTips + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 2 + + + label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 3 + + + label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 4 + + + cmbroutingMode + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 5 + + + Top + + + 3, 17 + + + 618, 107 + + + 19 + + + panel3 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 1 + + + Fill + + + 3, 3 + + + 624, 573 + + + 12 + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage2 + + + 0 + + + 4, 22 + + + 3, 3, 3, 3 + + + 630, 579 + + + 1 + + + Core: Routing settings + + + tabPage2 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 1 + + + chkKcpcongestion + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 0 + + + txtKcpwriteBufferSize + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 1 + + + label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 2 + + + txtKcpreadBufferSize + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 3 + + + label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 4 + + + txtKcpdownlinkCapacity + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 5 + + + label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 6 + + + txtKcpuplinkCapacity + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 7 + + + label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 8 + + + txtKcptti + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 9 + + + label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 10 + + + txtKcpmtu + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 11 + + + label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage6 + + + 12 + + + 4, 22 + + + 3, 3, 3, 3 + + + 630, 579 + + + 2 + + + Core: KCP settings + + + tabPage6 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 2 + + + cbFreshrate + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 0 + + + tbCacheDays + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 1 + + + lbFreshrate + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 2 + + + lbCacheDays + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 3 + + + chkEnableStatistics + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 4 + + + chkAllowLANConn + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 5 + + + txturlGFWList + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 6 + + + label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 7 + + + chkAutoRun + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage7 + + + 8 + + + 4, 22 + + + 3, 3, 3, 3 + + + 630, 579 + + + 3 + + + v2rayN settings + + + tabPage7 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 3 + + + Fill + + + 0, 10 + + + 638, 605 + + + 10 + + + tabControl1 + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + chksniffingEnabled2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + chksniffingEnabled + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + txtremoteDNS + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 2 + + + label14 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 3 + + + chkmuxEnabled + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 4 + + + chkAllowIn2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 5 + + + chkudpEnabled2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 6 + + + cmbprotocol2 + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 7 + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 8 + + + txtlocalPort2 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 9 + + + cmbprotocol + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 10 + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 11 + + + chkudpEnabled + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 12 + + + chklogEnabled + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 13 + + + cmbloglevel + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 14 + + + label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 15 + + + txtlocalPort + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 16 + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 17 + + + Fill + + + 3, 3 + + + 624, 573 + + + 6 + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage1 + + + 0 + True - NoControl @@ -639,252 +1611,6 @@ 17 - - Fill - - - 3, 3 - - - 624, 573 - - - 6 - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage1 - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 630, 579 - - - 0 - - - Core: basic settings - - - tabPage1 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 0 - - - Fill - - - 3, 3 - - - True - - - Vertical - - - 604, 414 - - - 0 - - - txtUseragent - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage3 - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 610, 420 - - - 0 - - - Proxy's Domain or IP - - - tabPage3 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl2 - - - 0 - - - Fill - - - 3, 3 - - - True - - - Vertical - - - 604, 414 - - - 1 - - - txtUserdirect - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage4 - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 610, 420 - - - 1 - - - Directly connected Domain or IP - - - tabPage4 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl2 - - - 1 - - - Fill - - - 3, 3 - - - True - - - Vertical - - - 604, 414 - - - 1 - - - txtUserblock - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage5 - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 610, 420 - - - 2 - - - Blocked Domain or IP - - - tabPage5 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl2 - - - 2 - - - Fill - - - 3, 124 - - - 618, 446 - - - 12 - - - tabControl2 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 0 - 356, 43 @@ -1056,81 +1782,6 @@ 5 - - Top - - - 3, 17 - - - 618, 107 - - - 19 - - - panel3 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 1 - - - Fill - - - 3, 3 - - - 624, 573 - - - 12 - - - groupBox2 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage2 - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 630, 579 - - - 1 - - - Core: Routing settings - - - tabPage2 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 1 - True @@ -1446,33 +2097,6 @@ 12 - - 4, 22 - - - 3, 3, 3, 3 - - - 630, 579 - - - 2 - - - Core: KCP settings - - - tabPage6 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 2 - 161, 82 @@ -1704,69 +2328,6 @@ 8 - - 4, 22 - - - 3, 3, 3, 3 - - - 630, 579 - - - 3 - - - v2rayN settings - - - tabPage7 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 3 - - - Fill - - - 0, 10 - - - 638, 605 - - - 10 - - - tabControl1 - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 0 - - - 267, 16 - - - 75, 23 - - - 8 - - - &OK - btnOK @@ -1803,6 +2364,30 @@ 1 + + 267, 16 + + + 75, 23 + + + 8 + + + &OK + + + btnOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 1 + Top diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs index 2027cc78..94534f20 100644 --- a/v2rayN/v2rayN/Global.cs +++ b/v2rayN/v2rayN/Global.cs @@ -147,10 +147,10 @@ namespace v2rayN /// public const string CustomIconName = "v2rayN.ico"; + public const string Loopback = "127.0.0.1"; public const string InboundAPITagName = "api"; - public const string InboundProxyTagName = "proxy"; - public const string Loopback = "127.0.0.1"; + public const string InboundProxyTagName = "proxy"; public const string InboundAPIProtocal = "dokodemo-door"; public enum StatisticsFreshRate diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs index f96dd00d..cba9e741 100644 --- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs +++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs @@ -232,7 +232,7 @@ namespace v2rayN.Handler testCounter++; - v2rayUpdateHandle2.DownloadFileAsync(_config, url); + v2rayUpdateHandle2.DownloadFileAsync(_config, url,true); return 0; } @@ -276,6 +276,7 @@ namespace v2rayN.Handler { HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); myHttpWebRequest.Timeout = 5000; + myHttpWebRequest.Proxy = new WebProxy(Global.Loopback, Global.sysAgentPort); var timer = new Stopwatch(); timer.Start(); diff --git a/v2rayN/v2rayN/Handler/StatisticsHandler.cs b/v2rayN/v2rayN/Handler/StatisticsHandler.cs index 766d4021..c6074b66 100644 --- a/v2rayN/v2rayN/Handler/StatisticsHandler.cs +++ b/v2rayN/v2rayN/Handler/StatisticsHandler.cs @@ -95,7 +95,7 @@ namespace v2rayN.Handler { Global.statePort = GetFreePort(); - channel_ = new Channel($"127.0.0.1:{Global.statePort}", ChannelCredentials.Insecure); + channel_ = new Channel($"{Global.Loopback}:{Global.statePort}", ChannelCredentials.Insecure); channel_.ConnectAsync(); client_ = new StatsService.StatsServiceClient(channel_); } diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs index 712e8350..f9e08998 100644 --- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs @@ -159,7 +159,7 @@ namespace v2rayN.Handler } else { - inbound.listen = "127.0.0.1"; + inbound.listen = Global.Loopback; } //开启udp inbound.settings.udp = config.inbound[0].udpEnabled; diff --git a/v2rayN/v2rayN/Handler/V2rayUpdateHandle.cs b/v2rayN/v2rayN/Handler/V2rayUpdateHandle.cs index 2de80f26..e26eff00 100644 --- a/v2rayN/v2rayN/Handler/V2rayUpdateHandle.cs +++ b/v2rayN/v2rayN/Handler/V2rayUpdateHandle.cs @@ -92,7 +92,7 @@ namespace v2rayN.Handler } - public void DownloadFileAsync(Config config, string url) + public void DownloadFileAsync(Config config, string url, bool blProxy) { try { @@ -100,12 +100,17 @@ namespace v2rayN.Handler ServicePointManager.DefaultConnectionLimit = 256; if (UpdateCompleted != null) { - UpdateCompleted(this, new ResultEventArgs(false, url)); + UpdateCompleted(this, new ResultEventArgs(false, "Downloading...")); } progressPercentage = -1; WebClientEx ws = new WebClientEx(); + if (blProxy) + { + ws.Proxy = new WebProxy(Global.Loopback, Global.sysAgentPort); + } + ws.DownloadFileCompleted += ws_DownloadFileCompleted; ws.DownloadProgressChanged += ws_DownloadProgressChanged; ws.DownloadFileAsync(new Uri(url), Utils.GetPath(DownloadFileName)); @@ -216,6 +221,6 @@ namespace v2rayN.Handler } } - + } } diff --git a/v2rayN/v2rayN/HttpProxyHandler/HttpProxyHandle.cs b/v2rayN/v2rayN/HttpProxyHandler/HttpProxyHandle.cs index fd11820b..d2282c31 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/HttpProxyHandle.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/HttpProxyHandle.cs @@ -47,7 +47,7 @@ namespace v2rayN.HttpProxyHandler { PACServerHandle.Stop(); PACFileWatcherHandle.StopWatch(); - SysProxyHandle.SetIEProxy(true, true, "127.0.0.1:" + port, null); + SysProxyHandle.SetIEProxy(true, true, $"{Global.Loopback}:{port}", null); } else if (type == 2) { @@ -168,8 +168,8 @@ namespace v2rayN.HttpProxyHandler public static string GetPacUrl() { - string pacUrl = string.Format("http://127.0.0.1:{0}/pac/?t={1}", Global.pacPort, - GetTimestamp(DateTime.Now)); + string pacUrl = $"http://{Global.Loopback}:{Global.pacPort}/pac/?t={GetTimestamp(DateTime.Now)}"; + return pacUrl; } diff --git a/v2rayN/v2rayN/HttpProxyHandler/PACListHandle.cs b/v2rayN/v2rayN/HttpProxyHandler/PACListHandle.cs index 2d021a3b..8aaa0822 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/PACListHandle.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/PACListHandle.cs @@ -46,7 +46,7 @@ namespace v2rayN.HttpProxyHandler //{ // throw new Exception("未发现HTTP代理,无法设置代理更新"); //} - WebClient http = new WebClient(); + var http = new WebClientEx(); //http.Headers.Add("Connection", "Close"); //http.Proxy = new WebProxy(IPAddress.Loopback.ToString(), httpProxy.localPort); http.DownloadStringCompleted += http_DownloadStringCompleted; diff --git a/v2rayN/v2rayN/HttpProxyHandler/PACServerHandle.cs b/v2rayN/v2rayN/HttpProxyHandler/PACServerHandle.cs index 01561103..21e3fd6c 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/PACServerHandle.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/PACServerHandle.cs @@ -31,11 +31,11 @@ namespace v2rayN.HttpProxyHandler //{ // pacPort = Global.pacPort; //} - if (InitServer("127.0.0.1")) + if (InitServer(Global.Loopback)) { pacPort = Global.pacPort; } - else if (InitServerB("127.0.0.1")) + else if (InitServerB(Global.Loopback)) { pacPort = Global.pacPort; } diff --git a/v2rayN/v2rayN/HttpProxyHandler/PrivoxyHandler.cs b/v2rayN/v2rayN/HttpProxyHandler/PrivoxyHandler.cs index 169ed1df..939f1415 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/PrivoxyHandler.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/PrivoxyHandler.cs @@ -99,7 +99,7 @@ namespace v2rayN.HttpProxyHandler } else { - privoxyConfig = privoxyConfig.Replace("__PRIVOXY_BIND_IP__", "127.0.0.1"); + privoxyConfig = privoxyConfig.Replace("__PRIVOXY_BIND_IP__", Global.Loopback); } FileManager.ByteArrayToFile(Utils.GetTempPath(_uniqueConfigFile), Encoding.UTF8.GetBytes(privoxyConfig)); diff --git a/v2rayN/v2rayN/HttpProxyHandler/SysProxyHandle.cs b/v2rayN/v2rayN/HttpProxyHandler/SysProxyHandle.cs index a2397740..e8056ec2 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/SysProxyHandle.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/SysProxyHandle.cs @@ -49,14 +49,14 @@ namespace v2rayN.HttpProxyHandler public static void SetIEProxy(bool enable, bool global, string proxyServer, string pacURL) { - Read(); + //Read(); - if (!_userSettings.UserSettingsRecorded) - { - // record user settings - ExecSysproxy("query"); - ParseQueryStr(_queryStr); - } + //if (!_userSettings.UserSettingsRecorded) + //{ + // // record user settings + // ExecSysproxy("query"); + // ParseQueryStr(_queryStr); + //} string arguments; if (enable) @@ -71,17 +71,19 @@ namespace v2rayN.HttpProxyHandler else { // restore user settings - var flags = _userSettings.Flags; - var proxy_server = _userSettings.ProxyServer ?? "-"; - var bypass_list = _userSettings.BypassList ?? "-"; - var pac_url = _userSettings.PacUrl ?? "-"; - arguments = string.Format("set {0} {1} {2} {3}", flags, proxy_server, bypass_list, pac_url); + //var flags = _userSettings.Flags; + //var proxy_server = _userSettings.ProxyServer ?? "-"; + //var bypass_list = _userSettings.BypassList ?? "-"; + //var pac_url = _userSettings.PacUrl ?? "-"; + ////arguments = string.Format("set {0} {1} {2} {3}", flags, proxy_server, bypass_list, pac_url); + //set null settings + arguments = string.Format("set {0} {1} {2} {3}", 1, "-", "", @"http://127.0.0.1"); // have to get new settings - _userSettings.UserSettingsRecorded = false; + //_userSettings.UserSettingsRecorded = false; } - Save(); + //Save(); ExecSysproxy(arguments); } diff --git a/v2rayN/v2rayN/HttpProxyHandler/WebClientEx.cs b/v2rayN/v2rayN/HttpProxyHandler/WebClientEx.cs index 2ce644d5..3b141f85 100644 --- a/v2rayN/v2rayN/HttpProxyHandler/WebClientEx.cs +++ b/v2rayN/v2rayN/HttpProxyHandler/WebClientEx.cs @@ -5,17 +5,42 @@ namespace v2rayN.HttpProxyHandler { class WebClientEx : WebClient { - public int Timeout { get; set; } + public int Timeout + { + get; set; + } public WebClientEx(int timeout = 3000) { Timeout = timeout; } - protected override WebRequest GetWebRequest(Uri address) { - var request = base.GetWebRequest(address); + HttpWebRequest request; + if (address.Scheme == "https") + { + ServicePointManager.ServerCertificateValidationCallback = (a, b, c, d) => { return true; }; + request = (HttpWebRequest)base.GetWebRequest(address); + request.ProtocolVersion = HttpVersion.Version10; + } + else + { + request = (HttpWebRequest)base.GetWebRequest(address); + } + request.Timeout = Timeout; + request.ReadWriteTimeout = Timeout; + //request.AllowAutoRedirect = false; + //request.AllowWriteStreamBuffering = true; + + request.ServicePoint.BindIPEndPointDelegate = (servicePoint, remoteEndPoint, retryCount) => + { + if (remoteEndPoint.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6) + return new IPEndPoint(IPAddress.IPv6Any, 0); + else + return new IPEndPoint(IPAddress.Any, 0); + }; + return request; } } diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs index 789bb76b..ec178c4d 100644 --- a/v2rayN/v2rayN/Properties/AssemblyInfo.cs +++ b/v2rayN/v2rayN/Properties/AssemblyInfo.cs @@ -33,4 +33,4 @@ using System.Runtime.InteropServices; // 方法是按如下所示使用“*”: //[assembly: AssemblyVersion("1.0.*")] //[assembly: AssemblyVersion("1.0.0")] -[assembly: AssemblyFileVersion("2.43")] +[assembly: AssemblyFileVersion("2.45")]