diff --git a/v2rayN/ServiceLib/Resx/ResUI.Designer.cs b/v2rayN/ServiceLib/Resx/ResUI.Designer.cs
index 204c3402..0b0bed41 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.Designer.cs
+++ b/v2rayN/ServiceLib/Resx/ResUI.Designer.cs
@@ -19,7 +19,7 @@ namespace ServiceLib.Resx {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class ResUI {
@@ -2301,6 +2301,15 @@ namespace ServiceLib.Resx {
}
}
+ ///
+ /// 查找类似 Please set a valid domain 的本地化字符串。
+ ///
+ public static string ServerNameMustBeValidDomain {
+ get {
+ return ResourceManager.GetString("ServerNameMustBeValidDomain", resourceCulture);
+ }
+ }
+
///
/// 查找类似 {0} : {1}/s↑ | {2}/s↓ 的本地化字符串。
///
diff --git a/v2rayN/ServiceLib/Resx/ResUI.fa-Ir.resx b/v2rayN/ServiceLib/Resx/ResUI.fa-Ir.resx
index 5b13bc86..b2c1b834 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.fa-Ir.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.fa-Ir.resx
@@ -1615,4 +1615,7 @@ Do not use the "Fetch Certificate" button when "Allow Insecure" is enabled.
Fetch Certificate Chain
+
+ Please set a valid domain
+
\ No newline at end of file
diff --git a/v2rayN/ServiceLib/Resx/ResUI.fr.resx b/v2rayN/ServiceLib/Resx/ResUI.fr.resx
index 395058a5..cd12ae56 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.fr.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.fr.resx
@@ -1612,4 +1612,7 @@ Do not use the "Fetch Certificate" button when "Allow Insecure" is enabled.
Fetch Certificate Chain
+
+ Please set a valid domain
+
\ No newline at end of file
diff --git a/v2rayN/ServiceLib/Resx/ResUI.hu.resx b/v2rayN/ServiceLib/Resx/ResUI.hu.resx
index 9c530b4d..e85d739a 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.hu.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.hu.resx
@@ -1615,4 +1615,7 @@ Do not use the "Fetch Certificate" button when "Allow Insecure" is enabled.
Fetch Certificate Chain
+
+ Please set a valid domain
+
\ No newline at end of file
diff --git a/v2rayN/ServiceLib/Resx/ResUI.resx b/v2rayN/ServiceLib/Resx/ResUI.resx
index 4875265a..fce7c365 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.resx
@@ -1615,4 +1615,7 @@ Do not use the "Fetch Certificate" button when "Allow Insecure" is enabled.
Fetch Certificate Chain
+
+ Please set a valid domain
+
\ No newline at end of file
diff --git a/v2rayN/ServiceLib/Resx/ResUI.ru.resx b/v2rayN/ServiceLib/Resx/ResUI.ru.resx
index a0d95e29..935808e9 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.ru.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.ru.resx
@@ -1615,4 +1615,7 @@ Do not use the "Fetch Certificate" button when "Allow Insecure" is enabled.
Fetch Certificate Chain
+
+ Please set a valid domain
+
\ No newline at end of file
diff --git a/v2rayN/ServiceLib/Resx/ResUI.zh-Hans.resx b/v2rayN/ServiceLib/Resx/ResUI.zh-Hans.resx
index b00731aa..a0c63318 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.zh-Hans.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.zh-Hans.resx
@@ -1612,4 +1612,7 @@
获取证书链
+
+ 请设置有效的域名
+
\ No newline at end of file
diff --git a/v2rayN/ServiceLib/Resx/ResUI.zh-Hant.resx b/v2rayN/ServiceLib/Resx/ResUI.zh-Hant.resx
index 0b81d0aa..a16f0ea9 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.zh-Hant.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.zh-Hant.resx
@@ -1612,4 +1612,7 @@ Do not use the "Fetch Certificate" button when "Allow Insecure" is enabled.
Fetch Certificate Chain
+
+ Please set a valid domain
+
\ No newline at end of file
diff --git a/v2rayN/ServiceLib/ViewModels/AddServerViewModel.cs b/v2rayN/ServiceLib/ViewModels/AddServerViewModel.cs
index 4c468c2f..9b7a0ae0 100644
--- a/v2rayN/ServiceLib/ViewModels/AddServerViewModel.cs
+++ b/v2rayN/ServiceLib/ViewModels/AddServerViewModel.cs
@@ -111,9 +111,18 @@ public class AddServerViewModel : MyReactiveObject
return;
}
var domain = SelectedSource.Address;
- var serverName = SelectedSource.Sni.IsNullOrEmpty() ? SelectedSource.Address : SelectedSource.Sni;
+ var serverName = SelectedSource.Sni;
+ if (serverName.IsNullOrEmpty())
+ {
+ serverName = SelectedSource.RequestHost;
+ }
+ if (serverName.IsNullOrEmpty())
+ {
+ serverName = SelectedSource.Address;
+ }
if (!Utils.IsDomain(serverName))
{
+ NoticeManager.Instance.Enqueue(ResUI.ServerNameMustBeValidDomain);
return;
}
if (SelectedSource.Port > 0)
@@ -130,9 +139,18 @@ public class AddServerViewModel : MyReactiveObject
return;
}
var domain = SelectedSource.Address;
- var serverName = SelectedSource.Sni.IsNullOrEmpty() ? SelectedSource.Address : SelectedSource.Sni;
+ var serverName = SelectedSource.Sni;
+ if (serverName.IsNullOrEmpty())
+ {
+ serverName = SelectedSource.RequestHost;
+ }
+ if (serverName.IsNullOrEmpty())
+ {
+ serverName = SelectedSource.Address;
+ }
if (!Utils.IsDomain(serverName))
{
+ NoticeManager.Instance.Enqueue(ResUI.ServerNameMustBeValidDomain);
return;
}
if (SelectedSource.Port > 0)