From 56c1557f4a2af2783f4dd13feb6b2902f6a90653 Mon Sep 17 00:00:00 2001
From: rprx <63339210+rprx@users.noreply.github.com>
Date: Fri, 24 Apr 2020 02:57:38 +0000
Subject: [PATCH 01/17] =?UTF-8?q?=E5=85=81=E8=AE=B8=E4=B8=8D=E5=AE=89?=
=?UTF-8?q?=E5=85=A8=E8=BF=9E=E6=8E=A5=20->=20=E8=B7=B3=E8=BF=87=E8=AF=81?=
=?UTF-8?q?=E4=B9=A6=E9=AA=8C=E8=AF=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
https://github.com/2dust/v2rayN/pull/733
---
v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx | 2 +-
v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
index f67b8e59..45df68bf 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
@@ -149,7 +149,7 @@
203, 12
- 允许不安全连接(allowInsecure)
+ 跳过证书验证(allowInsecure)
223, 7
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx
index 318f91cd..81c0d92c 100644
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx
@@ -128,7 +128,7 @@
222, 16
- 底层传输安全选tls时,默认允许不安全连接(allowInsecure)
+ 底层传输安全选tls时,默认跳过证书验证(allowInsecure)
53, 12
From 70069a05e613f9476afa2b403dfb3db5e878e779 Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Thu, 4 Jun 2020 08:08:30 +0800
Subject: [PATCH 02/17] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 0d557a38..c1197a8b 100644
--- a/README.md
+++ b/README.md
@@ -7,4 +7,4 @@
### Requirements
- Microsoft [.NET Framework 4.6](https://docs.microsoft.com/zh-cn/dotnet/framework/install/guide-for-developers) or higher
-- Project V core [https://github.com/v2ray/v2ray-core/releases](https://github.com/v2ray/v2ray-core/releases)
+- Project V core [https://github.com/v2fly/v2ray-core/releases](https://github.com/v2fly/v2ray-core/releases)
From a799420d0f86e2cce753e23214131259f0894314 Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Thu, 4 Jun 2020 08:31:18 +0800
Subject: [PATCH 03/17] v2fly
---
v2rayN/v2rayN/Global.cs | 2 +-
v2rayN/v2rayN/Handler/DownloadHandle.cs | 6 +++---
v2rayN/v2rayN/Handler/V2rayHandler.cs | 2 +-
v2rayN/v2rayN/Properties/AssemblyInfo.cs | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs
index 58ed9d5a..01181dfb 100644
--- a/v2rayN/v2rayN/Global.cs
+++ b/v2rayN/v2rayN/Global.cs
@@ -6,7 +6,7 @@ namespace v2rayN
#region 常量
- public const string v2rayWebsiteUrl = @"https://www.v2ray.com/";
+ public const string v2rayWebsiteUrl = @"https://www.v2fly.org/";
public const string AboutUrl = @"https://github.com/2dust/v2rayN";
public const string UpdateUrl = AboutUrl + @"/releases";
diff --git a/v2rayN/v2rayN/Handler/DownloadHandle.cs b/v2rayN/v2rayN/Handler/DownloadHandle.cs
index bd3f4e62..67a936f2 100644
--- a/v2rayN/v2rayN/Handler/DownloadHandle.cs
+++ b/v2rayN/v2rayN/Handler/DownloadHandle.cs
@@ -54,8 +54,8 @@ namespace v2rayN.Handler
private readonly string nLatestUrl = "https://github.com/2dust/v2rayN/releases/latest";
private const string nUrl = "https://github.com/2dust/v2rayN/releases/download/{0}/v2rayN.zip";
- private readonly string coreLatestUrl = "https://github.com/v2ray/v2ray-core/releases/latest";
- private const string coreUrl = "https://github.com/v2ray/v2ray-core/releases/download/{0}/v2ray-windows-{1}.zip";
+ private readonly string coreLatestUrl = "https://github.com/v2fly/v2ray-core/releases/latest";
+ private const string coreUrl = "https://github.com/v2fly/v2ray-core/releases/download/{0}/v2ray-windows-{1}.zip";
public async void CheckUpdateAsync(string type)
{
@@ -101,7 +101,7 @@ namespace v2rayN.Handler
string filePath = Utils.GetPath("V2ray.exe");
if (!File.Exists(filePath))
{
- string msg = string.Format(UIRes.I18N("NotFoundCore"), @"https://github.com/v2ray/v2ray-core/releases");
+ string msg = string.Format(UIRes.I18N("NotFoundCore"), @"https://github.com/v2fly/v2ray-core/releases");
//ShowMsg(true, msg);
return "";
}
diff --git a/v2rayN/v2rayN/Handler/V2rayHandler.cs b/v2rayN/v2rayN/Handler/V2rayHandler.cs
index e367bef2..cc6c404e 100644
--- a/v2rayN/v2rayN/Handler/V2rayHandler.cs
+++ b/v2rayN/v2rayN/Handler/V2rayHandler.cs
@@ -174,7 +174,7 @@ namespace v2rayN.Handler
}
if (Utils.IsNullOrEmpty(fileName))
{
- string msg = string.Format(UIRes.I18N("NotFoundCore"), @"https://github.com/v2ray/v2ray-core/releases");
+ string msg = string.Format(UIRes.I18N("NotFoundCore"), @"https://github.com/v2fly/v2ray-core/releases");
ShowMsg(false, msg);
}
return fileName;
diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs
index 505b9e16..97197c1b 100644
--- a/v2rayN/v2rayN/Properties/AssemblyInfo.cs
+++ b/v2rayN/v2rayN/Properties/AssemblyInfo.cs
@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
// 方法是按如下所示使用“*”:
//[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0")]
-[assembly: AssemblyFileVersion("3.17")]
+[assembly: AssemblyFileVersion("3.19")]
From 2615b72cee86f4603bbd102798f070bdab1f01df Mon Sep 17 00:00:00 2001
From: Mozi <29089388+pzhlkj6612@users.noreply.github.com>
Date: Sat, 6 Jun 2020 12:09:04 +0800
Subject: [PATCH 04/17] Run `v2rayUpgrade.exe` in the same folder as
`v2rayN.exe`
---
v2rayN/v2rayN/Forms/MainForm.cs | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs
index bf61cc5b..3ca10813 100644
--- a/v2rayN/v2rayN/Forms/MainForm.cs
+++ b/v2rayN/v2rayN/Forms/MainForm.cs
@@ -1298,7 +1298,16 @@ namespace v2rayN.Forms
try
{
string fileName = Utils.GetPath(downloadHandle.DownloadFileName);
- Process process = Process.Start("v2rayUpgrade.exe", "\"" + fileName + "\"");
+ Process process = new Process
+ {
+ StartInfo = new ProcessStartInfo
+ {
+ FileName = "v2rayUpgrade.exe",
+ Arguments = "\"" + fileName + "\"",
+ WorkingDirectory = Utils.StartupPath()
+ }
+ };
+ process.Start();
if (process.Id > 0)
{
menuExit_Click(null, null);
From 4f39f7a93256c58f8bf9e7d24f9d302042164049 Mon Sep 17 00:00:00 2001
From: Mozi <29089388+pzhlkj6612@users.noreply.github.com>
Date: Mon, 8 Jun 2020 15:33:22 +0800
Subject: [PATCH 05/17] Properly parse shadowsocks URL
1. Parse the URL containing "colon" or "at sign" in the password.
2. Check the empty fields in the URL.
---
v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 42 ++++++++++++++++-----
1 file changed, 32 insertions(+), 10 deletions(-)
diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
index 9ea93933..b3f25e06 100644
--- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
@@ -1266,22 +1266,44 @@ namespace v2rayN.Handler
result = Utils.Base64Decode(result);
}
- string[] arr1 = result.Split('@');
- if (arr1.Length != 2)
+ //密码中可能包含“@”,所以从后往前搜索
+ int indexAddressAndPort = result.LastIndexOf("@");
+ if (indexAddressAndPort < 0)
{
return null;
}
- string[] arr21 = arr1[0].Split(':');
- //string[] arr22 = arr1[1].Split(':');
- int indexPort = arr1[1].LastIndexOf(":");
- if (arr21.Length != 2 || indexPort < 0)
+ string addressAndPort = result.Substring(indexAddressAndPort + 1);
+ string securityAndId = result.Substring(0, indexAddressAndPort);
+
+ //IPv6地址中包含“:”,所以从后往前搜索
+ int indexPort = addressAndPort.LastIndexOf(":");
+ if (indexPort < 0)
{
return null;
}
- vmessItem.address = arr1[1].Substring(0, indexPort);
- vmessItem.port = Utils.ToInt(arr1[1].Substring(indexPort + 1, arr1[1].Length - (indexPort + 1)));
- vmessItem.security = arr21[0];
- vmessItem.id = arr21[1];
+
+ //加密方式中不包含“:”,所以从前往后搜索
+ int indexId = securityAndId.IndexOf(":");
+ if (indexId < 0)
+ {
+ return null;
+ }
+
+ string address = addressAndPort.Substring(0, indexPort);
+ string port = addressAndPort.Substring(indexPort + 1);
+ string security = securityAndId.Substring(0, indexId);
+ string id = securityAndId.Substring(indexId + 1);
+
+ //所有字段均不能为空
+ if (address.Length == 0 || port.Length == 0 || security.Length == 0 || id.Length == 0)
+ {
+ return null;
+ }
+
+ vmessItem.address = address;
+ vmessItem.port = Utils.ToInt(port);
+ vmessItem.security = security;
+ vmessItem.id = id;
}
else if (result.StartsWith(Global.socksProtocol))
{
From 088d2e68340b2859eba1d807f90fe968e3eb7d24 Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Tue, 30 Jun 2020 16:41:31 +0800
Subject: [PATCH 06/17] Update SpeedtestHandler.cs
---
v2rayN/v2rayN/Handler/SpeedtestHandler.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
index d8556722..91523091 100644
--- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
+++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs
@@ -190,7 +190,7 @@ namespace v2rayN.Handler
_updateFunc(testCounter, args.GetException().Message);
};
- var timeout = 12;
+ var timeout = 10;
foreach (int itemIndex in _selecteds)
{
if (itemIndex >= _config.vmess.Count)
From 93b8dec63e3854155ca2b49880ef709c01439710 Mon Sep 17 00:00:00 2001
From: Student Main
Date: Sun, 19 Jul 2020 20:05:00 +0800
Subject: [PATCH 07/17] ctrl cv sswindows
---
v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 169 ++++++++++++--------
v2rayN/v2rayN/v2rayN.csproj | 1 +
2 files changed, 106 insertions(+), 64 deletions(-)
diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
index b3f25e06..45422941 100644
--- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
@@ -1,8 +1,12 @@
using System;
using System.Collections.Generic;
+using System.Collections.Specialized;
using System.IO;
using System.Linq;
using System.Net;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Web;
using v2rayN.Base;
using v2rayN.Mode;
@@ -392,7 +396,7 @@ namespace v2rayN.Handler
outbound.mux.enabled = false;
outbound.mux.concurrency = -1;
-
+
outbound.protocol = "shadowsocks";
outbound.settings.vnext = null;
@@ -454,7 +458,7 @@ namespace v2rayN.Handler
{
//远程服务器底层传输配置
streamSettings.network = config.network();
- string host = config.requestHost();
+ string host = config.requestHost();
//if tls
if (config.streamSecurity() == Global.StreamSecurity)
{
@@ -1242,68 +1246,21 @@ namespace v2rayN.Handler
{
msg = UIRes.I18N("ConfigurationFormatIncorrect");
+ vmessItem = ResolveSSLegacy(result);
+ if (vmessItem == null)
+ {
+ vmessItem = ResolveSip002(result);
+ }
+ if (vmessItem == null)
+ {
+ return null;
+ }
+ if (vmessItem.address.Length == 0 || vmessItem.port == 0 || vmessItem.security.Length == 0 || vmessItem.id.Length == 0)
+ {
+ return null;
+ }
+
vmessItem.configType = (int)EConfigType.Shadowsocks;
- result = result.Substring(Global.ssProtocol.Length);
- //remark
- int indexRemark = result.IndexOf("#");
- if (indexRemark > 0)
- {
- try
- {
- vmessItem.remarks = WebUtility.UrlDecode(result.Substring(indexRemark + 1, result.Length - indexRemark - 1));
- }
- catch { }
- result = result.Substring(0, indexRemark);
- }
- //part decode
- int indexS = result.IndexOf("@");
- if (indexS > 0)
- {
- result = Utils.Base64Decode(result.Substring(0, indexS)) + result.Substring(indexS, result.Length - indexS);
- }
- else
- {
- result = Utils.Base64Decode(result);
- }
-
- //密码中可能包含“@”,所以从后往前搜索
- int indexAddressAndPort = result.LastIndexOf("@");
- if (indexAddressAndPort < 0)
- {
- return null;
- }
- string addressAndPort = result.Substring(indexAddressAndPort + 1);
- string securityAndId = result.Substring(0, indexAddressAndPort);
-
- //IPv6地址中包含“:”,所以从后往前搜索
- int indexPort = addressAndPort.LastIndexOf(":");
- if (indexPort < 0)
- {
- return null;
- }
-
- //加密方式中不包含“:”,所以从前往后搜索
- int indexId = securityAndId.IndexOf(":");
- if (indexId < 0)
- {
- return null;
- }
-
- string address = addressAndPort.Substring(0, indexPort);
- string port = addressAndPort.Substring(indexPort + 1);
- string security = securityAndId.Substring(0, indexId);
- string id = securityAndId.Substring(indexId + 1);
-
- //所有字段均不能为空
- if (address.Length == 0 || port.Length == 0 || security.Length == 0 || id.Length == 0)
- {
- return null;
- }
-
- vmessItem.address = address;
- vmessItem.port = Utils.ToInt(port);
- vmessItem.security = security;
- vmessItem.id = id;
}
else if (result.StartsWith(Global.socksProtocol))
{
@@ -1428,6 +1385,90 @@ namespace v2rayN.Handler
return vmessItem;
}
+ private static VmessItem ResolveSip002(string result)
+ {
+ Uri parsedUrl;
+ try
+ {
+ parsedUrl = new Uri(result);
+ }
+ catch (UriFormatException)
+ {
+ return null;
+ }
+ VmessItem server = new VmessItem
+ {
+ remarks = parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped),
+ address = parsedUrl.IdnHost,
+ port = parsedUrl.Port,
+ };
+
+ // parse base64 UserInfo
+ string rawUserInfo = parsedUrl.GetComponents(UriComponents.UserInfo, UriFormat.Unescaped);
+ string base64 = rawUserInfo.Replace('-', '+').Replace('_', '/'); // Web-safe base64 to normal base64
+ string userInfo;
+ try
+ {
+ userInfo = Encoding.UTF8.GetString(Convert.FromBase64String(
+ base64.PadRight(base64.Length + (4 - base64.Length % 4) % 4, '=')));
+ }
+ catch (FormatException)
+ {
+ return null;
+ }
+ string[] userInfoParts = userInfo.Split(new char[] { ':' }, 2);
+ if (userInfoParts.Length != 2)
+ {
+ return null;
+ }
+ server.security = userInfoParts[0];
+ server.id = userInfoParts[1];
+
+ NameValueCollection queryParameters = HttpUtility.ParseQueryString(parsedUrl.Query);
+ string[] pluginParts = (queryParameters["plugin"] ?? "").Split(new[] { ';' }, 2);
+ if (pluginParts.Length > 0)
+ {
+ return null;
+ }
+
+ return server;
+ }
+
+ private static readonly Regex UrlFinder = new Regex(@"ss://(?[A-Za-z0-9+-/=_]+)(?:#(?\S+))?", RegexOptions.IgnoreCase);
+ private static readonly Regex DetailsParser = new Regex(@"^((?.+?):(?.*)@(?.+?):(?\d+?))$", RegexOptions.IgnoreCase);
+
+ private static VmessItem ResolveSSLegacy(string result)
+ {
+ var match = UrlFinder.Match(result);
+ if (!match.Success)
+ return null;
+
+ VmessItem server = new VmessItem();
+ var base64 = match.Groups["base64"].Value.TrimEnd('/');
+ var tag = match.Groups["tag"].Value;
+ if (!tag.IsNullOrEmpty())
+ {
+ server.remarks = HttpUtility.UrlDecode(tag, Encoding.UTF8);
+ }
+ Match details;
+ try
+ {
+ details = DetailsParser.Match(Encoding.UTF8.GetString(Convert.FromBase64String(
+ base64.PadRight(base64.Length + (4 - base64.Length % 4) % 4, '='))));
+ }
+ catch (FormatException)
+ {
+ return null;
+ }
+ if (!details.Success)
+ return null;
+ server.security = details.Groups["method"].Value;
+ server.id = details.Groups["password"].Value;
+ server.address = details.Groups["hostname"].Value;
+ server.port = int.Parse(details.Groups["port"].Value);
+ return server;
+ }
+
#endregion
#region Gen speedtest config
@@ -1449,7 +1490,7 @@ namespace v2rayN.Handler
msg = UIRes.I18N("InitialConfiguration");
- Config configCopy = Utils.DeepCopy(config);
+ Config configCopy = Utils.DeepCopy(config);
string result = Utils.GetEmbedText(SampleClient);
if (Utils.IsNullOrEmpty(result))
diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj
index 64ece7d3..308d38cd 100644
--- a/v2rayN/v2rayN/v2rayN.csproj
+++ b/v2rayN/v2rayN/v2rayN.csproj
@@ -93,6 +93,7 @@
+
From e313e004eb8d815ee5a5322ba10df1afc0e91b2b Mon Sep 17 00:00:00 2001
From: Student Main
Date: Sun, 19 Jul 2020 21:03:14 +0800
Subject: [PATCH 08/17] vmess
---
v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 80 ++++++++++++++++++++-
1 file changed, 77 insertions(+), 3 deletions(-)
diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
index 45422941..1830e6af 100644
--- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
@@ -1199,7 +1199,7 @@ namespace v2rayN.Handler
int indexSplit = result.IndexOf("?");
if (indexSplit > 0)
{
- vmessItem = ResolveVmess4Kitsunebi(result);
+ vmessItem = ResolveVmess4Vmess(result) ?? ResolveVmess4Kitsunebi(result);
}
else
{
@@ -1425,8 +1425,7 @@ namespace v2rayN.Handler
server.id = userInfoParts[1];
NameValueCollection queryParameters = HttpUtility.ParseQueryString(parsedUrl.Query);
- string[] pluginParts = (queryParameters["plugin"] ?? "").Split(new[] { ';' }, 2);
- if (pluginParts.Length > 0)
+ if (queryParameters["plugin"] != null)
{
return null;
}
@@ -1469,6 +1468,81 @@ namespace v2rayN.Handler
return server;
}
+
+ private static VmessItem ResolveVmess4Vmess(string result)
+ {
+ VmessItem i = new VmessItem();
+
+ Uri u = new Uri(result);
+
+ var uinfo = u.UserInfo;
+ var uinfo12 = uinfo.Split(':');
+ if (uinfo12.Length != 2) return null;
+ var user = uinfo12[0];
+ var pass = uinfo12[1];
+ var passsp = pass.LastIndexOf('-');
+ var id = pass.Substring(0, passsp);
+ var aid = pass.Substring(passsp + 1);
+ i.address = u.IdnHost;
+ i.port = u.Port;
+ i.id = id;
+ i.alterId = int.Parse(aid);
+ i.remarks = u.GetComponents(UriComponents.Fragment, UriFormat.Unescaped);
+
+
+ var query = u.Query;
+
+ var q = HttpUtility.ParseQueryString(u.Query);
+
+ if (user.EndsWith("+tls"))
+ {
+ user = user.Split('+')[0];
+ i.streamSecurity = "tls";
+ // TODO tlsServerName
+ }
+ i.network = user;
+ switch (user)
+ {
+ case "tcp":
+ string t1 = q["type"] ?? "none";
+ i.headerType = t1;
+ // TODO t = http, parse http option
+
+
+ break;
+ case "kcp":
+ string t2 = q["type"] ?? "none";
+ i.headerType = t2;
+ // TODO seed
+ break;
+ case "ws":
+ string p1 = q["path"] ?? "/";
+ string h1 = q["host"] ?? "";
+ i.requestHost = h1;
+ i.path = p1;
+ break;
+
+ case "http":
+ i.network = "h2";
+ string p2 = q["path"] ?? "/";
+ string h2 = q["host"] ?? "";
+ i.requestHost = h2;
+ i.path = p2;
+ break;
+
+ case "quic":
+ string s = q["security"] ?? "none";
+ string k = q["key"] ?? "";
+ string t3 = q["type"] ?? "none";
+ i.headerType = t3;
+ i.requestHost = s;
+ i.path = k;
+ break;
+
+ }
+
+ return i;
+ }
#endregion
#region Gen speedtest config
From 4e8ea374d8024f8a7ef49af35100e2713aa68b73 Mon Sep 17 00:00:00 2001
From: Student Main
Date: Thu, 23 Jul 2020 17:15:30 +0800
Subject: [PATCH 09/17] regex vmess url
---
v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 69 ++++++++++++---------
1 file changed, 41 insertions(+), 28 deletions(-)
diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
index 1830e6af..127f2b7a 100644
--- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
@@ -1199,7 +1199,7 @@ namespace v2rayN.Handler
int indexSplit = result.IndexOf("?");
if (indexSplit > 0)
{
- vmessItem = ResolveVmess4Vmess(result) ?? ResolveVmess4Kitsunebi(result);
+ vmessItem = ResolveStdVmess(result) ?? ResolveVmess4Kitsunebi(result);
}
else
{
@@ -1469,52 +1469,63 @@ namespace v2rayN.Handler
}
- private static VmessItem ResolveVmess4Vmess(string result)
+ private static readonly Regex StdVmessUserInfo = new Regex(
+ @"^(?[a-z]+)(\+(?[a-z]+))?:(?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-(?[0-9]+)$");
+
+ private static VmessItem ResolveStdVmess(string result)
{
- VmessItem i = new VmessItem();
+ VmessItem i = new VmessItem
+ {
+ configType = (int)EConfigType.Vmess,
+ security = "auto"
+ };
Uri u = new Uri(result);
- var uinfo = u.UserInfo;
- var uinfo12 = uinfo.Split(':');
- if (uinfo12.Length != 2) return null;
- var user = uinfo12[0];
- var pass = uinfo12[1];
- var passsp = pass.LastIndexOf('-');
- var id = pass.Substring(0, passsp);
- var aid = pass.Substring(passsp + 1);
i.address = u.IdnHost;
i.port = u.Port;
- i.id = id;
- i.alterId = int.Parse(aid);
i.remarks = u.GetComponents(UriComponents.Fragment, UriFormat.Unescaped);
-
-
- var query = u.Query;
-
var q = HttpUtility.ParseQueryString(u.Query);
- if (user.EndsWith("+tls"))
+ var m = StdVmessUserInfo.Match(u.UserInfo);
+ if (!m.Success) return null;
+
+ i.id = m.Groups["id"].Value;
+ if (!int.TryParse(m.Groups["alterId"].Value, out int aid))
{
- user = user.Split('+')[0];
- i.streamSecurity = "tls";
- // TODO tlsServerName
+ return null;
}
- i.network = user;
- switch (user)
+ i.alterId = aid;
+
+ if (m.Groups["streamSecurity"].Success)
+ {
+ i.streamSecurity = m.Groups["streamSecurity"].Value;
+ }
+ switch (i.streamSecurity)
+ {
+ case "tls":
+ // TODO tls config
+ break;
+ default:
+ if (!string.IsNullOrWhiteSpace(i.streamSecurity))
+ return null;
+ break;
+ }
+
+ i.network = m.Groups["network"].Value;
+ switch (i.network)
{
case "tcp":
string t1 = q["type"] ?? "none";
i.headerType = t1;
- // TODO t = http, parse http option
-
+ // TODO http option
break;
case "kcp":
- string t2 = q["type"] ?? "none";
- i.headerType = t2;
- // TODO seed
+ i.headerType = q["type"] ?? "none";
+ // TODO kcp seed
break;
+
case "ws":
string p1 = q["path"] ?? "/";
string h1 = q["host"] ?? "";
@@ -1539,6 +1550,8 @@ namespace v2rayN.Handler
i.path = k;
break;
+ default:
+ return null;
}
return i;
From 1dcb72e9dc2cecd389ccb9642f2a033da9ac399c Mon Sep 17 00:00:00 2001
From: RPRX <63339210+rprx@users.noreply.github.com>
Date: Fri, 31 Jul 2020 14:06:30 +0000
Subject: [PATCH 10/17] Update link
---
v2rayN/v2rayN/Forms/OptionSettingForm.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.cs
index bbfec412..78d4eeff 100644
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.cs
+++ b/v2rayN/v2rayN/Forms/OptionSettingForm.cs
@@ -444,7 +444,7 @@ namespace v2rayN.Forms
private void linkLabelRoutingDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
- System.Diagnostics.Process.Start("https://www.v2fly.org/chapter_02/03_routing.html");
+ System.Diagnostics.Process.Start("https://www.v2fly.org/config/routing.html");
}
}
From ba68f5008b00eb81db10d6e9767de7bd9edfd9af Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Fri, 7 Aug 2020 16:00:39 +0800
Subject: [PATCH 11/17] up UI
---
v2rayN/v2rayN/Forms/AddServerForm.Designer.cs | 90 +-
v2rayN/v2rayN/Forms/AddServerForm.resx | 2286 ++++++++---------
.../v2rayN/Forms/AddServerForm.zh-Hans.resx | 42 +-
3 files changed, 1209 insertions(+), 1209 deletions(-)
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
index 31ae1b74..a96b32ab 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
+++ b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
@@ -39,8 +39,11 @@
this.panTlsMore = new System.Windows.Forms.Panel();
this.label21 = new System.Windows.Forms.Label();
this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
+ this.label9 = new System.Windows.Forms.Label();
this.label20 = new System.Windows.Forms.Label();
this.txtPath = new System.Windows.Forms.TextBox();
+ this.cmbNetwork = new System.Windows.Forms.ComboBox();
+ this.label7 = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.label17 = new System.Windows.Forms.Label();
@@ -53,10 +56,7 @@
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.cmbHeaderType = new System.Windows.Forms.ComboBox();
- this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
- this.cmbNetwork = new System.Windows.Forms.ComboBox();
- this.label7 = new System.Windows.Forms.Label();
this.cmbSecurity = new System.Windows.Forms.ComboBox();
this.txtRemarks = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
@@ -87,22 +87,18 @@
//
// btnClose
//
- resources.ApplyResources(this.btnClose, "btnClose");
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ resources.ApplyResources(this.btnClose, "btnClose");
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);
- this.groupBox1.Controls.Add(this.label9);
this.groupBox1.Controls.Add(this.label8);
- this.groupBox1.Controls.Add(this.cmbNetwork);
- this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Controls.Add(this.cmbSecurity);
this.groupBox1.Controls.Add(this.txtRemarks);
this.groupBox1.Controls.Add(this.label6);
@@ -115,6 +111,7 @@
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;
//
@@ -132,12 +129,14 @@
//
// groupBox2
//
- resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Controls.Add(this.label24);
this.groupBox2.Controls.Add(this.label23);
this.groupBox2.Controls.Add(this.panTlsMore);
+ this.groupBox2.Controls.Add(this.label9);
this.groupBox2.Controls.Add(this.label20);
this.groupBox2.Controls.Add(this.txtPath);
+ this.groupBox2.Controls.Add(this.cmbNetwork);
+ this.groupBox2.Controls.Add(this.label7);
this.groupBox2.Controls.Add(this.label19);
this.groupBox2.Controls.Add(this.label18);
this.groupBox2.Controls.Add(this.label17);
@@ -150,6 +149,7 @@
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,15 +177,20 @@
//
// 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
+ //
+ resources.ApplyResources(this.label9, "label9");
+ this.label9.Name = "label9";
+ //
// label20
//
resources.ApplyResources(this.label20, "label20");
@@ -196,6 +201,25 @@
resources.ApplyResources(this.txtPath, "txtPath");
this.txtPath.Name = "txtPath";
//
+ // cmbNetwork
+ //
+ this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbNetwork.FormattingEnabled = true;
+ this.cmbNetwork.Items.AddRange(new object[] {
+ resources.GetString("cmbNetwork.Items"),
+ resources.GetString("cmbNetwork.Items1"),
+ 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);
+ //
+ // label7
+ //
+ resources.ApplyResources(this.label7, "label7");
+ this.label7.Name = "label7";
+ //
// label19
//
resources.ApplyResources(this.label19, "label19");
@@ -228,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);
//
@@ -259,7 +283,6 @@
//
// cmbHeaderType
//
- resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbHeaderType.FormattingEnabled = true;
this.cmbHeaderType.Items.AddRange(new object[] {
@@ -270,40 +293,16 @@
resources.GetString("cmbHeaderType.Items4"),
resources.GetString("cmbHeaderType.Items5"),
resources.GetString("cmbHeaderType.Items6")});
+ resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
this.cmbHeaderType.Name = "cmbHeaderType";
//
- // label9
- //
- resources.ApplyResources(this.label9, "label9");
- this.label9.Name = "label9";
- //
// label8
//
resources.ApplyResources(this.label8, "label8");
this.label8.Name = "label8";
//
- // cmbNetwork
- //
- resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
- this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbNetwork.FormattingEnabled = true;
- this.cmbNetwork.Items.AddRange(new object[] {
- resources.GetString("cmbNetwork.Items"),
- resources.GetString("cmbNetwork.Items1"),
- resources.GetString("cmbNetwork.Items2"),
- resources.GetString("cmbNetwork.Items3"),
- resources.GetString("cmbNetwork.Items4")});
- this.cmbNetwork.Name = "cmbNetwork";
- this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
- //
- // label7
- //
- resources.ApplyResources(this.label7, "label7");
- this.label7.Name = "label7";
- //
// cmbSecurity
//
- resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbSecurity.FormattingEnabled = true;
this.cmbSecurity.Items.AddRange(new object[] {
@@ -311,6 +310,7 @@
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
//
- resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
this.MenuItemImportClient.Name = "MenuItemImportClient";
+ resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click);
//
// MenuItemImportServer
//
- resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
this.MenuItemImportServer.Name = "MenuItemImportServer";
+ resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click);
//
// toolStripSeparator1
//
- resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
this.toolStripSeparator1.Name = "toolStripSeparator1";
+ resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
//
// MenuItemImportClipboard
//
- resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
this.MenuItemImportClipboard.Name = "MenuItemImportClipboard";
+ resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
//
// AddServerForm
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.resx b/v2rayN/v2rayN/Forms/AddServerForm.resx
index 107bae98..832dd782 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.resx
+++ b/v2rayN/v2rayN/Forms/AddServerForm.resx
@@ -117,1249 +117,1249 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 7
-
-
- 113, 12
-
-
- 12
-
-
- 285, 203
-
-
- 124, 30
-
-
- groupBox2
-
-
- 9
-
-
- Path
-
-
- 83, 12
-
-
- Transport protocol(network)
-
-
- 10
-
-
- panTlsMore
-
-
- groupBox1
-
-
- 1
-
-
- label15
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- cmbStreamSecurity
-
-
- 3)h2 host Separated by commas (,)
-
-
-
- Top
-
-
-
- 3
-
-
- 17
-
-
- false
-
-
- 16
-
-
- True
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 5
-
-
- 21
-
-
- 411, 83
-
-
- Address
-
-
- groupBox1
-
-
- 59, 12
-
-
- 1)ws path
-
-
- 19
-
-
- True
-
-
- 26
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtId
-
-
- True
-
-
- 729, 474
-
-
-
-
-
- 12, 89
-
-
- groupBox2
-
-
- tls
-
-
- True
-
-
- 299, 12
-
-
- panTlsMore
-
-
- 13
-
-
- aes-128-gcm
-
-
- groupBox1
-
-
- 127, 85
-
-
- 13
-
-
- 12, 203
-
-
- 1
-
-
- label10
-
-
- 723, 234
-
-
- 4
-
-
- label21
-
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 143, 12
-
-
- groupBox2
-
-
- toolStripSeparator1
-
-
- NoControl
-
-
- 21
-
-
- label11
-
-
- 5
-
-
- 158, 58
-
-
- 2
-
-
- 29, 12
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 234, 6
-
-
- 237, 22
-
-
- TLS
-
-
- 3)QUIC key
-
-
- 127, 56
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtPort
-
-
- 2
-
-
- groupBox1
-
-
- Bottom
-
-
- True
-
-
- 127, 199
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 29, 12
-
-
- ws
-
-
- 16
-
-
- 9, 34
-
-
- 18
-
-
- Import server configuration
-
-
- 6, 12
-
-
- 1
-
-
- 7
-
-
- 15
-
-
- label17
-
-
- panel1
-
-
- label14
-
-
- groupBox2
-
-
- 5
-
-
- 215, 12
-
-
- 0, 0
-
396, 17
-
- 338, 35
+
+ 75, 23
-
- 12, 60
-
-
- MenuItemImportClient
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- &Generate
-
-
- Encryption method (security)
-
-
- none
-
-
- txtRemarks
-
-
- 47, 12
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- groupBox2
-
-
- panel2
-
-
- true
-
-
- panTlsMore
-
-
- True
-
-
- 127, 114
-
-
- 284, 189
-
-
- 95, 12
-
-
- NoControl
-
-
- 353, 175
-
-
- cmbNetwork
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 22
-
-
- groupBox1
-
-
- True
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 127, 27
-
-
- label12
-
-
- AlterId
-
-
- True
-
-
- 282, 34
-
-
- 9
-
-
- 25
-
-
- label23
-
-
- groupBox1
-
-
- 143, 20
-
-
- 1
-
-
- $this
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 33
-
-
- 6
-
-
- none
-
-
- 0
-
-
- 47, 12
-
-
- label8
+
+
+ 4
&Cancel
-
- label13
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtAlterId
-
-
- 35
-
-
- 10
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 11
-
-
- True
-
-
- 469, 53
-
-
- label9
-
-
- label20
-
-
- 124, 125
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- label18
-
-
- MenuItem1
-
-
- label1
-
-
- 13
-
-
- 34
-
-
- 143, 20
-
-
- groupBox2
-
-
- True
-
btnClose
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- label19
-
-
- 143, 21
-
-
- 95, 12
-
-
- groupBox1
-
-
- 0, 35
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 729, 60
-
-
- allowInsecure
-
-
- True
-
-
- 469, 83
-
-
- $this
-
-
- quic
-
-
- groupBox2
-
-
- h2
-
-
- kcp
-
-
- 7
-
-
- 143, 21
-
-
- 526, 130
-
-
- 18
-
-
- 12, 147
-
-
- 15
-
-
- groupBox1
-
-
- label2
-
-
- groupBox2
-
-
- 24
-
-
- groupBox2
-
-
- 119, 12
-
-
- True
-
-
- True
-
-
- Bottom
-
-
- 91, 20
-
-
- 27
-
-
- 23
-
-
- groupBox2
-
-
- 14
-
-
- Port
-
-
- groupBox2
-
-
- Fill
-
-
- chacha20-poly1305
-
-
- 15
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0
-
-
- 75, 23
-
-
- 4
-
-
- True
-
-
- 8
-
-
- groupBox1
-
-
- 8
-
-
- *Recommended (auto)
-
-
- 195, 143
-
-
- 3
-
-
- groupBox1
-
-
- 0, 509
-
-
- 143, 20
-
-
- 23
-
-
- 6
-
-
- 7
-
-
- 14
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- 3, 237
-
-
- Import configuration file
-
-
- wechat-video
-
-
- 12
-
-
- 23, 12
-
-
- 729, 10
-
-
- 470, 99
-
-
- True
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 22
-
-
- 396, 54
-
-
- 300, 53
-
-
- 1)http host Separated by commas (,)
-
-
- 12, 31
-
-
- 11
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- dtls
-
-
- MenuItemImportServer
-
-
- groupBox2
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
panel2
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 0
-
+
+ 411, 83
+
+
+ 75, 23
+
+
+ 23
+
+
+ &Generate
+
+
+ btnGUID
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
groupBox1
-
- AddServerForm
-
-
- wireguard
-
-
- groupBox1
-
-
-
-
-
- Server
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 303, 17
-
-
- 2)ws host
-
-
- groupBox1
-
-
- txtAddress
+
+ 0
True
-
- 2)h2 path
+
+ 285, 179
-
- True
+
+ 113, 12
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 167, 12
-
-
- 8
-
-
- Keep the default value if it is not clear
-
-
- groupBox2
+
+ 22
* Fill in manually
-
- 9, 125
+
+ label13
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 1
+
+
+ True
+
+
+
+ NoControl
+
+
+ 526, 197
+
+
+ 65, 12
+
+
+ 35
+
+
+ 3)QUIC key
+
+
+ label24
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 12
+
+ groupBox2
-
+
+ 0
+
+
+ True
+
+
+ NoControl
+
+
+ 470, 131
+
+
+ 89, 12
+
+
+ 34
+
+
+ 4)QUIC securty
+
+
+ label23
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 1
+
+
True
12, 11
-
- 89, 12
+
+ 83, 12
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 31
-
- 143, 21
+
+ allowInsecure
-
- 1
+
+ label21
-
- 65, 12
-
-
- txtPath
-
-
- 162, 21
-
-
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- txtRequestHost
+
+ panTlsMore
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 0
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
-
- Alias (remarks)
+
+ true
-
- groupBox2
+
+ false
-
- label7
+
+ 107, 7
-
- 4
+
+ 91, 20
+
+
+ 30
cmbAllowInsecure
-
- &OK
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 6
+
+ panTlsMore
-
+
+ 1
+
+
+ 284, 234
+
+
+ 338, 35
+
+
+ 33
+
+
+ panTlsMore
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 2
+
+
+ True
+
+
+ 350, 32
+
+
+ 113, 12
+
+
+ 15
+
+
+ *Default value tcp
+
+
+ label9
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
3
-
- http
+
+ True
-
+
+ 469, 115
+
+
+ 203, 12
+
+
+ 29
+
+
+ 3)h2 host Separated by commas (,)
+
+
+ label20
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 4
+
+
+ 124, 157
+
+
+ True
+
+
+ 396, 54
+
+
+ 28
+
+
+ txtPath
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 5
+
+
+ tcp
+
+
+ kcp
+
+
+ ws
+
+
+ h2
+
+
+ quic
+
+
+ 192, 28
+
+
+ 143, 20
+
+
+ 12
+
+
+ cmbNetwork
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 6
+
+
+ True
+
+
+ 9, 32
+
+
+ 167, 12
+
+
+ 13
+
+
+ Transport protocol(network)
+
+
+ label7
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 7
+
+
+ True
+
+
+ 9, 157
+
+
+ 29, 12
+
+
+ 27
+
+
+ Path
+
+
+ label19
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 8
+
+
True
- 526, 147
+ 526, 179
-
- 6
+
+ 59, 12
-
+
+ 26
+
+
+ 2)h2 path
+
+
+ label18
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
groupBox2
-
- menuServer
+
+ 9
+
+
+ True
+
+
+ 469, 100
+
+
+ 59, 12
+
+
+ 25
+
+
+ 2)ws host
+
+
+ label17
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 10
+
+
+ True
+
+
+ 526, 162
+
+
+ 59, 12
+
+
+ 24
+
+
+ 1)ws path
+
+
+ label16
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 11
+
+
+ True
+
+
+ 469, 85
+
+
+ 215, 12
+
+
+ 23
+
+
+ 1)http host Separated by commas (,)
+
+
+ label14
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 12
+
+
+ True
+
+
+ 9, 246
+
+
+ 23, 12
+
+
+ 22
+
+
+ TLS
+
+
+ label15
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 13
+
+
+
+
+
+ tls
+
+
+ 124, 242
+
+
+ 143, 20
+
+
+ 21
+
+
+ cmbStreamSecurity
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 14
+
+
+ True
+
+
+ 282, 66
+
+
+ 299, 12
20
+
+ *tcp or kcp or QUIC camouflage type, default none
+
+
+ label12
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 15
+
+
+ 158, 90
+
+
+ True
+
+
+ 300, 53
+
+
+ 16
+
+
+ txtRequestHost
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 16
+
+
+ True
+
+
+ 9, 66
+
+
+ 95, 12
+
+
+ 19
+
+
+ Camouflage type
+
+
+ label11
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 17
+
+
+ True
+
+
+ 9, 94
+
+
+ 143, 12
+
+
+ 17
+
+
+ Camouflage domain(host)
+
+
+ label10
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 18
+
+
+ none
+
+
+ http
+
+
+ srtp
+
+
+ utp
+
+
+ wechat-video
+
+
+ dtls
+
+
+ wireguard
+
+
+ 124, 62
+
+
+ 143, 20
+
+
+ 18
+
+
+ cmbHeaderType
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 19
+
+
+ Bottom
+
+
+ 3, 215
+
+
+ 723, 281
+
+
+ 21
+
+
+ Transport
+
+
+ groupBox2
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 2
+
+
+ True
+
+
+ 353, 147
+
+
+ 119, 12
+
+
+ 14
+
+
+ *Recommended (auto)
+
+
+ label8
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 3
+
+
+ aes-128-gcm
+
+
+ chacha20-poly1305
+
+
+ auto
+
+
+ none
+
+
+ 195, 143
+
+
+ 143, 20
+
+
+ 6
+
+
+ cmbSecurity
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 4
+
+
+ 127, 175
+
+
+ 143, 21
+
+
+ 11
+
+
+ txtRemarks
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 5
+
+
+ True
+
+
+ 12, 179
+
+
+ 95, 12
+
+
+ 10
+
+
+ Alias (remarks)
+
+
+ label6
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 6
+
+
+ True
+
+
+ 12, 147
+
+
+ 173, 12
+
+
+ 8
+
+
+ Encryption method (security)
+
+
+ label5
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 1
+
+ groupBox1
-
+
+ 7
+
+
+ 127, 114
+
+
+ 143, 21
+
+
+ 7
+
+
+ txtAlterId
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 8
+
+
+ True
+
+
+ 12, 118
+
+
+ 47, 12
+
+
+ 6
+
+
+ AlterId
+
+
+ label4
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 9
+
+
+ 127, 85
+
+
+ 278, 21
+
+
+ 5
+
+
+ txtId
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 10
+
+
+ True
+
+
+ 12, 89
+
+
+ 53, 12
+
+
4
UUID(id)
-
- $this
-
-
- MenuItemImportClipboard
-
-
- $this
-
-
- 3
-
-
- groupBox1
-
-
- 237, 22
-
-
- 143, 20
-
-
- True
-
-
- 5
-
-
- 0
-
-
- Camouflage domain(host)
-
-
- 0
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 113, 12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 195, 171
-
-
- 203, 12
-
-
- utp
-
-
- 124, 197
-
-
- 30
-
-
- 17
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 359, 21
-
-
- 29
-
-
- auto
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 469, 68
-
-
- 2
-
-
- 9, 62
-
label3
-
- srtp
-
-
- 8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Import URL from clipboard
-
-
- True
-
-
- 75, 23
-
-
- 173, 12
-
-
- *Default value tcp
-
-
- 0
-
-
- 729, 569
-
-
- label4
-
-
- 31
-
-
- True
-
-
- 9, 201
-
-
- 353, 147
-
-
- Edit or add a [VMess] server
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 11
-
-
- groupBox1
-
-
- label5
-
-
- 3
-
-
- label16
-
-
- btnOK
-
-
- 237, 22
-
-
- 16
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 28
-
-
- 107, 7
-
-
- groupBox1
-
-
- Import client configuration
-
-
- 12, 118
-
-
- 4)QUIC securty
-
-
- 0, 25
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- cmbSecurity
-
-
- tcp
-
-
- 6
-
-
- btnGUID
-
-
- 75, 23
-
-
- *tcp or kcp or QUIC camouflage type, default none
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- Camouflage type
-
-
- 0
-
-
- groupBox2
-
-
- 278, 21
-
-
- 12, 175
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- label24
-
-
- 59, 12
-
-
- panel2
-
-
- 14
-
-
- groupBox2
-
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+ groupBox1
+
+
+ 11
+
+
+ 127, 56
+
+
+ 143, 21
+
+
+ 3
+
+
+ txtPort
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 12
+
+
True
-
- label6
+
+ 12, 60
-
- 59, 12
+
+ 29, 12
-
- 10
+
+ 2
-
- 729, 25
+
+ Port
-
- cmbHeaderType
+
+ label2
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 526, 165
+
+ groupBox1
+
+
+ 13
+
+
+ 127, 27
+
+
+ 359, 21
+
+
+ 1
+
+
+ txtAddress
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 14
+
+
+ True
+
+
+ 12, 31
+
+
+ 47, 12
+
+
+ 0
+
+
+ Address
+
+
+ label1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 15
+
+
+ Fill
+
+
+ 0, 35
+
+
+ 729, 499
+
+
+ 3
+
+
+ Server
+
+
+ groupBox1
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ 303, 17
+
+
+ 75, 23
+
+
+ 5
+
+
+ &OK
+
+
+ btnOK
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panel2
+
+
+ 1
+
+
+ Bottom
+
+
+ 0, 534
+
+
+ 729, 60
+
+
+ 7
+
+
+ panel2
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
+
+ Top
+
+
+ 0, 25
+
+
+ 729, 10
+
+
+ 6
+
+
+ panel1
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
2
-
- 53, 12
+
+ 17, 17
+
+
+ 237, 22
+
+
+ Import client configuration
+
+
+ 237, 22
+
+
+ Import server configuration
+
+
+ 234, 6
+
+
+ 237, 22
+
+
+ Import URL from clipboard
+
+
+ 162, 21
+
+
+ Import configuration file
+
+
+ 0, 0
+
+
+ 729, 25
+
+
+ 8
+
+
+ menuServer
+
+
+ System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 3
True
-
- 17, 17
-
+
+ 6, 12
+
+
+ 729, 594
+
+
+ Edit or add a [VMess] server
+
+
+ MenuItem1
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ MenuItemImportClient
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ MenuItemImportServer
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ toolStripSeparator1
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ MenuItemImportClipboard
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ AddServerForm
+
+
+ v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
index 45df68bf..62a6aac4 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
@@ -130,7 +130,7 @@
*手填,方便识别管理
- 不清楚则保持默认值
+ 底层传输方式(transport)
@@ -146,7 +146,7 @@
4)QUIC 加密方式
- 203, 12
+ 167, 12
跳过证书验证(allowInsecure)
@@ -154,12 +154,30 @@
223, 7
+
+ 143, 12
+
+
+ *默认tcp,选错会无法连接
+
149, 12
3)h2 host中间逗号(,)隔开
+
+ 127, 32
+
+
+ 211, 20
+
+
+ 107, 12
+
+
+ 传输协议(network)
+
65, 12
@@ -185,7 +203,7 @@
*tcp或kcp或QUIC伪装类型,默认none
- 124, 58
+ 124, 94
334, 51
@@ -202,30 +220,12 @@
伪装域名(host)
-
- 143, 12
-
-
- *默认tcp,选错会无法连接
-
113, 12
*随便选,建议(auto)
-
- 127, 171
-
-
- 211, 20
-
-
- 107, 12
-
-
- 传输协议(network)
-
127, 143
From 583bd22244831ee093ac19d905ddec1c4857840a Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Sat, 8 Aug 2020 11:15:32 +0800
Subject: [PATCH 12/17] add vless
---
.../v2rayN/Forms/AddServer5Form.Designer.cs | 489 ++++++
v2rayN/v2rayN/Forms/AddServer5Form.cs | 284 ++++
v2rayN/v2rayN/Forms/AddServer5Form.resx | 1311 +++++++++++++++++
.../v2rayN/Forms/AddServer5Form.zh-Hans.resx | 302 ++++
v2rayN/v2rayN/Forms/MainForm.Designer.cs | 11 +-
v2rayN/v2rayN/Forms/MainForm.cs | 30 +-
v2rayN/v2rayN/Forms/MainForm.resx | 42 +-
v2rayN/v2rayN/Mode/EConfigType.cs | 3 +-
v2rayN/v2rayN/Mode/V2rayConfig.cs | 12 +
v2rayN/v2rayN/v2rayN.csproj | 14 +
10 files changed, 2479 insertions(+), 19 deletions(-)
create mode 100644 v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
create mode 100644 v2rayN/v2rayN/Forms/AddServer5Form.cs
create mode 100644 v2rayN/v2rayN/Forms/AddServer5Form.resx
create mode 100644 v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
new file mode 100644
index 00000000..f290e0d9
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
@@ -0,0 +1,489 @@
+namespace v2rayN.Forms
+{
+ partial class AddServer5Form
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer5Form));
+ this.btnClose = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.btnGUID = new System.Windows.Forms.Button();
+ this.label13 = new System.Windows.Forms.Label();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.label24 = new System.Windows.Forms.Label();
+ this.label23 = new System.Windows.Forms.Label();
+ this.panTlsMore = new System.Windows.Forms.Panel();
+ this.label21 = new System.Windows.Forms.Label();
+ this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
+ this.label9 = new System.Windows.Forms.Label();
+ this.label20 = new System.Windows.Forms.Label();
+ this.txtPath = new System.Windows.Forms.TextBox();
+ this.cmbNetwork = new System.Windows.Forms.ComboBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label19 = new System.Windows.Forms.Label();
+ this.label18 = new System.Windows.Forms.Label();
+ this.label17 = new System.Windows.Forms.Label();
+ this.label16 = new System.Windows.Forms.Label();
+ this.label14 = new System.Windows.Forms.Label();
+ this.label15 = new System.Windows.Forms.Label();
+ this.cmbStreamSecurity = new System.Windows.Forms.ComboBox();
+ this.label12 = new System.Windows.Forms.Label();
+ this.txtRequestHost = new System.Windows.Forms.TextBox();
+ this.label11 = new System.Windows.Forms.Label();
+ this.label10 = new System.Windows.Forms.Label();
+ this.cmbHeaderType = new System.Windows.Forms.ComboBox();
+ this.label8 = new System.Windows.Forms.Label();
+ this.cmbSecurity = new System.Windows.Forms.ComboBox();
+ this.txtRemarks = new System.Windows.Forms.TextBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.txtId = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.txtPort = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtAddress = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.menuServer = new System.Windows.Forms.MenuStrip();
+ this.MenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
+ this.MenuItemImportClient = new System.Windows.Forms.ToolStripMenuItem();
+ this.MenuItemImportServer = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.MenuItemImportClipboard = new System.Windows.Forms.ToolStripMenuItem();
+ this.groupBox1.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.panTlsMore.SuspendLayout();
+ this.panel2.SuspendLayout();
+ this.menuServer.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // btnClose
+ //
+ 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);
+ this.groupBox1.Controls.Add(this.label8);
+ this.groupBox1.Controls.Add(this.cmbSecurity);
+ this.groupBox1.Controls.Add(this.txtRemarks);
+ this.groupBox1.Controls.Add(this.label6);
+ this.groupBox1.Controls.Add(this.label5);
+ this.groupBox1.Controls.Add(this.txtId);
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.txtPort);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.txtAddress);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.TabStop = false;
+ //
+ // btnGUID
+ //
+ resources.ApplyResources(this.btnGUID, "btnGUID");
+ this.btnGUID.Name = "btnGUID";
+ this.btnGUID.UseVisualStyleBackColor = true;
+ this.btnGUID.Click += new System.EventHandler(this.btnGUID_Click);
+ //
+ // label13
+ //
+ resources.ApplyResources(this.label13, "label13");
+ this.label13.Name = "label13";
+ //
+ // groupBox2
+ //
+ resources.ApplyResources(this.groupBox2, "groupBox2");
+ this.groupBox2.Controls.Add(this.label24);
+ this.groupBox2.Controls.Add(this.label23);
+ this.groupBox2.Controls.Add(this.panTlsMore);
+ this.groupBox2.Controls.Add(this.label9);
+ this.groupBox2.Controls.Add(this.label20);
+ this.groupBox2.Controls.Add(this.txtPath);
+ this.groupBox2.Controls.Add(this.cmbNetwork);
+ this.groupBox2.Controls.Add(this.label7);
+ this.groupBox2.Controls.Add(this.label19);
+ this.groupBox2.Controls.Add(this.label18);
+ this.groupBox2.Controls.Add(this.label17);
+ this.groupBox2.Controls.Add(this.label16);
+ this.groupBox2.Controls.Add(this.label14);
+ this.groupBox2.Controls.Add(this.label15);
+ this.groupBox2.Controls.Add(this.cmbStreamSecurity);
+ this.groupBox2.Controls.Add(this.label12);
+ this.groupBox2.Controls.Add(this.txtRequestHost);
+ this.groupBox2.Controls.Add(this.label11);
+ this.groupBox2.Controls.Add(this.label10);
+ this.groupBox2.Controls.Add(this.cmbHeaderType);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.TabStop = false;
+ //
+ // label24
+ //
+ resources.ApplyResources(this.label24, "label24");
+ this.label24.Name = "label24";
+ //
+ // label23
+ //
+ resources.ApplyResources(this.label23, "label23");
+ this.label23.Name = "label23";
+ //
+ // panTlsMore
+ //
+ resources.ApplyResources(this.panTlsMore, "panTlsMore");
+ this.panTlsMore.Controls.Add(this.label21);
+ this.panTlsMore.Controls.Add(this.cmbAllowInsecure);
+ this.panTlsMore.Name = "panTlsMore";
+ //
+ // label21
+ //
+ resources.ApplyResources(this.label21, "label21");
+ this.label21.Name = "label21";
+ //
+ // 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")});
+ this.cmbAllowInsecure.Name = "cmbAllowInsecure";
+ //
+ // label9
+ //
+ resources.ApplyResources(this.label9, "label9");
+ this.label9.Name = "label9";
+ //
+ // label20
+ //
+ resources.ApplyResources(this.label20, "label20");
+ this.label20.Name = "label20";
+ //
+ // txtPath
+ //
+ resources.ApplyResources(this.txtPath, "txtPath");
+ this.txtPath.Name = "txtPath";
+ //
+ // cmbNetwork
+ //
+ resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
+ this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbNetwork.FormattingEnabled = true;
+ this.cmbNetwork.Items.AddRange(new object[] {
+ resources.GetString("cmbNetwork.Items"),
+ resources.GetString("cmbNetwork.Items1"),
+ resources.GetString("cmbNetwork.Items2"),
+ resources.GetString("cmbNetwork.Items3"),
+ resources.GetString("cmbNetwork.Items4")});
+ this.cmbNetwork.Name = "cmbNetwork";
+ this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
+ //
+ // label7
+ //
+ resources.ApplyResources(this.label7, "label7");
+ this.label7.Name = "label7";
+ //
+ // label19
+ //
+ resources.ApplyResources(this.label19, "label19");
+ this.label19.Name = "label19";
+ //
+ // label18
+ //
+ resources.ApplyResources(this.label18, "label18");
+ this.label18.Name = "label18";
+ //
+ // label17
+ //
+ resources.ApplyResources(this.label17, "label17");
+ this.label17.Name = "label17";
+ //
+ // label16
+ //
+ resources.ApplyResources(this.label16, "label16");
+ this.label16.Name = "label16";
+ //
+ // label14
+ //
+ resources.ApplyResources(this.label14, "label14");
+ this.label14.Name = "label14";
+ //
+ // label15
+ //
+ resources.ApplyResources(this.label15, "label15");
+ this.label15.Name = "label15";
+ //
+ // 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")});
+ this.cmbStreamSecurity.Name = "cmbStreamSecurity";
+ this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged);
+ //
+ // label12
+ //
+ resources.ApplyResources(this.label12, "label12");
+ this.label12.Name = "label12";
+ //
+ // txtRequestHost
+ //
+ resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
+ this.txtRequestHost.Name = "txtRequestHost";
+ //
+ // label11
+ //
+ resources.ApplyResources(this.label11, "label11");
+ this.label11.Name = "label11";
+ //
+ // label10
+ //
+ resources.ApplyResources(this.label10, "label10");
+ this.label10.Name = "label10";
+ //
+ // cmbHeaderType
+ //
+ resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
+ this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cmbHeaderType.FormattingEnabled = true;
+ this.cmbHeaderType.Items.AddRange(new object[] {
+ resources.GetString("cmbHeaderType.Items"),
+ resources.GetString("cmbHeaderType.Items1"),
+ resources.GetString("cmbHeaderType.Items2"),
+ resources.GetString("cmbHeaderType.Items3"),
+ resources.GetString("cmbHeaderType.Items4"),
+ resources.GetString("cmbHeaderType.Items5"),
+ resources.GetString("cmbHeaderType.Items6")});
+ this.cmbHeaderType.Name = "cmbHeaderType";
+ //
+ // label8
+ //
+ resources.ApplyResources(this.label8, "label8");
+ this.label8.Name = "label8";
+ //
+ // cmbSecurity
+ //
+ resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
+ this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
+ this.cmbSecurity.FormattingEnabled = true;
+ this.cmbSecurity.Items.AddRange(new object[] {
+ resources.GetString("cmbSecurity.Items")});
+ this.cmbSecurity.Name = "cmbSecurity";
+ //
+ // txtRemarks
+ //
+ resources.ApplyResources(this.txtRemarks, "txtRemarks");
+ this.txtRemarks.Name = "txtRemarks";
+ //
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // label5
+ //
+ resources.ApplyResources(this.label5, "label5");
+ this.label5.Name = "label5";
+ //
+ // txtId
+ //
+ resources.ApplyResources(this.txtId, "txtId");
+ this.txtId.Name = "txtId";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // txtPort
+ //
+ resources.ApplyResources(this.txtPort, "txtPort");
+ this.txtPort.Name = "txtPort";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // txtAddress
+ //
+ resources.ApplyResources(this.txtAddress, "txtAddress");
+ this.txtAddress.Name = "txtAddress";
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // panel2
+ //
+ resources.ApplyResources(this.panel2, "panel2");
+ this.panel2.Controls.Add(this.btnClose);
+ this.panel2.Controls.Add(this.btnOK);
+ this.panel2.Name = "panel2";
+ //
+ // btnOK
+ //
+ resources.ApplyResources(this.btnOK, "btnOK");
+ this.btnOK.Name = "btnOK";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // panel1
+ //
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Name = "panel1";
+ //
+ // menuServer
+ //
+ resources.ApplyResources(this.menuServer, "menuServer");
+ this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.MenuItem1});
+ 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";
+ //
+ // MenuItemImportClient
+ //
+ resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
+ this.MenuItemImportClient.Name = "MenuItemImportClient";
+ this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click);
+ //
+ // MenuItemImportServer
+ //
+ resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
+ this.MenuItemImportServer.Name = "MenuItemImportServer";
+ this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click);
+ //
+ // toolStripSeparator1
+ //
+ resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ //
+ // MenuItemImportClipboard
+ //
+ resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
+ this.MenuItemImportClipboard.Name = "MenuItemImportClipboard";
+ this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
+ //
+ // AddServer5Form
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.CancelButton = this.btnClose;
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.panel2);
+ this.Controls.Add(this.panel1);
+ this.Controls.Add(this.menuServer);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Name = "AddServer5Form";
+ this.Load += new System.EventHandler(this.AddServer5Form_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ this.panTlsMore.ResumeLayout(false);
+ this.panTlsMore.PerformLayout();
+ this.panel2.ResumeLayout(false);
+ this.menuServer.ResumeLayout(false);
+ this.menuServer.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.TextBox txtRemarks;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.TextBox txtId;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox txtPort;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtAddress;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.ComboBox cmbSecurity;
+ private System.Windows.Forms.ComboBox cmbNetwork;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.TextBox txtRequestHost;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.ComboBox cmbHeaderType;
+ private System.Windows.Forms.Label label12;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.Label label13;
+ private System.Windows.Forms.MenuStrip menuServer;
+ private System.Windows.Forms.ToolStripMenuItem MenuItem1;
+ private System.Windows.Forms.ToolStripMenuItem MenuItemImportClient;
+ private System.Windows.Forms.ToolStripMenuItem MenuItemImportServer;
+ private System.Windows.Forms.Label label15;
+ private System.Windows.Forms.ComboBox cmbStreamSecurity;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+ private System.Windows.Forms.ToolStripMenuItem MenuItemImportClipboard;
+ private System.Windows.Forms.Button btnGUID;
+ private System.Windows.Forms.Label label16;
+ private System.Windows.Forms.Label label14;
+ private System.Windows.Forms.Label label17;
+ private System.Windows.Forms.Label label18;
+ private System.Windows.Forms.Label label19;
+ private System.Windows.Forms.TextBox txtPath;
+ private System.Windows.Forms.Label label20;
+ private System.Windows.Forms.Label label21;
+ private System.Windows.Forms.ComboBox cmbAllowInsecure;
+ private System.Windows.Forms.Panel panTlsMore;
+ private System.Windows.Forms.Label label24;
+ private System.Windows.Forms.Label label23;
+ }
+}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.cs b/v2rayN/v2rayN/Forms/AddServer5Form.cs
new file mode 100644
index 00000000..568ebd63
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.cs
@@ -0,0 +1,284 @@
+using System;
+using System.Windows.Forms;
+using v2rayN.Handler;
+using v2rayN.Mode;
+
+namespace v2rayN.Forms
+{
+ public partial class AddServer5Form : BaseForm
+ {
+ public int EditIndex { get; set; }
+ VmessItem vmessItem = null;
+
+ public AddServer5Form()
+ {
+ InitializeComponent();
+ }
+
+ private void AddServer5Form_Load(object sender, EventArgs e)
+ {
+ if (EditIndex >= 0)
+ {
+ vmessItem = config.vmess[EditIndex];
+ BindingServer();
+ }
+ else
+ {
+ vmessItem = new VmessItem();
+ ClearServer();
+ }
+ }
+
+ ///
+ /// 绑定数据
+ ///
+ private void BindingServer()
+ {
+ txtAddress.Text = vmessItem.address;
+ txtPort.Text = vmessItem.port.ToString();
+ txtId.Text = vmessItem.id;
+ cmbSecurity.Text = vmessItem.security;
+ cmbNetwork.Text = vmessItem.network;
+ txtRemarks.Text = vmessItem.remarks;
+
+ cmbHeaderType.Text = vmessItem.headerType;
+ txtRequestHost.Text = vmessItem.requestHost;
+ txtPath.Text = vmessItem.path;
+ cmbStreamSecurity.Text = vmessItem.streamSecurity;
+ cmbAllowInsecure.Text = vmessItem.allowInsecure;
+ }
+
+
+ ///
+ /// 清除设置
+ ///
+ private void ClearServer()
+ {
+ txtAddress.Text = "";
+ txtPort.Text = "";
+ txtId.Text = "";
+ cmbSecurity.Text = Global.DefaultSecurity;
+ cmbNetwork.Text = Global.DefaultNetwork;
+ txtRemarks.Text = "";
+
+ cmbHeaderType.Text = Global.None;
+ txtRequestHost.Text = "";
+ cmbStreamSecurity.Text = "";
+ cmbAllowInsecure.Text = "";
+ txtPath.Text = "";
+ }
+
+
+ private void cmbNetwork_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ SetHeaderType();
+ }
+
+ ///
+ /// 设置伪装选项
+ ///
+ private void SetHeaderType()
+ {
+ cmbHeaderType.Items.Clear();
+
+ string network = cmbNetwork.Text;
+ if (Utils.IsNullOrEmpty(network))
+ {
+ cmbHeaderType.Items.Add(Global.None);
+ return;
+ }
+
+ cmbHeaderType.Items.Add(Global.None);
+ if (network.Equals(Global.DefaultNetwork))
+ {
+ cmbHeaderType.Items.Add(Global.TcpHeaderHttp);
+ }
+ else if (network.Equals("kcp") || network.Equals("quic"))
+ {
+ cmbHeaderType.Items.Add("srtp");
+ cmbHeaderType.Items.Add("utp");
+ cmbHeaderType.Items.Add("wechat-video");
+ cmbHeaderType.Items.Add("dtls");
+ cmbHeaderType.Items.Add("wireguard");
+ }
+ else
+ {
+ }
+ cmbHeaderType.Text = Global.None;
+ }
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+ string address = txtAddress.Text;
+ string port = txtPort.Text;
+ string id = txtId.Text;
+ string security = cmbSecurity.Text;
+ string network = cmbNetwork.Text;
+ string remarks = txtRemarks.Text;
+
+ string headerType = cmbHeaderType.Text;
+ string requestHost = txtRequestHost.Text;
+ string path = txtPath.Text;
+ string streamSecurity = cmbStreamSecurity.Text;
+ string allowInsecure = cmbAllowInsecure.Text;
+
+ if (Utils.IsNullOrEmpty(address))
+ {
+ UI.Show(UIRes.I18N("FillServerAddress"));
+ return;
+ }
+ if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
+ {
+ UI.Show(UIRes.I18N("FillCorrectServerPort"));
+ return;
+ }
+ if (Utils.IsNullOrEmpty(id))
+ {
+ UI.Show(UIRes.I18N("FillUUID"));
+ return;
+ }
+
+
+ vmessItem.address = address;
+ vmessItem.port = Utils.ToInt(port);
+ vmessItem.id = id;
+ vmessItem.security = security;
+ vmessItem.network = network;
+ vmessItem.remarks = remarks;
+
+ vmessItem.headerType = headerType;
+ vmessItem.requestHost = requestHost.Replace(" ", "");
+ vmessItem.path = path.Replace(" ", "");
+ vmessItem.streamSecurity = streamSecurity;
+ vmessItem.allowInsecure = allowInsecure;
+
+ if (ConfigHandler.AddServer(ref config, vmessItem, EditIndex) == 0)
+ {
+ this.DialogResult = DialogResult.OK;
+ }
+ else
+ {
+ UI.ShowWarning(UIRes.I18N("OperationFailed"));
+ }
+ }
+
+ private void btnGUID_Click(object sender, EventArgs e)
+ {
+ txtId.Text = Utils.GetGUID();
+ }
+
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.Cancel;
+ }
+
+
+ #region 导入客户端/服务端配置
+
+ ///
+ /// 导入客户端
+ ///
+ ///
+ ///
+ private void MenuItemImportClient_Click(object sender, EventArgs e)
+ {
+ MenuItemImport(1);
+ }
+
+ ///
+ /// 导入服务端
+ ///
+ ///
+ ///
+ private void MenuItemImportServer_Click(object sender, EventArgs e)
+ {
+ MenuItemImport(2);
+ }
+
+ private void MenuItemImport(int type)
+ {
+ ClearServer();
+
+ OpenFileDialog fileDialog = new OpenFileDialog
+ {
+ Multiselect = false,
+ Filter = "Config|*.json|All|*.*"
+ };
+ if (fileDialog.ShowDialog() != DialogResult.OK)
+ {
+ return;
+ }
+ string fileName = fileDialog.FileName;
+ if (Utils.IsNullOrEmpty(fileName))
+ {
+ return;
+ }
+ string msg;
+ VmessItem vmessItem;
+ if (type.Equals(1))
+ {
+ vmessItem = V2rayConfigHandler.ImportFromClientConfig(fileName, out msg);
+ }
+ else
+ {
+ vmessItem = V2rayConfigHandler.ImportFromServerConfig(fileName, out msg);
+ }
+ if (vmessItem == null)
+ {
+ UI.ShowWarning(msg);
+ return;
+ }
+
+ txtAddress.Text = vmessItem.address;
+ txtPort.Text = vmessItem.port.ToString();
+ txtId.Text = vmessItem.id;
+ txtRemarks.Text = vmessItem.remarks;
+ cmbNetwork.Text = vmessItem.network;
+ cmbHeaderType.Text = vmessItem.headerType;
+ txtRequestHost.Text = vmessItem.requestHost;
+ txtPath.Text = vmessItem.path;
+ cmbStreamSecurity.Text = vmessItem.streamSecurity;
+ }
+
+ ///
+ /// 从剪贴板导入URL
+ ///
+ ///
+ ///
+ private void MenuItemImportClipboard_Click(object sender, EventArgs e)
+ {
+ ClearServer();
+
+ VmessItem vmessItem = V2rayConfigHandler.ImportFromClipboardConfig(Utils.GetClipboardData(), out string msg);
+ if (vmessItem == null)
+ {
+ UI.ShowWarning(msg);
+ return;
+ }
+
+ txtAddress.Text = vmessItem.address;
+ txtPort.Text = vmessItem.port.ToString();
+ txtId.Text = vmessItem.id;
+ txtRemarks.Text = vmessItem.remarks;
+ cmbNetwork.Text = vmessItem.network;
+ cmbHeaderType.Text = vmessItem.headerType;
+ txtRequestHost.Text = vmessItem.requestHost;
+ txtPath.Text = vmessItem.path;
+ cmbStreamSecurity.Text = vmessItem.streamSecurity;
+ }
+ #endregion
+
+ private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ string security = cmbStreamSecurity.Text;
+ if (Utils.IsNullOrEmpty(security))
+ {
+ panTlsMore.Hide();
+ }
+ else
+ {
+ panTlsMore.Show();
+ }
+ }
+ }
+}
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.resx b/v2rayN/v2rayN/Forms/AddServer5Form.resx
new file mode 100644
index 00000000..57db8697
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.resx
@@ -0,0 +1,1311 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 4
+
+
+
+ 113, 12
+
+
+ 285, 179
+
+
+ 124, 62
+
+
+ 6
+
+
+ Path
+
+
+ 83, 12
+
+
+ Transport protocol(network)
+
+
+ 7
+
+
+ groupBox1
+
+
+ 1
+
+
+ label15
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ cmbStreamSecurity
+
+
+ 3)h2 host Separated by commas (,)
+
+
+ none
+
+
+
+ Top
+
+
+
+ 3
+
+
+ 17
+
+
+ false
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 19
+
+
+ True
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6
+
+
+ 21
+
+
+ 411, 83
+
+
+ Address
+
+
+ groupBox1
+
+
+ 75, 23
+
+
+ 59, 12
+
+
+ 1)ws path
+
+
+ 19
+
+
+ True
+
+
+ 26
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ txtId
+
+
+ True
+
+
+ 729, 499
+
+
+
+
+
+ 12, 89
+
+
+ groupBox2
+
+
+ tls
+
+
+ True
+
+
+ 299, 12
+
+
+ cmbAllowInsecure
+
+
+ 127, 85
+
+
+ 16
+
+
+ 12, 179
+
+
+ &Cancel
+
+
+ label10
+
+
+ 723, 281
+
+
+ 5
+
+
+ label21
+
+
+ 359, 21
+
+
+ System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Edit or add a [VLESS] server
+
+
+ 143, 12
+
+
+ groupBox2
+
+
+ 17
+
+
+ toolStripSeparator1
+
+
+ NoControl
+
+
+ 21
+
+
+ label11
+
+
+ 5
+
+
+ 158, 90
+
+
+ 2
+
+
+ 29, 12
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 237, 22
+
+
+ 12
+
+
+ 3)QUIC key
+
+
+ 127, 56
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ txtPort
+
+
+ 2
+
+
+ groupBox2
+
+
+ Bottom
+
+
+ True
+
+
+ 127, 175
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 29, 12
+
+
+ True
+
+
+ ws
+
+
+ 11
+
+
+ 9, 66
+
+
+ 13
+
+
+ Import server configuration
+
+
+ 6, 12
+
+
+ 1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 15
+
+
+ label17
+
+
+ panel1
+
+
+ groupBox2
+
+
+ 5
+
+
+ 215, 12
+
+
+ 0, 0
+
+
+ 396, 17
+
+
+ 338, 35
+
+
+ 12, 60
+
+
+ MenuItemImportClient
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ &Generate
+
+
+ Encryption method (encryption)
+
+
+ txtRemarks
+
+
+ v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ groupBox2
+
+
+ true
+
+
+ panTlsMore
+
+
+ True
+
+
+ cmbNetwork
+
+
+ 284, 234
+
+
+ 95, 12
+
+
+ 350, 32
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ True
+
+
+ 24
+
+
+ 127, 27
+
+
+ label12
+
+
+ 729, 594
+
+
+ True
+
+
+ 282, 66
+
+
+ 12
+
+
+ *tcp or kcp or QUIC camouflage type, default none
+
+
+ 25
+
+
+ label23
+
+
+ groupBox1
+
+
+ 143, 20
+
+
+ $this
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 33
+
+
+ 6
+
+
+ 0
+
+
+ 2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ label8
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ label13
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0
+
+
+ 35
+
+
+ 13
+
+
+ 9
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 11
+
+
+ True
+
+
+ 469, 85
+
+
+ label9
+
+
+ label20
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ label18
+
+
+ MenuItem1
+
+
+ label1
+
+
+ 13
+
+
+ 34
+
+
+ 22
+
+
+ 143, 20
+
+
+ groupBox2
+
+
+ groupBox2
+
+
+ btnClose
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ label19
+
+
+ 143, 21
+
+
+ 95, 12
+
+
+ groupBox1
+
+
+ 0, 35
+
+
+ panTlsMore
+
+
+ 729, 60
+
+
+ allowInsecure
+
+
+ True
+
+
+ True
+
+
+ 469, 115
+
+
+ quic
+
+
+ groupBox2
+
+
+ h2
+
+
+ kcp
+
+
+ 7
+
+
+ 143, 21
+
+
+ 526, 162
+
+
+ 18
+
+
+ 12, 147
+
+
+ 18
+
+
+ groupBox1
+
+
+ label2
+
+
+ groupBox2
+
+
+ 234, 6
+
+
+ groupBox2
+
+
+ 119, 12
+
+
+ 278, 21
+
+
+ True
+
+
+ True
+
+
+ Bottom
+
+
+ 91, 20
+
+
+ 53, 12
+
+
+ 27
+
+
+ groupBox2
+
+
+ groupBox2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Port
+
+
+ groupBox2
+
+
+ Fill
+
+
+ 10
+
+
+ groupBox2
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0
+
+
+ 75, 23
+
+
+ 4
+
+
+ True
+
+
+ 11
+
+
+ groupBox1
+
+
+ 8
+
+
+ *Recommended (none)
+
+
+ 4
+
+
+ groupBox1
+
+
+ panel2
+
+
+ 143, 20
+
+
+ 23
+
+
+ 1
+
+
+ 6
+
+
+ 10
+
+
+ groupBox2
+
+
+ 14
+
+
+ True
+
+
+ 3, 215
+
+
+ Import configuration file
+
+
+ wechat-video
+
+
+ 9, 32
+
+
+ btnOK
+
+
+ 729, 10
+
+
+ 107, 7
+
+
+ 470, 131
+
+
+ True
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 22
+
+
+ 300, 53
+
+
+ 12, 31
+
+
+ 14
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ dtls
+
+
+ 47, 12
+
+
+ MenuItemImportServer
+
+
+ groupBox2
+
+
+ panel2
+
+
+ 0, 534
+
+
+ groupBox1
+
+
+ AddServer5Form
+
+
+ wireguard
+
+
+ groupBox1
+
+
+ Server
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 303, 17
+
+
+ 2)ws host
+
+
+ txtAddress
+
+
+ True
+
+
+ 2)h2 path
+
+
+ True
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 167, 12
+
+
+ 8
+
+
+ Transport
+
+
+ groupBox2
+
+
+ * Fill in manually
+
+
+ 9, 157
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 396, 54
+
+
+ True
+
+
+ 12, 11
+
+
+ 89, 12
+
+
+ 29
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 1
+
+
+ True
+
+
+ txtPath
+
+
+ 162, 21
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ txtRequestHost
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Alias (remarks)
+
+
+ 124, 157
+
+
+ label7
+
+
+ 4
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ &OK
+
+
+ 7
+
+
+ 3
+
+
+ http
+
+
+ 526, 179
+
+
+ 9
+
+
+ groupBox2
+
+
+ menuServer
+
+
+ 20
+
+
+ TLS
+
+
+ 1
+
+
+ 3
+
+
+ UUID(id)
+
+
+ $this
+
+
+ MenuItemImportClipboard
+
+
+ $this
+
+
+ 3
+
+
+ groupBox1
+
+
+ 237, 22
+
+
+ 143, 20
+
+
+ panTlsMore
+
+
+ 8
+
+
+ Camouflage domain(host)
+
+
+ 0
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 113, 12
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 192, 28
+
+
+ 203, 12
+
+
+ utp
+
+
+ 30
+
+
+ 12
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 23
+
+
+ 8
+
+
+ 2
+
+
+ 9, 94
+
+
+ label3
+
+
+ srtp
+
+
+ 5
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Import URL from clipboard
+
+
+ 469, 100
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 185, 12
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0
+
+
+ True
+
+
+ *Default value tcp
+
+
+ 31
+
+
+ 124, 242
+
+
+ 9, 246
+
+
+ 353, 147
+
+
+ none
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ label5
+
+
+ 3
+
+
+ label16
+
+
+ groupBox1
+
+
+ 237, 22
+
+
+ 16
+
+
+ 1
+
+
+ 28
+
+
+
+
+
+ groupBox2
+
+
+ Import client configuration
+
+
+ 15
+
+
+ 4)QUIC securty
+
+
+ 0, 25
+
+
+ cmbSecurity
+
+
+ tcp
+
+
+ groupBox2
+
+
+ btnGUID
+
+
+ 75, 23
+
+
+ 23, 12
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ Camouflage type
+
+
+ 0
+
+
+ groupBox2
+
+
+ NoControl
+
+
+ 1)http host Separated by commas (,)
+
+
+ label24
+
+
+ 59, 12
+
+
+ panel2
+
+
+ 65, 12
+
+
+ 195, 143
+
+
+ $this
+
+
+ True
+
+
+ label6
+
+
+ 59, 12
+
+
+ 10
+
+
+ 729, 25
+
+
+ cmbHeaderType
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 526, 197
+
+
+ label14
+
+
+ True
+
+
+ zh-Hans
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
new file mode 100644
index 00000000..5df0dd10
--- /dev/null
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
@@ -0,0 +1,302 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 取消(&C)
+
+
+ 服务器
+
+
+ 生成(&G)
+
+
+ *手填,方便识别管理
+
+
+ 底层传输方式(transport)
+
+
+
+ 95, 12
+
+
+ 3)QUIC 加密密钥
+
+
+ 95, 12
+
+
+ 4)QUIC 加密方式
+
+
+ 167, 12
+
+
+ 跳过证书验证(allowInsecure)
+
+
+ 223, 7
+
+
+ 143, 12
+
+
+ *默认tcp,选错会无法连接
+
+
+ 149, 12
+
+
+ 3)h2 host中间逗号(,)隔开
+
+
+ 127, 32
+
+
+ 211, 20
+
+
+ 107, 12
+
+
+ 传输协议(network)
+
+
+ 65, 12
+
+
+ 路径(path)
+
+
+ 161, 12
+
+
+ 1)http host中间逗号(,)隔开
+
+
+ 77, 12
+
+
+ 底层传输安全
+
+
+ 197, 12
+
+
+ *tcp或kcp或QUIC伪装类型,默认none
+
+
+ 124, 94
+
+
+ 334, 51
+
+
+ 89, 12
+
+
+ 伪装类型(type)
+
+
+ 89, 12
+
+
+ 伪装域名(host)
+
+
+ 71, 12
+
+
+ *非空(none)
+
+
+ 127, 143
+
+
+ 211, 20
+
+
+ 83, 12
+
+
+ 别名(remarks)
+
+
+ 113, 12
+
+
+ 加密方式(security)
+
+
+ 65, 12
+
+
+ 用户ID(id)
+
+
+ 65, 12
+
+
+ 端口(port)
+
+
+ 83, 12
+
+
+ 地址(address)
+
+
+ 确定(&O)
+
+
+ 171, 22
+
+
+ 导入客户端配置
+
+
+ 171, 22
+
+
+ 导入服务端配置
+
+
+ 168, 6
+
+
+ 171, 22
+
+
+ 从剪贴板导入URL
+
+
+
+ False
+
+
+ 92, 21
+
+
+ 导入配置文件
+
+
+ 编辑或添加[VLESS]服务器
+
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MainForm.Designer.cs b/v2rayN/v2rayN/Forms/MainForm.Designer.cs
index 7ec70cfe..917e788e 100644
--- a/v2rayN/v2rayN/Forms/MainForm.Designer.cs
+++ b/v2rayN/v2rayN/Forms/MainForm.Designer.cs
@@ -124,6 +124,7 @@
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();
@@ -176,6 +177,7 @@
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuAddVmessServer,
+ this.menuAddVlessServer,
this.menuAddShadowsocksServer,
this.menuAddSocksServer,
this.menuAddCustomServer,
@@ -204,7 +206,6 @@
this.menuExport2ShareUrl,
this.menuExport2SubContent});
this.cmsLv.Name = "cmsLv";
- this.cmsLv.OwnerItem = this.tsbServer;
resources.ApplyResources(this.cmsLv, "cmsLv");
//
// menuAddVmessServer
@@ -373,7 +374,6 @@
//
// tsbServer
//
- this.tsbServer.DropDown = this.cmsLv;
this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
resources.ApplyResources(this.tsbServer, "tsbServer");
this.tsbServer.Name = "tsbServer";
@@ -806,6 +806,12 @@
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");
@@ -936,6 +942,7 @@
private System.Windows.Forms.ToolStripMenuItem tsbTestMe;
private System.Windows.Forms.ToolStripButton tsbReload;
private System.Windows.Forms.ToolStripButton tsbQRCodeSwitch;
+ private System.Windows.Forms.ToolStripMenuItem menuAddVlessServer;
}
}
diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs
index 3ca10813..be5fe009 100644
--- a/v2rayN/v2rayN/Forms/MainForm.cs
+++ b/v2rayN/v2rayN/Forms/MainForm.cs
@@ -404,7 +404,7 @@ namespace v2rayN.Forms
{
return;
}
-
+
}
#endregion
@@ -513,6 +513,19 @@ namespace v2rayN.Forms
LoadV2ray();
}
}
+ else if (config.vmess[index].configType == (int)EConfigType.Vless)
+ {
+ AddServer5Form fm = new AddServer5Form
+ {
+ EditIndex = index
+ };
+ if (fm.ShowDialog() == DialogResult.OK)
+ {
+ //刷新
+ RefreshServers();
+ LoadV2ray();
+ }
+ }
else
{
AddServer2Form fm2 = new AddServer2Form
@@ -600,6 +613,20 @@ namespace v2rayN.Forms
}
}
+ private void menuAddVlessServer_Click(object sender, EventArgs e)
+ {
+ var fm = new AddServer5Form
+ {
+ EditIndex = -1
+ };
+ if (fm.ShowDialog() == DialogResult.OK)
+ {
+ //刷新
+ RefreshServers();
+ LoadV2ray();
+ }
+ }
+
private void menuRemoveServer_Click(object sender, EventArgs e)
{
@@ -1604,5 +1631,6 @@ namespace v2rayN.Forms
#endregion
+
}
}
diff --git a/v2rayN/v2rayN/Forms/MainForm.resx b/v2rayN/v2rayN/Forms/MainForm.resx
index 82105967..cca0d7a7 100644
--- a/v2rayN/v2rayN/Forms/MainForm.resx
+++ b/v2rayN/v2rayN/Forms/MainForm.resx
@@ -134,6 +134,12 @@
Add [VMess] server
+
+ 355, 22
+
+
+ Add [VLESS] server
+
355, 22
@@ -284,20 +290,8 @@
Export subscription (base64) share to clipboard
-
- Magenta
-
-
- 64, 53
-
-
- Servers
-
-
- ImageAboveText
-
- 356, 556
+ 356, 600
cmsLv
@@ -419,6 +413,18 @@
0
+
+ Magenta
+
+
+ 64, 53
+
+
+ Servers
+
+
+ ImageAboveText
+
17, 17
@@ -753,13 +759,13 @@
6, 56
- 125, 22
+ 180, 22
Settings
- 125, 22
+ 180, 22
Updates
@@ -1490,6 +1496,12 @@
System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ menuAddVlessServer
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
MainForm
diff --git a/v2rayN/v2rayN/Mode/EConfigType.cs b/v2rayN/v2rayN/Mode/EConfigType.cs
index 733c8556..2d7ab219 100644
--- a/v2rayN/v2rayN/Mode/EConfigType.cs
+++ b/v2rayN/v2rayN/Mode/EConfigType.cs
@@ -6,6 +6,7 @@ namespace v2rayN.Mode
Vmess = 1,
Custom = 2,
Shadowsocks = 3,
- Socks = 4
+ Socks = 4,
+ Vless = 5
}
}
diff --git a/v2rayN/v2rayN/Mode/V2rayConfig.cs b/v2rayN/v2rayN/Mode/V2rayConfig.cs
index 5d4ab5df..be1ad4a0 100644
--- a/v2rayN/v2rayN/Mode/V2rayConfig.cs
+++ b/v2rayN/v2rayN/Mode/V2rayConfig.cs
@@ -132,6 +132,13 @@ namespace v2rayN.Mode
///
///
public List clients { get; set; }
+
+
+ ///
+ /// VLESS
+ ///
+ public string decryption { get; set; }
+
}
public class UsersItem
@@ -152,6 +159,11 @@ namespace v2rayN.Mode
///
///
public string security { get; set; }
+
+ ///
+ /// VLESS
+ ///
+ public string encryption { get; set; }
}
public class Sniffing
{
diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj
index 308d38cd..8a004c44 100644
--- a/v2rayN/v2rayN/v2rayN.csproj
+++ b/v2rayN/v2rayN/v2rayN.csproj
@@ -107,6 +107,12 @@
Component
+
+ Form
+
+
+ AddServer5Form.cs
+
Form
@@ -231,6 +237,14 @@
AddServer3Form.cs
Designer
+
+ AddServer5Form.cs
+ Designer
+
+
+ AddServer5Form.cs
+ Designer
+
AddServerForm.cs
Designer
From 45738a716075850b25e9a350c17230f40dcd1846 Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Sat, 8 Aug 2020 12:43:34 +0800
Subject: [PATCH 13/17] up vless 2
---
v2rayN/v2rayN/Forms/AddServer5Form.cs | 28 +-
v2rayN/v2rayN/Forms/AddServer5Form.resx | 108 +-
.../v2rayN/Forms/AddServer5Form.zh-Hans.resx | 112 +-
v2rayN/v2rayN/Forms/AddServerForm.Designer.cs | 32 +-
v2rayN/v2rayN/Forms/AddServerForm.cs | 24 +-
v2rayN/v2rayN/Forms/AddServerForm.resx | 2262 ++++++++--------
.../v2rayN/Forms/AddServerForm.zh-Hans.resx | 2 +-
v2rayN/v2rayN/Forms/MainForm.Designer.cs | 192 +-
v2rayN/v2rayN/Forms/MainForm.resx | 2405 +++++++++--------
v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx | 177 +-
v2rayN/v2rayN/Global.cs | 20 +
v2rayN/v2rayN/Handler/ConfigHandler.cs | 51 +
v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 52 +-
v2rayN/v2rayN/Mode/Config.cs | 4 +
v2rayN/v2rayN/Properties/AssemblyInfo.cs | 2 +-
15 files changed, 2799 insertions(+), 2672 deletions(-)
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.cs b/v2rayN/v2rayN/Forms/AddServer5Form.cs
index 568ebd63..b11974e5 100644
--- a/v2rayN/v2rayN/Forms/AddServer5Form.cs
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.cs
@@ -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();
- }
- }
}
}
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.resx b/v2rayN/v2rayN/Forms/AddServer5Form.resx
index 57db8697..154a4a9c 100644
--- a/v2rayN/v2rayN/Forms/AddServer5Form.resx
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.resx
@@ -306,9 +306,6 @@
groupBox2
-
- 17
-
toolStripSeparator1
@@ -393,8 +390,8 @@
ws
-
- 11
+
+ 729, 60
9, 66
@@ -423,6 +420,9 @@
panel1
+
+ label14
+
groupBox2
@@ -483,6 +483,9 @@
95, 12
+
+ NoControl
+
350, 32
@@ -528,8 +531,8 @@
label23
-
- groupBox1
+
+ allowInsecure
143, 20
@@ -552,8 +555,8 @@
0
-
- 2
+
+ 47, 12
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -615,8 +618,8 @@
13
-
- 34
+
+ label7
22
@@ -654,11 +657,8 @@
panTlsMore
-
- 729, 60
-
-
- allowInsecure
+
+ 34
True
@@ -717,9 +717,6 @@
119, 12
-
- 278, 21
-
True
@@ -732,20 +729,14 @@
91, 20
-
- 53, 12
-
27
-
- groupBox2
-
groupBox2
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 17
Port
@@ -795,6 +786,9 @@
*Recommended (none)
+
+ 195, 143
+
4
@@ -813,9 +807,6 @@
1
-
- 6
-
10
@@ -876,9 +867,6 @@
dtls
-
- 47, 12
-
MenuItemImportServer
@@ -888,6 +876,9 @@
panel2
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
0, 534
@@ -915,8 +906,8 @@
2)ws host
-
- txtAddress
+
+ 6
True
@@ -957,9 +948,6 @@
True
-
- 12, 11
-
89, 12
@@ -996,9 +984,6 @@
124, 157
-
- label7
-
4
@@ -1026,6 +1011,9 @@
groupBox2
+
+ Camouflage type
+
menuServer
@@ -1071,8 +1059,8 @@
8
-
- Camouflage domain(host)
+
+ 15
0
@@ -1083,6 +1071,9 @@
113, 12
+
+ 11
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -1095,6 +1086,9 @@
utp
+
+ txtAddress
+
30
@@ -1110,6 +1104,9 @@
8
+
+ groupBox1
+
2
@@ -1137,6 +1134,9 @@
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Camouflage domain(host)
+
185, 12
@@ -1206,9 +1206,6 @@
Import client configuration
-
- 15
-
4)QUIC securty
@@ -1239,8 +1236,8 @@
groupBox1
-
- Camouflage type
+
+ 12, 11
0
@@ -1248,8 +1245,8 @@
groupBox2
-
- NoControl
+
+ 278, 21
1)http host Separated by commas (,)
@@ -1266,8 +1263,8 @@
65, 12
-
- 195, 143
+
+ groupBox2
$this
@@ -1296,8 +1293,11 @@
526, 197
-
- label14
+
+ 2
+
+
+ 53, 12
True
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
index 5df0dd10..b5001a79 100644
--- a/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
@@ -120,9 +120,6 @@
取消(&C)
-
- 服务器
-
生成(&G)
@@ -133,6 +130,51 @@
底层传输方式(transport)
+
+ 71, 12
+
+
+ *非空(none)
+
+
+ 143, 143
+
+
+ 195, 20
+
+
+ 83, 12
+
+
+ 别名(remarks)
+
+
+ 125, 12
+
+
+ 加密方式(decryption)
+
+
+ 65, 12
+
+
+ 用户ID(id)
+
+
+ 65, 12
+
+
+ 端口(port)
+
+
+ 83, 12
+
+
+ 地址(address)
+
+
+ 服务器
+
95, 12
@@ -167,7 +209,7 @@
3)h2 host中间逗号(,)隔开
- 127, 32
+ 124, 32
211, 20
@@ -220,51 +262,19 @@
伪装域名(host)
-
- 71, 12
-
-
- *非空(none)
-
-
- 127, 143
-
-
- 211, 20
-
-
- 83, 12
-
-
- 别名(remarks)
-
-
- 113, 12
-
-
- 加密方式(security)
-
-
- 65, 12
-
-
- 用户ID(id)
-
-
- 65, 12
-
-
- 端口(port)
-
-
- 83, 12
-
-
- 地址(address)
-
确定(&O)
+
+
+ False
+
+
+ 92, 21
+
+
+ 导入配置文件
+
171, 22
@@ -286,16 +296,6 @@
从剪贴板导入URL
-
-
- False
-
-
- 92, 21
-
-
- 导入配置文件
-
编辑或添加[VLESS]服务器
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
index a96b32ab..bdb027f6 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
+++ b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
@@ -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
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.cs b/v2rayN/v2rayN/Forms/AddServerForm.cs
index e2747b6c..a6a751e4 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.cs
+++ b/v2rayN/v2rayN/Forms/AddServerForm.cs
@@ -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();
- }
- }
}
}
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.resx b/v2rayN/v2rayN/Forms/AddServerForm.resx
index 832dd782..b4cd8bfa 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.resx
+++ b/v2rayN/v2rayN/Forms/AddServerForm.resx
@@ -117,1249 +117,1249 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 396, 17
-
-
- 75, 23
-
-
-
+
4
-
- &Cancel
+
+
+ 113, 12
-
- btnClose
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 0
-
-
- 411, 83
-
-
- 75, 23
-
-
- 23
-
-
- &Generate
-
-
- btnGUID
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- True
+
+ 9
285, 179
-
- 113, 12
-
-
- 22
-
-
- * Fill in manually
-
-
- label13
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- True
-
-
-
- NoControl
-
-
- 526, 197
-
-
- 65, 12
-
-
- 35
-
-
- 3)QUIC key
-
-
- label24
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 470, 131
-
-
- 89, 12
-
-
- 34
-
-
- 4)QUIC securty
-
-
- label23
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 1
-
-
- True
-
-
- 12, 11
-
-
- 83, 12
-
-
- 31
-
-
- allowInsecure
-
-
- label21
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTlsMore
-
-
- 0
-
-
-
-
-
- true
-
-
- false
-
-
- 107, 7
-
-
- 91, 20
-
-
- 30
-
-
- cmbAllowInsecure
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTlsMore
-
-
- 1
-
-
- 284, 234
-
-
- 338, 35
-
-
- 33
-
-
- panTlsMore
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 2
-
-
- True
-
-
- 350, 32
-
-
- 113, 12
-
-
- 15
-
-
- *Default value tcp
-
-
- label9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 3
-
-
- True
-
-
- 469, 115
-
-
- 203, 12
-
-
- 29
-
-
- 3)h2 host Separated by commas (,)
-
-
- label20
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 4
-
-
- 124, 157
-
-
- True
-
-
- 396, 54
-
-
- 28
-
-
- txtPath
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 124, 62
groupBox2
-
- 5
-
-
- tcp
-
-
- kcp
-
-
- ws
-
-
- h2
-
-
- quic
-
-
- 192, 28
-
-
- 143, 20
-
-
- 12
-
-
- cmbNetwork
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
+
6
-
- True
-
-
- 9, 32
-
-
- 167, 12
-
-
- 13
-
-
- Transport protocol(network)
-
-
- label7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 7
-
-
- True
-
-
- 9, 157
-
-
- 29, 12
-
-
- 27
-
Path
-
- label19
+
+ 83, 12
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Transport protocol(network)
-
- groupBox2
+
+ 7
-
- 8
+
+ panTlsMore
-
- True
+
+ 1
-
- 526, 179
-
-
- 59, 12
-
-
- 26
-
-
- 2)h2 path
-
-
- label18
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 9
-
-
- True
-
-
- 469, 100
-
-
- 59, 12
-
-
- 25
-
-
- 2)ws host
-
-
- label17
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 10
-
-
- True
-
-
- 526, 162
-
-
- 59, 12
-
-
- 24
-
-
- 1)ws path
-
-
- label16
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 11
-
-
- True
-
-
- 469, 85
-
-
- 215, 12
-
-
- 23
-
-
- 1)http host Separated by commas (,)
-
-
- label14
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 12
-
-
- True
-
-
- 9, 246
-
-
- 23, 12
-
-
- 22
-
-
- TLS
+
+ 6, 12
label15
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ cmbStreamSecurity
+
+
+ 3)h2 host Separated by commas (,)
+
+
+
+ Top
+
+
+
+ 3
+
+
+ 17
+
+
+ false
+
+
+ 19
+
+
+ True
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6
+
+
+ 21
+
+
+ 411, 83
+
+
+ Address
+
+
+ groupBox1
+
+
+ 59, 12
+
+
+ 1)ws path
+
+
+ 19
+
+
+ True
+
+
+ 26
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ txtId
+
+
+ True
+
+
+ 729, 499
+
+
+
+
+
+ 12, 89
+
+
+ groupBox2
+
+
+ tls
+
+
+ True
+
+
+ 299, 12
+
+
+ panTlsMore
+
+
+ 10
+
+
+ aes-128-gcm
+
+
+ groupBox1
+
+
+ 127, 85
+
+
+ 16
+
+
+ 12, 179
+
+
+ &Cancel
+
+
+ label10
+
+
+ 723, 281
+
+
+ 5
+
+
+ label21
+
+
+ System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 143, 12
+
+
+ groupBox2
+
+
+ toolStripSeparator1
+
+
+ NoControl
+
+
+ 21
+
+
+ label11
+
+
+ 5
+
+
+ 158, 90
+
+
+ 2
+
+
+ 29, 12
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 234, 6
+
+
+ 237, 22
+
+
+ 12
+
+
+ TLS
+
+
+ 3)QUIC key
+
+
+ 127, 56
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ txtPort
+
+
+ 2
+
+
+ groupBox2
+
+
+ Bottom
+
+
+ True
+
+
+ 127, 175
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 29, 12
+
+
+ ws
+
+
+ 13
+
+
+ 9, 66
+
+
+ 15
+
+
+ Import server configuration
+
+
+ 173, 12
+
+
+ 1
+
+
+ 7
+
+
+ 15
+
+
+ label17
+
+
+ panel1
+
+
+ groupBox2
+
+
+ 5
+
+
+ 215, 12
+
+
+ 0, 0
+
+
+ 396, 17
+
+
+ 338, 35
+
+
+ 12, 60
+
+
+ MenuItemImportClient
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ &Generate
+
+
+ Encryption method (security)
+
+
+ none
+
+
+ txtRemarks
+
+
+ 47, 12
+
+
+ v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ groupBox2
+
+
+ true
+
+
+ panTlsMore
+
+
+ True
+
+
+ 127, 114
+
+
+ 284, 234
+
+
+ 95, 12
+
+
+ 350, 32
+
+
+ cmbNetwork
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 22
+
+
+ groupBox1
+
+
+ True
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
groupBox2
-
- 13
+
+ 127, 27
-
-
+
+ label12
-
- tls
+
+ AlterId
-
- 124, 242
-
-
- 143, 20
-
-
- 21
-
-
- cmbStreamSecurity
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 14
-
-
+
True
282, 66
-
- 299, 12
+
+ 12
-
- 20
+
+ 25
-
- *tcp or kcp or QUIC camouflage type, default none
+
+ label23
-
- label12
+
+ allowInsecure
+
+
+ 143, 20
+
+
+ 1
+
+
+ $this
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 33
+
+
+ 6
+
+
+ none
+
+
+ 0
+
+
+ 47, 12
+
+
+ label8
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ label13
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ txtAlterId
+
+
+ 35
+
+
+ 13
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 11
+
+
+ True
+
+
+ 469, 85
+
+
+ label9
+
+
+ label20
+
+
+ 124, 157
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ label18
+
+
+ MenuItem1
+
+
+ groupBox1
+
+
+ 13
+
+
+ 34
+
+
+ 143, 20
+
+
+ groupBox2
+
+
+ True
+
+
+ btnClose
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox2
+
+ label19
-
- 15
+
+ 143, 21
-
- 158, 90
+
+ 95, 12
-
+
+ groupBox1
+
+
+ 0, 35
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 729, 60
+
+
True
-
- 300, 53
+
+ 469, 115
-
- 16
+
+ $this
-
- txtRequestHost
+
+ quic
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ groupBox2
+
+
+ h2
+
+
+ kcp
+
+
+ 7
+
+
+ 143, 21
+
+
+ 526, 162
+
+
+ 18
+
+
+ 12, 147
+
+
+ 18
+
+
+ groupBox1
+
+
+ label2
+
+
+ groupBox2
+
+
+ 24
+
+
+ groupBox2
+
+
+ 119, 12
+
+
+ 278, 21
+
+
+ True
+
+
+ True
+
+
+ Bottom
+
+
+ 91, 20
+
+
+ 53, 12
+
+
+ 27
groupBox2
-
- 16
+
+ 23
-
- True
-
-
- 9, 66
-
-
- 95, 12
-
-
- 19
-
-
- Camouflage type
-
-
- label11
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
+
groupBox2
17
-
- True
+
+ Port
-
- 9, 94
-
-
- 143, 12
-
-
- 17
-
-
- Camouflage domain(host)
-
-
- label10
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
+
groupBox2
-
- 18
+
+ Fill
-
- none
+
+ chacha20-poly1305
-
- http
+
+ 12
-
- srtp
-
-
- utp
-
-
- wechat-video
-
-
- dtls
-
-
- wireguard
-
-
- 124, 62
-
-
- 143, 20
-
-
- 18
-
-
- cmbHeaderType
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 19
-
-
- Bottom
-
-
- 3, 215
-
-
- 723, 281
-
-
- 21
-
-
- Transport
-
-
+
groupBox2
System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- groupBox1
-
-
- 2
-
-
- True
-
-
- 353, 147
-
-
- 119, 12
-
-
- 14
-
-
- *Recommended (auto)
-
-
- label8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 3
-
-
- aes-128-gcm
-
-
- chacha20-poly1305
-
-
- auto
-
-
- none
-
-
- 195, 143
-
-
- 143, 20
-
-
- 6
-
-
- cmbSecurity
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 4
-
-
- 127, 175
-
-
- 143, 21
-
-
- 11
-
-
- txtRemarks
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
groupBox1
-
- 5
-
-
- True
-
-
- 12, 179
-
-
- 95, 12
-
-
- 10
-
-
- Alias (remarks)
-
-
- label6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 6
-
-
- True
-
-
- 12, 147
-
-
- 173, 12
-
-
- 8
-
-
- Encryption method (security)
-
-
- label5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 7
-
-
- 127, 114
-
-
- 143, 21
-
-
- 7
-
-
- txtAlterId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 8
-
-
- True
-
-
- 12, 118
-
-
- 47, 12
-
-
- 6
-
-
- AlterId
-
-
- label4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 9
-
-
- 127, 85
-
-
- 278, 21
-
-
- 5
-
-
- txtId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 10
-
-
- True
-
-
- 12, 89
-
-
- 53, 12
-
-
- 4
-
-
- UUID(id)
-
-
- label3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 11
-
-
- 127, 56
-
-
- 143, 21
-
-
- 3
-
-
- txtPort
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 12
-
-
- True
-
-
- 12, 60
-
-
- 29, 12
-
-
- 2
-
-
- Port
-
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 13
-
-
- 127, 27
-
-
- 359, 21
-
-
- 1
-
-
- txtAddress
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 14
-
-
- True
-
-
- 12, 31
-
-
- 47, 12
-
-
- 0
-
-
- Address
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 15
-
-
- Fill
-
-
- 0, 35
-
-
- 729, 499
-
-
- 3
-
-
- Server
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- 303, 17
-
-
- 75, 23
-
-
- 5
-
-
- &OK
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- Bottom
-
-
- 0, 534
-
-
- 729, 60
-
-
- 7
-
-
- panel2
-
System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- $this
+
+ 0
-
- 1
+
+ 75, 23
-
- Top
+
+ 4
-
- 0, 25
+
+ True
-
- 729, 10
+
+ 11
-
- 6
-
-
- panel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- 17, 17
-
-
- 237, 22
-
-
- Import client configuration
-
-
- 237, 22
-
-
- Import server configuration
-
-
- 234, 6
-
-
- 237, 22
-
-
- Import URL from clipboard
-
-
- 162, 21
-
-
- Import configuration file
-
-
- 0, 0
-
-
- 729, 25
+
+ groupBox1
8
-
- menuServer
+
+ *Recommended (auto)
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 4
-
- $this
+
+ groupBox1
-
- 3
+
+ panel2
-
+
+ 143, 20
+
+
+ 23
+
+
+ 1
+
+
+ 10
+
+
+ 14
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
True
-
-
- 6, 12
-
- 729, 594
+
+ 3, 215
-
- Edit or add a [VMess] server
+
+ Import configuration file
-
- MenuItem1
+
+ wechat-video
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 23, 12
-
- MenuItemImportClient
+
+ 729, 10
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 470, 131
+
+
+ True
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 22
+
+
+ 300, 53
+
+
+ 1)http host Separated by commas (,)
+
+
+ 12, 31
+
+
+ 14
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ dtls
MenuItemImportServer
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ groupBox2
-
- toolStripSeparator1
+
+ panel2
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- MenuItemImportClipboard
+
+ 0, 534
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ groupBox1
AddServerForm
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+ wireguard
+
+ groupBox1
+
+
+
+
+
+ 124, 242
+
+
+ Server
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 303, 17
+
+
+ 2)ws host
+
+
+ groupBox1
+
+
+ 6
+
+
+ True
+
+
+ 2)h2 path
+
+
+ True
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 167, 12
+
+
+ 8
+
+
+ Transport
+
+
+ groupBox2
+
+
+ * Fill in manually
+
+
+ 9, 157
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 396, 54
+
+
+ True
+
+
+ 12, 11
+
+
+ 89, 12
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 143, 21
+
+
+ 1
+
+
+ 65, 12
+
+
+ txtPath
+
+
+ 162, 21
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ txtRequestHost
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Alias (remarks)
+
+
+ groupBox2
+
+
+ label7
+
+
+ 4
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ &OK
+
+
+ 7
+
+
+ 3
+
+
+ http
+
+
+ label1
+
+
+ True
+
+
+ 526, 179
+
+
+ 9
+
+
+ groupBox2
+
+
+ menuServer
+
+
+ 20
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 1
+
+
+ 3
+
+
+ UUID(id)
+
+
+ $this
+
+
+ MenuItemImportClipboard
+
+
+ $this
+
+
+ 3
+
+
+ groupBox1
+
+
+ cmbAllowInsecure
+
+
+ 237, 22
+
+
+ 143, 20
+
+
+ True
+
+
+ 8
+
+
+ 0
+
+
+ 15
+
+
+ 0
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 113, 12
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 192, 28
+
+
+ 203, 12
+
+
+ utp
+
+
+ txtAddress
+
+
+ 30
+
+
+ 14
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 469, 100
+
+
+ 359, 21
+
+
+ 29
+
+
+ auto
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 2
+
+
+ 9, 94
+
+
+ label3
+
+
+ srtp
+
+
+ 5
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Import URL from clipboard
+
+
+ True
+
+
+ 75, 23
+
+
+ Camouflage domain(host)
+
+
+ *Default value tcp
+
+
+ 0
+
+
+ 729, 594
+
+
+ label4
+
+
+ 31
+
+
+ True
+
+
+ 9, 246
+
+
+ 353, 147
+
+
+ Edit or add a [VMess] server
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 8
+
+
+ groupBox1
+
+
+ label5
+
+
+ 3
+
+
+ label16
+
+
+ btnOK
+
+
+ 237, 22
+
+
+ 16
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 28
+
+
+ 107, 7
+
+
+ groupBox2
+
+
+ Import client configuration
+
+
+ 12, 118
+
+
+ 4)QUIC securty
+
+
+ 0, 25
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ cmbSecurity
+
+
+ tcp
+
+
+ 6
+
+
+ btnGUID
+
+
+ 75, 23
+
+
+ *tcp or kcp or QUIC camouflage type, default none
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ Camouflage type
+
+
+ 0
+
+
+ groupBox2
+
+
+ NoControl
+
+
+ 9, 32
+
+
+ label24
+
+
+ 59, 12
+
+
+ panel2
+
+
+ 11
+
+
+ 195, 143
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ label6
+
+
+ 59, 12
+
+
+ 10
+
+
+ 729, 25
+
+
+ cmbHeaderType
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 526, 197
+
+
+ 2
+
+
+ label14
+
+
+ True
+
+
+ 17, 17
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
index 62a6aac4..ac1c4911 100644
--- a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
@@ -167,7 +167,7 @@
3)h2 host中间逗号(,)隔开
- 127, 32
+ 124, 32
211, 20
diff --git a/v2rayN/v2rayN/Forms/MainForm.Designer.cs b/v2rayN/v2rayN/Forms/MainForm.Designer.cs
index 917e788e..d6d2b0fc 100644
--- a/v2rayN/v2rayN/Forms/MainForm.Designer.cs
+++ b/v2rayN/v2rayN/Forms/MainForm.Designer.cs
@@ -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");
diff --git a/v2rayN/v2rayN/Forms/MainForm.resx b/v2rayN/v2rayN/Forms/MainForm.resx
index cca0d7a7..de7f141e 100644
--- a/v2rayN/v2rayN/Forms/MainForm.resx
+++ b/v2rayN/v2rayN/Forms/MainForm.resx
@@ -117,190 +117,713 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Fill
+
+ Remove duplicate servers
-
- 3, 17
-
-
- 327, 17
-
-
+
355, 22
-
- Add [VMess] server
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+ Magenta
+
+
+ 355, 22
+
+
+ 97, 53
+
+
355, 22
Add [VLESS] server
-
- 355, 22
+
+ 2
-
- Add [Shadowsocks] server
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 355, 22
+
+ Restart service
+
+
+ 184, 6
+
+
+ tsbSubSetting
+
+
+ 264, 22
+
+
+ groupBox2
+
+
+ menuMoveUp
Add [Socks] server
-
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
355, 22
-
- Add a custom configuration server
+
+
+ ImageAboveText
-
- 355, 22
+
+ 语言-[中文简体]
-
- Import bulk URL from clipboard (Ctrl+V)
+
+ NoControl
-
- 355, 22
+
+ Top
-
- Scan QR code on the screen (Ctrl+S)
+
+ tsbHelp
-
- 352, 6
+
+ 5
-
- 355, 22
+
+
+ False
-
- Remove selected servers (Delete)
-
-
- 355, 22
-
-
- Remove duplicate servers
-
-
- 355, 22
-
-
- Clone selected server
-
-
- 355, 22
+
+ toolStripSeparator6
Set as active server (Enter)
-
- 352, 6
+
+ 99, 53
-
+
+ Update subscriptions
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 187, 22
+
+
+ groupBox2
+
+
+ toolSslBlank2
+
+
355, 22
-
- Move to top (T)
-
-
- 355, 22
-
-
- Up (U)
-
-
- 355, 22
-
-
- Down (D)
-
-
- 355, 22
-
-
- Move to bottom (B)
-
-
- 355, 22
-
-
- Select All (Ctrl+A)
-
-
- 352, 6
-
-
- 355, 22
-
-
- Test servers ping (Ctrl+P)
-
-
- 355, 22
-
-
- Test servers with tcping (Ctrl+O)
-
-
- 355, 22
-
-
- Test servers real delay (Ctrl+R)
-
-
- 355, 22
-
-
- Test servers download speed (Ctrl+T)
-
-
- 355, 22
-
-
- Test current service status
-
-
- 352, 6
-
-
- 355, 22
-
-
- Export selected server for client configuration
-
-
- 355, 22
-
-
- Export selected server for server configuration
-
355, 22
-
- Export share URLs to clipboard (Ctrl+C)
+
+ tsbCheckUpdateN
-
+
+ Only open Http proxy and do nothing
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ toolStripSeparator7
+
+
+ Update v2rayCore
+
+
+ Magenta
+
+
355, 22
-
- Export subscription (base64) share to clipboard
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 356, 600
+
+ menuExport2SubContent
-
- cmsLv
+
+ 52, 17
+
+
+ Share
+
+
+ tsbQRCodeSwitch
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAADJJREFUWEftzrENACAIRUFGdVMdTZkAG4zFXfI68kMAAD8ap9lUbpfyaDV19QAA
+ 8FDEBl3RImu5VcdbAAAAAElFTkSuQmCC
+
+
+
+ 355, 22
+
+
+ 0, 0
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Export selected server for server configuration
+
+
+ 0, 17
+
+
+ 952, 56
+
+
+ System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0
+
+
+ Test servers real delay (Ctrl+R)
+
+
+ menuTcpingServer
+
+
+ 0
+
+
+ ImageAboveText
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6, 56
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ v2rayN
+
+
+ 411, 22
+
+
+ 355, 22
+
+
+ toolStripSeparator1
+
+
+ 3
+
+
+ System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 393, 22
+
+
+ 0, 56
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tsbClose
+
+
+ 355, 22
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ menuPingServer
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tsbLanguageDef
+
+
+ Import bulk URL from clipboard (Ctrl+V)
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAATdJREFUWEftloENAiEMRW8ER3AEN9ANdARHcAPdwBF0A91AN9INtC+5JvUCJwWM
+ mvCTFw3QUiiU65qa/lUTYT6Ato9rJZyERwT6GFNdU+EihCYNwVhsqmgm3AR1fheOAitd9PCfNvp0HDbY
+ FolV2MmZZCzX9J0FG0TRTlwFdbahIVE7Qe1IR5bYVnXCyr2yO5F1MNUBec25YtjomcCXSxhr9DmrV2Gr
+ flyL4GSrYcm9tmnEZ7JsAC7DgWr5ydbXA8hOAcVjG8FTD6ocQgvXKrW8MqFWUfc1DAXgmRwVFaJQAHsh
+ VbYUU87diqWA934sl/TZ7wV2Lesx0gBwsO5/1Sl5PQhLQb+G+E+bfTm9KXsRAVgHrMK+jO9gbNEzzMSh
+ 6DlM9nANoa+kdCeLXLNLFtc9b2r6EXXdE4e4mdByNuG1AAAAAElFTkSuQmCC
+
+
+
+ 411, 22
+
+
+ 3
+
+
+ 3, 17
+
+
+ 355, 22
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Fill
+
+
+ 6, 56
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 220, 17
+
+
+ menuAddCustomServer
+
+
+ statusStrip1
+
+
+ menuMoveDown
+
+
+ Import bulk URL from clipboard
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Move to bottom (B)
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6, 12
+
+
+ 48, 53
+
+
+ 355, 22
+
+
+ System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ panel1
+
+
+ 195, 17
+
+
+ 0
+
+
+ 686, 331
+
+
+ toolStripSeparator4
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Bottom
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scMain.Panel2
+
+
+ 39, 17
+
+
+ menuAddServers2
+
+
+ Fill
+
+
+ Add [VMess] server
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ tsbAbout
+
+
+ 195, 17
+
+
+ toolStripSeparator5
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ 352, 6
+
+
+ 355, 22
+
+
+ 0, 0
+
+
+ 256, 331
+
+
+ 4, 4, 4, 4
+
+
+ Test servers with tcping (Ctrl+O)
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6, 56
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox1
+
+
+ 195, 17
+
+
+ 2
+
+
+ 125, 22
+
+
+ 0, 17
+
+
+ scMain.Panel2
+
+
+ 58, 53
+
+
+ 355, 22
+
+
+ 187, 22
+
+
+ 6, 56
+
+
+ Test servers download speed (Ctrl+T)
+
+
+ ssMain
+
+
+ 686
+
+
+ ImageAboveText
+
+
+ 52, 53
+
+
+ 265, 164
+
+
+ 411, 22
+
+
+ $this
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scMain
+
+
+ Check for updates
+
+
+ 0, 17
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 4
+
+
+ 125, 22
+
+
+ Only open Http proxy and clear the proxy settings
+
+
+ scMain
+
+
+ HTTP:
+
+
+ Remove selected servers (Delete)
+
+
+ 411, 22
+
+
+ menuKeepPAC
+
+
+ 0
+
+
+ Help
+
+
+ menuSelectAll
+
+
+ Move to top (T)
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Scan QR code on the screen (Ctrl+S)
+
+
+ ImageAboveText
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 187, 22
+
+
+ menuAddServers
+
+
+ 355, 22
+
+
+ menuAddVmessServer
+
+
+ tsbLanguageZhHans
+
+
+ menuRemoveDuplicateServer
+
+
+ BottomCenter
+
+
+ menuExport2ShareUrl
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tsbReload
+
+
+ v2rayN (this software)
+
+
+ Magenta
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0, 66
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tsbV2rayWebsite
+
+
+ Server
+
+
+ v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ menuAddShadowsocksServer
+
+
+ txtMsgBox
+
+
+ toolSslBlank4
+
+
+ 261, 6
+
+
+ v2rayN
+
+
+ Language-[English]
+
+
+ 264, 22
+
+
+ 0
+
+
+ toolSslBlank3
+
+
+ 128, 53
+
+
+ tsMain
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ImageAboveText
System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Fill
+
+ 0, 417
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 352, 6
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ V2Ray Website
+
+
+ No
+
+
+ 1
+
+
+ toolSslPacPort
+
+
+ System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Settings
+
+
+ menuMoveTop
+
+
+ menuKeep
@@ -319,620 +842,533 @@
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
- 0, 0
+
+ 952, 351
-
- 686, 331
+
+ menuScanScreen
-
-
- 0
+
+ cmsLv
-
- lvServers
+
+ toolStripSeparator12
-
- v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+ 6, 56
-
- scMain.Panel1
-
-
- 0
-
-
- scMain.Panel1
-
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scMain
-
-
- 0
-
-
+
Fill
-
- 0, 0
+
+ toolSslBlank1
-
- 256, 331
+
+ tsbSubUpdate
-
- 2
+
+ 微软雅黑, 8pt
-
- qrCodeControl
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+ SPEED Disabled
-
- scMain.Panel2
+
+ Promotion
-
- 0
+
+ menuSysAgentMode
-
- scMain.Panel2
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scMain
-
-
- 1
-
-
- 100
-
-
- 946, 331
-
-
- 686
-
-
- 0
-
-
- scMain
-
-
- System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- Magenta
-
-
- 64, 53
-
-
- Servers
-
-
+
ImageAboveText
-
- 17, 17
-
-
- 137, 17
-
-
- NoControl
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 411, 22
+
+ menuScanScreen2
-
- Not Enabled Http Proxy
+
+ cmsMain
-
- 411, 22
+
+ 264, 22
-
- Open Http proxy and set the system proxy (global mode)
+
+ menuServers
+
+
+ menuUpdateSubscriptions
+
+
+ $this
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ toolStripSeparator13
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 264, 22
+
+
+ 3, 151
+
+
+ True
+
+
+ 355, 22
+
+
+ Subscriptions
+
+
+ 952, 10
+
+
+ Updates
+
+
+ 264, 22
+
+
+ menuNotEnabledHttp
+
+
+ 0
+
+
+ toolStripSeparator8
+
+
+ 89, 53
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ BottomCenter
+
+
+ Test servers ping (Ctrl+P)
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 355, 22
+
+
+ 264, 22
+
+
+ System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ menuSetDefaultServer
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Settings
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ menuCopyServer
+
+
+ Http proxy
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
411, 22
-
- Open PAC and set the system proxy (PAC mode)
-
-
- 411, 22
-
-
- Only open Http proxy and clear the proxy settings
-
-
- 411, 22
-
Only open PAC and clear the proxy settings
-
- 411, 22
+
+ 355, 22
-
- Only open Http proxy and do nothing
+
+ groupBox1
-
- 411, 22
+
+ MainForm
-
- Only open PAC and do nothing
+
+ toolStripSeparator9
-
- 264, 22
+
+ menuExit
-
- Http proxy
-
-
- 264, 22
-
-
- Server
-
-
- 264, 22
-
-
- Import bulk URL from clipboard
-
-
- 264, 22
-
-
- Scan QR code on the screen
-
-
- 264, 22
-
-
- Copy local PAC URL
-
-
- 264, 22
-
-
- Update subscriptions
-
-
- 261, 6
-
-
- 264, 22
-
-
- Exit
-
-
- 265, 164
-
-
- cmsMain
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- v2rayN
-
-
- True
-
-
- 498, 17
-
-
- Fill
-
-
- 0, 66
-
-
- 952, 351
-
-
- 0
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Servers list
-
- groupBox1
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ lvServers
-
- $this
+
+ menuRealPingServer
-
- 2
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Fill
+
+ menuGlobal
-
- 3, 17
-
-
- 0
-
-
- True
-
-
- Vertical
-
-
- 946, 134
-
-
- 3
-
-
- txtMsgBox
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 0
-
-
- 228, 18
-
-
- 微软雅黑, 8pt
-
-
- 52, 17
-
-
- SOCKS5:
-
-
- 0, 17
-
-
- 微软雅黑, 8pt
-
-
- 195, 17
-
-
- 微软雅黑, 8pt
-
-
- 39, 17
-
-
- HTTP:
-
-
- 0, 17
-
-
- 微软雅黑, 8pt
-
-
- 195, 17
-
-
- 微软雅黑, 8pt
-
-
- 33, 17
-
-
- PAC:
-
-
- 0, 17
-
-
- 微软雅黑, 8pt
-
-
- 195, 17
-
-
- False
-
-
- 微软雅黑, 8pt
-
-
- No
-
-
- 220, 17
-
-
- SPEED Disabled
-
-
- MiddleRight
-
-
- 0, 17
-
-
- 3, 151
-
-
- 946, 22
-
-
- 0
-
-
- statusStrip1
-
-
- ssMain
-
-
- System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 1
-
-
- Bottom
-
-
- 0, 417
-
-
- 952, 176
-
-
- 3
-
-
- Informations
-
-
- groupBox2
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- Top
-
-
- 0, 56
-
-
- 952, 10
+
+ 100
2
-
- panel1
+
+ Magenta
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ menuKeepPACNothing
+
+
+ Check for updated PAC (need the HTTP proxy are ON)
+
+
+ toolStripSeparator11
+
+
+ 355, 22
+
+
+ v2rayN Project
+
+
+ Servers
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Select All (Ctrl+A)
+
+
+ Informations
+
+
+ 3
+
+
+ System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tsbCheckUpdateCore
+
+
+ SOCKS5:
+
+
+ 33, 17
+
+
+ toolSslServerSpeed
+
+
+ menuRemoveServer
+
+
+ 355, 22
+
+
+ tsbTestMe
+
+
+ 355, 22
+
+
+ 946, 134
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ scMain
+
+
+ Down (D)
+
+
+ menuCopyPACUrl
+
+
+ 352, 6
+
+
+ Magenta
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 355, 22
+
+
+ tsbSub
+
+
+ Magenta
+
+
+ ImageAboveText
+
+
+ Clone selected server
+
+
+ 0, 0
+
+
+ Add [Shadowsocks] server
+
+
+ System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ tsbCheckUpdate
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 微软雅黑, 8pt
+
+
+ Export share URLs to clipboard (Ctrl+C)
+
+
+ 411, 22
+
+
+ 355, 22
+
+
+ 微软雅黑, 8pt
+
+
+ System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Simplify PAC (need to set Core route)
+
+
+ menuExport2ClientConfig
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0
$this
-
- 4
+
+ Fill
-
- 409, 17
-
-
- 6, 56
+
+ qrCodeControl
-
- 180, 22
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Settings
+
+ tsbServer
-
- 180, 22
+
+ 0
-
- Updates
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Magenta
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 99, 53
+
+ 微软雅黑, 8pt
-
- Subscriptions
+
+ tsbPromotion
-
+
ImageAboveText
-
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ menuGlobalPAC
+
+
+ 393, 22
+
+
+ 356, 578
+
+
+ $this
+
+
+ scMain.Panel1
+
+
+ Up (U)
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ notifyMain
+
+
+ Open Http proxy and set the system proxy (global mode)
+
+
+ System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ MiddleRight
+
+
+ Magenta
+
+
+ tsbOptionSetting
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ menuAddSocksServer
+
+
+ scMain.Panel1
+
+
+ 微软雅黑, 8pt
+
+
+ 64, 53
+
+
+ 1
+
+
+ 946, 22
+
+
+ Open PAC and set the system proxy (PAC mode)
+
+
Magenta
45, 53
-
- Share
+
+ menuAddVlessServer
-
- BottomCenter
+
+ 946, 331
-
- ImageAboveText
+
+ v2rayN.Forms.QRCodeControl, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
- 6, 56
-
-
- Magenta
-
-
- 58, 53
-
-
- Settings
-
-
- ImageAboveText
-
-
- 6, 56
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd
- QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X
- jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY
- 6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3
- NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY
- B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg==
-
-
-
- BottomCenter
-
-
- Magenta
-
-
- 97, 53
-
-
- Restart service
-
-
- ImageAboveText
-
-
- 6, 56
-
-
- 393, 22
-
-
- v2rayN (this software)
-
-
- 393, 22
-
-
- Update v2rayCore
-
-
- 393, 22
-
-
- Check for updated PAC (need the HTTP proxy are ON)
+
+ Not Enabled Http Proxy
390, 6
-
+
+ 微软雅黑, 8pt
+
+
+ 952, 593
+
+
+ 411, 22
+
+
+ tsbCheckClearPACList
+
+
+ Test current service status
+
+
+ toolSslSocksPort
+
+
+ toolStripSeparator10
+
+
+ toolSslHttpPortLab
+
+
+ menuMoveBottom
+
+
393, 22
-
- Simplify PAC (need to set Core route)
+
+ 1
-
+
Magenta
-
- 128, 53
-
-
- Check for updates
-
-
- ImageAboveText
-
-
- 6, 56
-
-
- 187, 22
-
-
- v2rayN Project
-
-
- 187, 22
-
-
- V2Ray Website
-
-
- 184, 6
+
+ menuKeepNothing
187, 22
-
- Language-[English]
+
+ menuExport2ServerConfig
-
- 187, 22
-
-
- 语言-[中文简体]
-
-
- Magenta
-
-
- 48, 53
-
-
- Help
-
-
- ImageAboveText
-
-
- Magenta
-
-
- 89, 53
-
-
- Promotion
+
+ 0
ImageAboveText
@@ -940,572 +1376,139 @@
6, 56
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/
- GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg==
-
-
-
- Magenta
-
-
- 52, 53
-
-
- Close
-
-
- ImageAboveText
-
-
- 0, 0
-
-
- 952, 56
-
-
- 1
-
-
- tsMain
-
-
- System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 5
-
-
- True
-
-
- 108
-
-
- 6, 12
-
-
- 952, 593
-
-
- 4, 4, 4, 4
-
-
- v2rayN
-
-
- menuAddVmessServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddShadowsocksServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddSocksServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddCustomServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddServers
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuScanScreen
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator1
-
System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- menuRemoveServer
+
+ Export subscription (base64) share to clipboard
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuRemoveDuplicateServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuCopyServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSetDefaultServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator3
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveTop
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveUp
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveDown
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveBottom
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSelectAll
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator9
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuPingServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuTcpingServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuRealPingServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSpeedServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbTestMe
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator6
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExport2ClientConfig
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExport2ServerConfig
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExport2ShareUrl
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExport2SubContent
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbServer
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- notifyMain
-
-
- System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSysAgentMode
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuNotEnabledHttp
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuGlobal
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuGlobalPAC
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuKeep
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuKeepPAC
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuKeepNothing
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuKeepPACNothing
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuServers
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddServers2
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuScanScreen2
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuCopyPACUrl
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuUpdateSubscriptions
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator2
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExit
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- bgwScan
-
-
- System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslSocksPortLab
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslSocksPort
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslBlank1
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslHttpPortLab
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslHttpPort
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslBlank2
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 393, 22
toolSslPacPortLab
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslPacPort
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslBlank3
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslServerSpeed
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslBlank4
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator4
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSub
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSubSetting
-
-
+
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tsbSubUpdate
+
+ Exit
-
+
+ bgwScan
+
+
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tsbQRCodeSwitch
+
+ Scan QR code on the screen
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ PAC:
-
- toolStripSeparator8
+
+ Close
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 264, 22
-
- tsbOptionSetting
+
+ 0, 17
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Only open PAC and do nothing
-
- toolStripSeparator5
+
+ Export selected server for client configuration
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ toolStripSeparator2
-
- tsbReload
+
+ toolSslSocksPortLab
+
+
+ Add a custom configuration server
+
+
+ toolSslHttpPort
System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- toolStripSeparator7
+
+ 352, 6
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 952, 176
-
- tsbCheckUpdate
+
+ menuSpeedServer
-
+
System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tsbCheckUpdateN
+
+ 0
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Fill
-
- tsbCheckUpdateCore
+
+ Copy local PAC URL
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 3, 17
+
+
+ toolStripSeparator3
+
+
+ Vertical
+
+
+ 355, 22
+
+
+ 微软雅黑, 8pt
+
+
+ 355, 22
+
+
+ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tsbCheckUpdatePACList
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator13
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckClearPACList
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator10
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbHelp
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbAbout
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbV2rayWebsite
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator12
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbLanguageDef
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbLanguageZhHans
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbPromotion
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator11
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbClose
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddVlessServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MainForm
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
+
+ 228, 18
+
+
+ zh-Hans
+
+
+ True
+
+
+ 17, 17
+
+
+ 108
+
+
+ 137, 17
+
+
+ 498, 17
+
+
+ 409, 17
+
+
+ 327, 17
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx
index 21164412..ff36e4a2 100644
--- a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx
@@ -124,6 +124,12 @@
添加[VMess]服务器
+
+ 300, 22
+
+
+ 添加[VLESS]服务器
+
300, 22
@@ -241,6 +247,12 @@
测试服务器速度(多选) (Ctrl+T)
+
+ 300, 22
+
+
+ 测试当前服务状态
+
297, 6
@@ -275,7 +287,7 @@
服务器
- 301, 534
+ 301, 600
@@ -294,6 +306,15 @@
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
+
+ 196, 164
+
+
+ 195, 22
+
+
+ Http代理
+
316, 22
@@ -336,12 +357,6 @@
仅开启PAC,不改变系统代理
-
- 195, 22
-
-
- Http代理
-
195, 22
@@ -381,17 +396,80 @@
退出
-
- 196, 164
-
服务器列表
+
+ 信息
+
网速显示未启用
-
- 信息
+
+ 61, 53
+
+
+ 订阅
+
+
+ 52, 53
+
+
+ 分享
+
+
+ 76, 53
+
+
+ 参数设置
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd
+ QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X
+ jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY
+ 6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3
+ NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY
+ B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg==
+
+
+
+ 76, 53
+
+
+ 重启服务
+
+
+ 85, 53
+
+
+ 检查更新
+
+
+ 69, 53
+
+
+ 帮助
+
+
+ 68, 53
+
+
+ 推广
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/
+ GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg==
+
+
+
+ 76, 53
+
+
+ 关闭窗口
124, 22
@@ -405,47 +483,6 @@
更新订阅
-
- 61, 53
-
-
- 订阅
-
-
- 76, 53
-
-
- 参数设置
-
-
- 148, 22
-
-
- 重启服务
-
-
- 148, 22
-
-
- 测试当前服务状态
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAATdJREFUWEftloENAiEMRW8ER3AEN9ANdARHcAPdwBF0A91AN9INtC+5JvUCJwWM
- mvCTFw3QUiiU65qa/lUTYT6Ato9rJZyERwT6GFNdU+EihCYNwVhsqmgm3AR1fheOAitd9PCfNvp0HDbY
- FolV2MmZZCzX9J0FG0TRTlwFdbahIVE7Qe1IR5bYVnXCyr2yO5F1MNUBec25YtjomcCXSxhr9DmrV2Gr
- flyL4GSrYcm9tmnEZ7JsAC7DgWr5ydbXA8hOAcVjG8FTD6ocQgvXKrW8MqFWUfc1DAXgmRwVFaJQAHsh
- VbYUU87diqWA934sl/TZ7wV2Lesx0gBwsO5/1Sl5PQhLQb+G+E+bfTm9KXsRAVgHrMK+jO9gbNEzzMSh
- 6DlM9nANoa+kdCeLXLNLFtc9b2r6EXXdE4e4mdByNuG1AAAAAElFTkSuQmCC
-
-
-
- 85, 53
-
-
- 当前服务
-
223, 22
@@ -473,44 +510,10 @@
简化PAC (请设置Core路由)
-
- 85, 53
-
-
- 检查更新
-
v2rayN 项目
V2Ray 官网
-
- 69, 53
-
-
- 帮助
-
-
- 68, 53
-
-
- 推广
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAADJJREFUWEftzrENACAIRUFGdVMdTZkAG4zFXfI68kMAAD8ap9lUbpfyaDV19QAA
- 8FDEBl3RImu5VcdbAAAAAElFTkSuQmCC
-
-
-
- 76, 53
-
-
- 关闭窗口
-
-
- 分享
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs
index 01181dfb..487b307d 100644
--- a/v2rayN/v2rayN/Global.cs
+++ b/v2rayN/v2rayN/Global.cs
@@ -116,14 +116,26 @@ namespace v2rayN
///
public const string vmessProtocol = "vmess://";
///
+ /// vmess
+ ///
+ public const string vmessProtocolLite = "vmess";
+ ///
/// shadowsocks
///
public const string ssProtocol = "ss://";
///
+ /// shadowsocks
+ ///
+ public const string ssProtocolLite = "shadowsocks";
+ ///
/// socks
///
public const string socksProtocol = "socks://";
///
+ /// socks
+ ///
+ public const string socksProtocolLite = "socks";
+ ///
/// http
///
public const string httpProtocol = "http://";
@@ -131,6 +143,14 @@ namespace v2rayN
/// https
///
public const string httpsProtocol = "https://";
+ ///
+ /// vless
+ ///
+ public const string vlessProtocol = "vless://";
+ ///
+ /// vless
+ ///
+ public const string vlessProtocolLite = "vless";
///
/// pac
diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs
index fefad821..aeb94abb 100644
--- a/v2rayN/v2rayN/Handler/ConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs
@@ -960,5 +960,56 @@ namespace v2rayN.Handler
ToJsonFile(config);
return 0;
}
+
+ ///
+ /// 添加服务器或编辑
+ ///
+ ///
+ ///
+ ///
+ ///
+ 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;
+ }
+
}
}
diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
index 127f2b7a..888fe0b5 100644
--- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
@@ -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)
diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs
index 3c8bf76b..8c656a3e 100644
--- a/v2rayN/v2rayN/Mode/Config.cs
+++ b/v2rayN/v2rayN/Mode/Config.cs
@@ -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);
diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs
index 97197c1b..de099cbc 100644
--- a/v2rayN/v2rayN/Properties/AssemblyInfo.cs
+++ b/v2rayN/v2rayN/Properties/AssemblyInfo.cs
@@ -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")]
From 57299cf18253d2f4f75e41e9ee3565d7cf2195b4 Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Sat, 8 Aug 2020 13:43:26 +0800
Subject: [PATCH 14/17] up vless 3
---
v2rayN/v2rayN/Forms/MainForm.cs | 2 +-
v2rayN/v2rayN/Handler/ConfigHandler.cs | 2 +-
v2rayN/v2rayN/Handler/MainFormHandler.cs | 6 ++++--
v2rayN/v2rayN/Handler/V2rayConfigHandler.cs | 17 +++++++++++++++--
v2rayN/v2rayN/Mode/Config.cs | 2 +-
v2rayN/v2rayN/Mode/EConfigType.cs | 2 +-
6 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs
index be5fe009..bfbbc40f 100644
--- a/v2rayN/v2rayN/Forms/MainForm.cs
+++ b/v2rayN/v2rayN/Forms/MainForm.cs
@@ -513,7 +513,7 @@ namespace v2rayN.Forms
LoadV2ray();
}
}
- else if (config.vmess[index].configType == (int)EConfigType.Vless)
+ else if (config.vmess[index].configType == (int)EConfigType.VLESS)
{
AddServer5Form fm = new AddServer5Form
{
diff --git a/v2rayN/v2rayN/Handler/ConfigHandler.cs b/v2rayN/v2rayN/Handler/ConfigHandler.cs
index aeb94abb..d8a1a7f0 100644
--- a/v2rayN/v2rayN/Handler/ConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/ConfigHandler.cs
@@ -971,7 +971,7 @@ namespace v2rayN.Handler
public static int AddVlessServer(ref Config config, VmessItem vmessItem, int index)
{
vmessItem.configVersion = 2;
- vmessItem.configType = (int)EConfigType.Vless;
+ vmessItem.configType = (int)EConfigType.VLESS;
vmessItem.address = vmessItem.address.TrimEx();
vmessItem.id = vmessItem.id.TrimEx();
diff --git a/v2rayN/v2rayN/Handler/MainFormHandler.cs b/v2rayN/v2rayN/Handler/MainFormHandler.cs
index 83865d92..419ba374 100644
--- a/v2rayN/v2rayN/Handler/MainFormHandler.cs
+++ b/v2rayN/v2rayN/Handler/MainFormHandler.cs
@@ -72,7 +72,8 @@ namespace v2rayN.Handler
{
return;
}
- if (config.vmess[index].configType != (int)EConfigType.Vmess)
+ if (config.vmess[index].configType != (int)EConfigType.Vmess
+ && config.vmess[index].configType != (int)EConfigType.VLESS)
{
UI.Show(UIRes.I18N("NonVmessService"));
return;
@@ -112,7 +113,8 @@ namespace v2rayN.Handler
{
return;
}
- if (config.vmess[index].configType != (int)EConfigType.Vmess)
+ if (config.vmess[index].configType != (int)EConfigType.Vmess
+ && config.vmess[index].configType != (int)EConfigType.VLESS)
{
UI.Show(UIRes.I18N("NonVmessService"));
return;
diff --git a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
index 888fe0b5..535cb887 100644
--- a/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
+++ b/v2rayN/v2rayN/Handler/V2rayConfigHandler.cs
@@ -438,7 +438,7 @@ namespace v2rayN.Handler
outbound.protocol = Global.socksProtocolLite;
outbound.settings.vnext = null;
}
- else if (config.configType() == (int)EConfigType.Vless)
+ else if (config.configType() == (int)EConfigType.VLESS)
{
VnextItem vnextItem;
if (outbound.settings.vnext.Count <= 0)
@@ -466,6 +466,7 @@ namespace v2rayN.Handler
}
//远程服务器用户ID
usersItem.id = config.id();
+ usersItem.alterId = 0;
usersItem.email = Global.userEMail;
usersItem.encryption = config.security();
@@ -888,9 +889,21 @@ namespace v2rayN.Handler
//远程服务器用户ID
usersItem.id = config.id();
- usersItem.alterId = config.alterId();
usersItem.email = Global.userEMail;
+ if (config.configType() == (int)EConfigType.Vmess)
+ {
+ inbound.protocol = Global.vmessProtocolLite;
+ usersItem.alterId = config.alterId();
+
+ }
+ else if (config.configType() == (int)EConfigType.VLESS)
+ {
+ inbound.protocol = Global.vlessProtocolLite;
+ usersItem.alterId = 0;
+ inbound.settings.decryption = config.security();
+ }
+
//远程服务器底层传输配置
StreamSettings streamSettings = inbound.streamSettings;
boundStreamSettings(config, "in", ref streamSettings);
diff --git a/v2rayN/v2rayN/Mode/Config.cs b/v2rayN/v2rayN/Mode/Config.cs
index 8c656a3e..d2450fd2 100644
--- a/v2rayN/v2rayN/Mode/Config.cs
+++ b/v2rayN/v2rayN/Mode/Config.cs
@@ -422,7 +422,7 @@ namespace v2rayN.Mode
{
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
}
- if (configType == (int)EConfigType.Vless)
+ if (configType == (int)EConfigType.VLESS)
{
summary += string.Format("{0}({1}:{2})", remarks, addr, port);
}
diff --git a/v2rayN/v2rayN/Mode/EConfigType.cs b/v2rayN/v2rayN/Mode/EConfigType.cs
index 2d7ab219..13381ea5 100644
--- a/v2rayN/v2rayN/Mode/EConfigType.cs
+++ b/v2rayN/v2rayN/Mode/EConfigType.cs
@@ -7,6 +7,6 @@ namespace v2rayN.Mode
Custom = 2,
Shadowsocks = 3,
Socks = 4,
- Vless = 5
+ VLESS = 5
}
}
From 478521d6d989e179a8fd514eb8bad6f9156b42d1 Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Sat, 8 Aug 2020 13:47:19 +0800
Subject: [PATCH 15/17] Update AssemblyInfo.cs
---
v2rayN/v2rayN/Properties/AssemblyInfo.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/v2rayN/v2rayN/Properties/AssemblyInfo.cs b/v2rayN/v2rayN/Properties/AssemblyInfo.cs
index de099cbc..2e8c5a95 100644
--- a/v2rayN/v2rayN/Properties/AssemblyInfo.cs
+++ b/v2rayN/v2rayN/Properties/AssemblyInfo.cs
@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
// 方法是按如下所示使用“*”:
//[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0")]
-[assembly: AssemblyFileVersion("3.20")]
+[assembly: AssemblyFileVersion("3.21")]
From 76e67693fa27d5efaabc7f192b276a581db93193 Mon Sep 17 00:00:00 2001
From: RPRX <63339210+rprx@users.noreply.github.com>
Date: Sat, 8 Aug 2020 08:10:23 +0000
Subject: [PATCH 16/17] =?UTF-8?q?=E5=8A=A0=E5=AF=86=E6=96=B9=E5=BC=8F(decr?=
=?UTF-8?q?yption)=20->=20=E5=8A=A0=E5=AF=86(encryption)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
index b5001a79..e518fc44 100644
--- a/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.zh-Hans.resx
@@ -149,10 +149,10 @@
别名(remarks)
- 125, 12
+ 107, 12
- 加密方式(decryption)
+ 加密(encryption)
65, 12
@@ -299,4 +299,4 @@
编辑或添加[VLESS]服务器
-
\ No newline at end of file
+
From c0430536a6a05bd6599aebc8e00972201b4386ee Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Sat, 8 Aug 2020 17:07:23 +0800
Subject: [PATCH 17/17] up vless 4
---
.../v2rayN/Forms/AddServer5Form.Designer.cs | 32 +-
v2rayN/v2rayN/Forms/AddServer5Form.resx | 2107 ++++++++---------
.../v2rayN/Forms/AddServer5Form.zh-Hans.resx | 92 +-
3 files changed, 1114 insertions(+), 1117 deletions(-)
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
index f290e0d9..2a58add6 100644
--- a/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.Designer.cs
@@ -85,15 +85,14 @@
//
// btnClose
//
- resources.ApplyResources(this.btnClose, "btnClose");
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ resources.ApplyResources(this.btnClose, "btnClose");
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);
@@ -108,6 +107,7 @@
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;
//
@@ -125,7 +125,6 @@
//
// groupBox2
//
- resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Controls.Add(this.label24);
this.groupBox2.Controls.Add(this.label23);
this.groupBox2.Controls.Add(this.panTlsMore);
@@ -146,6 +145,7 @@
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;
//
@@ -161,9 +161,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
@@ -173,13 +173,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
@@ -199,7 +199,6 @@
//
// cmbNetwork
//
- resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbNetwork.FormattingEnabled = true;
this.cmbNetwork.Items.AddRange(new object[] {
@@ -208,6 +207,7 @@
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);
//
@@ -248,12 +248,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);
//
@@ -279,7 +279,6 @@
//
// cmbHeaderType
//
- resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbHeaderType.FormattingEnabled = true;
this.cmbHeaderType.Items.AddRange(new object[] {
@@ -290,6 +289,7 @@
resources.GetString("cmbHeaderType.Items4"),
resources.GetString("cmbHeaderType.Items5"),
resources.GetString("cmbHeaderType.Items6")});
+ resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
this.cmbHeaderType.Name = "cmbHeaderType";
//
// label8
@@ -299,11 +299,11 @@
//
// cmbSecurity
//
- resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
this.cmbSecurity.FormattingEnabled = true;
this.cmbSecurity.Items.AddRange(new object[] {
resources.GetString("cmbSecurity.Items")});
+ resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
this.cmbSecurity.Name = "cmbSecurity";
//
// txtRemarks
@@ -353,9 +353,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
@@ -372,42 +372,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
//
- resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
this.MenuItemImportClient.Name = "MenuItemImportClient";
+ resources.ApplyResources(this.MenuItemImportClient, "MenuItemImportClient");
this.MenuItemImportClient.Click += new System.EventHandler(this.MenuItemImportClient_Click);
//
// MenuItemImportServer
//
- resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
this.MenuItemImportServer.Name = "MenuItemImportServer";
+ resources.ApplyResources(this.MenuItemImportServer, "MenuItemImportServer");
this.MenuItemImportServer.Click += new System.EventHandler(this.MenuItemImportServer_Click);
//
// toolStripSeparator1
//
- resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
this.toolStripSeparator1.Name = "toolStripSeparator1";
+ resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
//
// MenuItemImportClipboard
//
- resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
this.MenuItemImportClipboard.Name = "MenuItemImportClipboard";
+ resources.ApplyResources(this.MenuItemImportClipboard, "MenuItemImportClipboard");
this.MenuItemImportClipboard.Click += new System.EventHandler(this.MenuItemImportClipboard_Click);
//
// AddServer5Form
diff --git a/v2rayN/v2rayN/Forms/AddServer5Form.resx b/v2rayN/v2rayN/Forms/AddServer5Form.resx
index 154a4a9c..9bc18f5d 100644
--- a/v2rayN/v2rayN/Forms/AddServer5Form.resx
+++ b/v2rayN/v2rayN/Forms/AddServer5Form.resx
@@ -117,1195 +117,1192 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 4
-
-
- 113, 12
+
+ 396, 17
-
- 285, 179
-
-
- 124, 62
-
-
- 6
-
-
- Path
-
-
- 83, 12
-
-
- Transport protocol(network)
-
-
- 7
-
-
- groupBox1
-
-
- 1
-
-
- label15
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- cmbStreamSecurity
-
-
- 3)h2 host Separated by commas (,)
-
-
- none
-
-
-
- Top
-
-
-
- 3
-
-
- 17
-
-
- false
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 19
-
-
- True
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 6
-
-
- 21
-
-
- 411, 83
-
-
- Address
-
-
- groupBox1
-
-
+
75, 23
-
- 59, 12
-
-
- 1)ws path
-
-
- 19
-
-
- True
-
-
- 26
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtId
-
-
- True
-
-
- 729, 499
-
-
-
-
-
- 12, 89
-
-
- groupBox2
-
-
- tls
-
-
- True
-
-
- 299, 12
-
-
- cmbAllowInsecure
-
-
- 127, 85
-
-
- 16
-
-
- 12, 179
+
+
+ 4
&Cancel
-
- label10
-
-
- 723, 281
-
-
- 5
-
-
- label21
-
-
- 359, 21
-
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Edit or add a [VLESS] server
-
-
- 143, 12
-
-
- groupBox2
-
-
- toolStripSeparator1
-
-
- NoControl
-
-
- 21
-
-
- label11
-
-
- 5
-
-
- 158, 90
-
-
- 2
-
-
- 29, 12
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 237, 22
-
-
- 12
-
-
- 3)QUIC key
-
-
- 127, 56
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtPort
-
-
- 2
-
-
- groupBox2
-
-
- Bottom
-
-
- True
-
-
- 127, 175
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
+
+ btnClose
System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 29, 12
+
+ panel2
-
- True
+
+ 0
-
- ws
+
+ 411, 83
-
- 729, 60
+
+ 75, 23
-
- 9, 66
-
-
- 13
-
-
- Import server configuration
-
-
- 6, 12
-
-
- 1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 15
-
-
- label17
-
-
- panel1
-
-
- label14
-
-
- groupBox2
-
-
- 5
-
-
- 215, 12
-
-
- 0, 0
-
-
- 396, 17
-
-
- 338, 35
-
-
- 12, 60
-
-
- MenuItemImportClient
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 23
&Generate
-
- Encryption method (encryption)
+
+ btnGUID
-
- txtRemarks
+
+