diff --git a/.gitignore b/.gitignore index d0d8fe2b816..3e11ffd51cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -## Ignore Visual Studio temporary files, build results, and +## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore @@ -402,3 +402,6 @@ FodyWeavers.xsd # JetBrains Rider .idea/ *.sln.iml + +# MiMoCode +.mimocode/ diff --git a/v2rayN/ServiceLib/Handler/ConfigHandler.cs b/v2rayN/ServiceLib/Handler/ConfigHandler.cs index eeece698dc7..055fe05cad1 100644 --- a/v2rayN/ServiceLib/Handler/ConfigHandler.cs +++ b/v2rayN/ServiceLib/Handler/ConfigHandler.cs @@ -143,6 +143,10 @@ public static class ConfigHandler { config.SpeedTestItem.UdpTestTarget = Global.UdpTestTargets.First(); } + if (config.SpeedTestItem.IPAPIUrl.IsNullOrEmpty()) + { + config.SpeedTestItem.IPAPIUrl = Global.IPAPIUrls.First(); + } config.Mux4RayItem ??= new() { diff --git a/v2rayN/ServiceLib/Models/Dto/IPAPIInfo.cs b/v2rayN/ServiceLib/Models/Dto/IPAPIInfo.cs index 0257ab67b4b..bf10e9271dd 100644 --- a/v2rayN/ServiceLib/Models/Dto/IPAPIInfo.cs +++ b/v2rayN/ServiceLib/Models/Dto/IPAPIInfo.cs @@ -22,7 +22,6 @@ public readonly record struct IpInfoResult(string Country, string? Ip) { public override string ToString() { - var emoji = Utils.IsWindows() ? null : Country.CountryToEmoji(); - return $"{emoji}({Country}) {Ip}"; + return $"({Country}) {Ip}"; } } diff --git a/v2rayN/v2rayN/App.xaml b/v2rayN/v2rayN/App.xaml index c09fa4cdf59..454e4584615 100644 --- a/v2rayN/v2rayN/App.xaml +++ b/v2rayN/v2rayN/App.xaml @@ -20,6 +20,7 @@ 11 + = 4) + { + var closeIdx = text.IndexOf(')'); + if (closeIdx == 2 || closeIdx == 3) + { + return text.Substring(1, closeIdx - 1).Trim(); + } + } + + // Format: "XX" - just the code + if (text.Length == 2) + { + return text; + } + + return null; + } +} diff --git a/v2rayN/v2rayN/Helper/FlagImageHelper.cs b/v2rayN/v2rayN/Helper/FlagImageHelper.cs new file mode 100644 index 00000000000..f08ba972f9c --- /dev/null +++ b/v2rayN/v2rayN/Helper/FlagImageHelper.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Concurrent; +using System.IO; +using System.Windows.Media.Imaging; + +namespace v2rayN.Helper; + +public static class FlagImageHelper +{ + private static readonly ConcurrentDictionary _cache = new(StringComparer.OrdinalIgnoreCase); + private static readonly string _flagsDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources", "Flags"); + + public static BitmapImage? GetFlagImage(string? countryCode) + { + if (string.IsNullOrEmpty(countryCode) || countryCode.Length != 2) + { + return null; + } + + var key = countryCode.ToUpperInvariant(); + if (_cache.TryGetValue(key, out var cached)) + { + return cached; + } + + var pngPath = Path.Combine(_flagsDir, $"{key}.png"); + if (!File.Exists(pngPath)) + { + return null; + } + + try + { + var bitmap = new BitmapImage(); + bitmap.BeginInit(); + bitmap.UriSource = new Uri(pngPath); + bitmap.CacheOption = BitmapCacheOption.OnLoad; + bitmap.EndInit(); + bitmap.Freeze(); + + _cache[key] = bitmap; + return bitmap; + } + catch + { + return null; + } + } +} diff --git a/v2rayN/v2rayN/Resources/Flags/ad.png b/v2rayN/v2rayN/Resources/Flags/ad.png new file mode 100644 index 00000000000..13150dcd006 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ad.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ae.png b/v2rayN/v2rayN/Resources/Flags/ae.png new file mode 100644 index 00000000000..7310ffdda6a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ae.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/af.png b/v2rayN/v2rayN/Resources/Flags/af.png new file mode 100644 index 00000000000..1e8acab125c Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/af.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ag.png b/v2rayN/v2rayN/Resources/Flags/ag.png new file mode 100644 index 00000000000..5bdf8e116a8 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ag.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ai.png b/v2rayN/v2rayN/Resources/Flags/ai.png new file mode 100644 index 00000000000..642a0fac65f Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ai.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/al.png b/v2rayN/v2rayN/Resources/Flags/al.png new file mode 100644 index 00000000000..9dbb8190527 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/al.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/am.png b/v2rayN/v2rayN/Resources/Flags/am.png new file mode 100644 index 00000000000..8e062149980 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/am.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ao.png b/v2rayN/v2rayN/Resources/Flags/ao.png new file mode 100644 index 00000000000..e0077b46b22 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ao.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/aq.png b/v2rayN/v2rayN/Resources/Flags/aq.png new file mode 100644 index 00000000000..77338e5a240 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/aq.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ar.png b/v2rayN/v2rayN/Resources/Flags/ar.png new file mode 100644 index 00000000000..0d3e5eba1c6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ar.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/as.png b/v2rayN/v2rayN/Resources/Flags/as.png new file mode 100644 index 00000000000..666271527ca Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/as.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/at.png b/v2rayN/v2rayN/Resources/Flags/at.png new file mode 100644 index 00000000000..10844d868e1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/at.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/au.png b/v2rayN/v2rayN/Resources/Flags/au.png new file mode 100644 index 00000000000..b4bb251d379 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/au.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/aw.png b/v2rayN/v2rayN/Resources/Flags/aw.png new file mode 100644 index 00000000000..d6df4e5d374 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/aw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ax.png b/v2rayN/v2rayN/Resources/Flags/ax.png new file mode 100644 index 00000000000..d7c3b1819f1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ax.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/az.png b/v2rayN/v2rayN/Resources/Flags/az.png new file mode 100644 index 00000000000..f87f8e7b14a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/az.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ba.png b/v2rayN/v2rayN/Resources/Flags/ba.png new file mode 100644 index 00000000000..2708ec961de Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ba.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bb.png b/v2rayN/v2rayN/Resources/Flags/bb.png new file mode 100644 index 00000000000..042c7909a4d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bb.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bd.png b/v2rayN/v2rayN/Resources/Flags/bd.png new file mode 100644 index 00000000000..7936534dc29 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bd.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/be.png b/v2rayN/v2rayN/Resources/Flags/be.png new file mode 100644 index 00000000000..0ea2dae6d08 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/be.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bf.png b/v2rayN/v2rayN/Resources/Flags/bf.png new file mode 100644 index 00000000000..b289d6b92d6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bf.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bg.png b/v2rayN/v2rayN/Resources/Flags/bg.png new file mode 100644 index 00000000000..cd5a79618e7 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bh.png b/v2rayN/v2rayN/Resources/Flags/bh.png new file mode 100644 index 00000000000..3a3031bd632 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bh.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bi.png b/v2rayN/v2rayN/Resources/Flags/bi.png new file mode 100644 index 00000000000..95b903c0e3a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bi.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bj.png b/v2rayN/v2rayN/Resources/Flags/bj.png new file mode 100644 index 00000000000..5cc0ce254ee Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bj.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bl.png b/v2rayN/v2rayN/Resources/Flags/bl.png new file mode 100644 index 00000000000..71b89994791 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bl.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bm.png b/v2rayN/v2rayN/Resources/Flags/bm.png new file mode 100644 index 00000000000..c462fb02efd Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bn.png b/v2rayN/v2rayN/Resources/Flags/bn.png new file mode 100644 index 00000000000..220987ba22d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bo.png b/v2rayN/v2rayN/Resources/Flags/bo.png new file mode 100644 index 00000000000..4b8d98e0000 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bo.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/br.png b/v2rayN/v2rayN/Resources/Flags/br.png new file mode 100644 index 00000000000..7a25952aefc Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/br.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bs.png b/v2rayN/v2rayN/Resources/Flags/bs.png new file mode 100644 index 00000000000..b1d9943bf90 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bs.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bt.png b/v2rayN/v2rayN/Resources/Flags/bt.png new file mode 100644 index 00000000000..f2f07436f39 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bt.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bw.png b/v2rayN/v2rayN/Resources/Flags/bw.png new file mode 100644 index 00000000000..4e5c980bf84 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/by.png b/v2rayN/v2rayN/Resources/Flags/by.png new file mode 100644 index 00000000000..fa2f2e4bafc Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/by.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/bz.png b/v2rayN/v2rayN/Resources/Flags/bz.png new file mode 100644 index 00000000000..a8742fa692a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/bz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ca.png b/v2rayN/v2rayN/Resources/Flags/ca.png new file mode 100644 index 00000000000..62720175d4d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ca.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cc.png b/v2rayN/v2rayN/Resources/Flags/cc.png new file mode 100644 index 00000000000..07a896c397b Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cc.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cd.png b/v2rayN/v2rayN/Resources/Flags/cd.png new file mode 100644 index 00000000000..7143bd07666 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cd.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cf.png b/v2rayN/v2rayN/Resources/Flags/cf.png new file mode 100644 index 00000000000..649a0f808ae Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cf.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cg.png b/v2rayN/v2rayN/Resources/Flags/cg.png new file mode 100644 index 00000000000..bd78fa9e20b Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ch.png b/v2rayN/v2rayN/Resources/Flags/ch.png new file mode 100644 index 00000000000..d125ab0ddd4 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ch.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ci.png b/v2rayN/v2rayN/Resources/Flags/ci.png new file mode 100644 index 00000000000..9e306e18410 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ci.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ck.png b/v2rayN/v2rayN/Resources/Flags/ck.png new file mode 100644 index 00000000000..af8d3d33d3e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ck.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cl.png b/v2rayN/v2rayN/Resources/Flags/cl.png new file mode 100644 index 00000000000..6e1bd7b7763 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cl.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cm.png b/v2rayN/v2rayN/Resources/Flags/cm.png new file mode 100644 index 00000000000..a9b53253fbe Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cn.png b/v2rayN/v2rayN/Resources/Flags/cn.png new file mode 100644 index 00000000000..a8aee61b64a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/co.png b/v2rayN/v2rayN/Resources/Flags/co.png new file mode 100644 index 00000000000..8e0d8676955 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/co.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cr.png b/v2rayN/v2rayN/Resources/Flags/cr.png new file mode 100644 index 00000000000..77886fadb0c Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cu.png b/v2rayN/v2rayN/Resources/Flags/cu.png new file mode 100644 index 00000000000..78f2c5eecbb Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cu.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cv.png b/v2rayN/v2rayN/Resources/Flags/cv.png new file mode 100644 index 00000000000..5d7fd6edc88 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cv.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cw.png b/v2rayN/v2rayN/Resources/Flags/cw.png new file mode 100644 index 00000000000..7a3c313019a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cx.png b/v2rayN/v2rayN/Resources/Flags/cx.png new file mode 100644 index 00000000000..6b48347f7c4 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cx.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cy.png b/v2rayN/v2rayN/Resources/Flags/cy.png new file mode 100644 index 00000000000..28c1daa0004 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cy.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/cz.png b/v2rayN/v2rayN/Resources/Flags/cz.png new file mode 100644 index 00000000000..9dd9ddeddcd Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/cz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/de.png b/v2rayN/v2rayN/Resources/Flags/de.png new file mode 100644 index 00000000000..b10182294eb Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/de.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/dj.png b/v2rayN/v2rayN/Resources/Flags/dj.png new file mode 100644 index 00000000000..3a4bf71e99d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/dj.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/dk.png b/v2rayN/v2rayN/Resources/Flags/dk.png new file mode 100644 index 00000000000..b3378438f1a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/dk.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/do.png b/v2rayN/v2rayN/Resources/Flags/do.png new file mode 100644 index 00000000000..4b3acbc10fd Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/do.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/dz.png b/v2rayN/v2rayN/Resources/Flags/dz.png new file mode 100644 index 00000000000..25d46d233ed Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/dz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ec.png b/v2rayN/v2rayN/Resources/Flags/ec.png new file mode 100644 index 00000000000..022e18db3df Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ec.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ee.png b/v2rayN/v2rayN/Resources/Flags/ee.png new file mode 100644 index 00000000000..79c3d226dac Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ee.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/eg.png b/v2rayN/v2rayN/Resources/Flags/eg.png new file mode 100644 index 00000000000..f82b65b5943 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/eg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/er.png b/v2rayN/v2rayN/Resources/Flags/er.png new file mode 100644 index 00000000000..a30444f905e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/er.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/es.png b/v2rayN/v2rayN/Resources/Flags/es.png new file mode 100644 index 00000000000..df14bde87ca Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/es.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/et.png b/v2rayN/v2rayN/Resources/Flags/et.png new file mode 100644 index 00000000000..4bf8dad3433 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/et.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/fi.png b/v2rayN/v2rayN/Resources/Flags/fi.png new file mode 100644 index 00000000000..21576536439 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/fi.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/fj.png b/v2rayN/v2rayN/Resources/Flags/fj.png new file mode 100644 index 00000000000..4d5ed5726bf Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/fj.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/fk.png b/v2rayN/v2rayN/Resources/Flags/fk.png new file mode 100644 index 00000000000..86bce4c74a3 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/fk.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/fm.png b/v2rayN/v2rayN/Resources/Flags/fm.png new file mode 100644 index 00000000000..061df890629 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/fm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/fo.png b/v2rayN/v2rayN/Resources/Flags/fo.png new file mode 100644 index 00000000000..029023c6a19 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/fo.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/fr.png b/v2rayN/v2rayN/Resources/Flags/fr.png new file mode 100644 index 00000000000..63871f58be1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/fr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ga.png b/v2rayN/v2rayN/Resources/Flags/ga.png new file mode 100644 index 00000000000..816cf34fc24 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ga.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gb.png b/v2rayN/v2rayN/Resources/Flags/gb.png new file mode 100644 index 00000000000..736306b46a1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gb.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gd.png b/v2rayN/v2rayN/Resources/Flags/gd.png new file mode 100644 index 00000000000..a3363594822 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gd.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ge.png b/v2rayN/v2rayN/Resources/Flags/ge.png new file mode 100644 index 00000000000..0c4a0a99825 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ge.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gf.png b/v2rayN/v2rayN/Resources/Flags/gf.png new file mode 100644 index 00000000000..927697ae9d0 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gf.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gg.png b/v2rayN/v2rayN/Resources/Flags/gg.png new file mode 100644 index 00000000000..c83340260d1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gh.png b/v2rayN/v2rayN/Resources/Flags/gh.png new file mode 100644 index 00000000000..6a475a2b798 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gh.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gi.png b/v2rayN/v2rayN/Resources/Flags/gi.png new file mode 100644 index 00000000000..4cb2ab91ba1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gi.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gl.png b/v2rayN/v2rayN/Resources/Flags/gl.png new file mode 100644 index 00000000000..87c775c68b0 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gl.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gm.png b/v2rayN/v2rayN/Resources/Flags/gm.png new file mode 100644 index 00000000000..2740a37416f Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gn.png b/v2rayN/v2rayN/Resources/Flags/gn.png new file mode 100644 index 00000000000..36c362c818f Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gp.png b/v2rayN/v2rayN/Resources/Flags/gp.png new file mode 100644 index 00000000000..f3760aaa9d2 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gp.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gq.png b/v2rayN/v2rayN/Resources/Flags/gq.png new file mode 100644 index 00000000000..ed7207839df Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gq.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gr.png b/v2rayN/v2rayN/Resources/Flags/gr.png new file mode 100644 index 00000000000..79a806ba963 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gs.png b/v2rayN/v2rayN/Resources/Flags/gs.png new file mode 100644 index 00000000000..0a4393874e4 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gs.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gt.png b/v2rayN/v2rayN/Resources/Flags/gt.png new file mode 100644 index 00000000000..7abd8a675f8 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gt.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gu.png b/v2rayN/v2rayN/Resources/Flags/gu.png new file mode 100644 index 00000000000..67c9c338457 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gu.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gw.png b/v2rayN/v2rayN/Resources/Flags/gw.png new file mode 100644 index 00000000000..1247e026ef1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/gy.png b/v2rayN/v2rayN/Resources/Flags/gy.png new file mode 100644 index 00000000000..9af6e73d0eb Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/gy.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/hk.png b/v2rayN/v2rayN/Resources/Flags/hk.png new file mode 100644 index 00000000000..5ef1415038d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/hk.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/hn.png b/v2rayN/v2rayN/Resources/Flags/hn.png new file mode 100644 index 00000000000..f6932cecbbd Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/hn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/hr.png b/v2rayN/v2rayN/Resources/Flags/hr.png new file mode 100644 index 00000000000..dcd76108139 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/hr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ht.png b/v2rayN/v2rayN/Resources/Flags/ht.png new file mode 100644 index 00000000000..b8cbe1103d5 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ht.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/hu.png b/v2rayN/v2rayN/Resources/Flags/hu.png new file mode 100644 index 00000000000..0c698dc8526 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/hu.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/id.png b/v2rayN/v2rayN/Resources/Flags/id.png new file mode 100644 index 00000000000..767ab87a61e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/id.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ie.png b/v2rayN/v2rayN/Resources/Flags/ie.png new file mode 100644 index 00000000000..490c67a48be Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ie.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/il.png b/v2rayN/v2rayN/Resources/Flags/il.png new file mode 100644 index 00000000000..8a7cca907d8 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/il.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/im.png b/v2rayN/v2rayN/Resources/Flags/im.png new file mode 100644 index 00000000000..8229192bfac Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/im.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/in.png b/v2rayN/v2rayN/Resources/Flags/in.png new file mode 100644 index 00000000000..f88b761d4ae Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/in.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/io.png b/v2rayN/v2rayN/Resources/Flags/io.png new file mode 100644 index 00000000000..a198c5156b0 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/io.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/iq.png b/v2rayN/v2rayN/Resources/Flags/iq.png new file mode 100644 index 00000000000..8d271ac962e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/iq.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ir.png b/v2rayN/v2rayN/Resources/Flags/ir.png new file mode 100644 index 00000000000..69e63c5ccba Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ir.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/is.png b/v2rayN/v2rayN/Resources/Flags/is.png new file mode 100644 index 00000000000..d6a46cff6f2 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/is.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/it.png b/v2rayN/v2rayN/Resources/Flags/it.png new file mode 100644 index 00000000000..03deafeba0c Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/it.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/je.png b/v2rayN/v2rayN/Resources/Flags/je.png new file mode 100644 index 00000000000..98feeaf628e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/je.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/jm.png b/v2rayN/v2rayN/Resources/Flags/jm.png new file mode 100644 index 00000000000..0ea4b285526 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/jm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/jo.png b/v2rayN/v2rayN/Resources/Flags/jo.png new file mode 100644 index 00000000000..c007d04a58d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/jo.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/jp.png b/v2rayN/v2rayN/Resources/Flags/jp.png new file mode 100644 index 00000000000..a132b236a51 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/jp.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ke.png b/v2rayN/v2rayN/Resources/Flags/ke.png new file mode 100644 index 00000000000..9639610a923 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ke.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/kg.png b/v2rayN/v2rayN/Resources/Flags/kg.png new file mode 100644 index 00000000000..d090b5d512e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/kg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/kh.png b/v2rayN/v2rayN/Resources/Flags/kh.png new file mode 100644 index 00000000000..6827bb1aa6c Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/kh.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ki.png b/v2rayN/v2rayN/Resources/Flags/ki.png new file mode 100644 index 00000000000..84be1f2d044 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ki.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/km.png b/v2rayN/v2rayN/Resources/Flags/km.png new file mode 100644 index 00000000000..03872c51bf6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/km.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/kn.png b/v2rayN/v2rayN/Resources/Flags/kn.png new file mode 100644 index 00000000000..a98fd3c6524 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/kn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/kp.png b/v2rayN/v2rayN/Resources/Flags/kp.png new file mode 100644 index 00000000000..49295c4734e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/kp.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/kr.png b/v2rayN/v2rayN/Resources/Flags/kr.png new file mode 100644 index 00000000000..c955479d40d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/kr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/kw.png b/v2rayN/v2rayN/Resources/Flags/kw.png new file mode 100644 index 00000000000..ae2b1bd73b8 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/kw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ky.png b/v2rayN/v2rayN/Resources/Flags/ky.png new file mode 100644 index 00000000000..155596b1173 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ky.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/kz.png b/v2rayN/v2rayN/Resources/Flags/kz.png new file mode 100644 index 00000000000..e171af106d3 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/kz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/la.png b/v2rayN/v2rayN/Resources/Flags/la.png new file mode 100644 index 00000000000..18c5f988a0a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/la.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/lb.png b/v2rayN/v2rayN/Resources/Flags/lb.png new file mode 100644 index 00000000000..94d173b1ea0 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/lb.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/lc.png b/v2rayN/v2rayN/Resources/Flags/lc.png new file mode 100644 index 00000000000..73ec2343018 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/lc.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/li.png b/v2rayN/v2rayN/Resources/Flags/li.png new file mode 100644 index 00000000000..333be3ab466 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/li.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/lk.png b/v2rayN/v2rayN/Resources/Flags/lk.png new file mode 100644 index 00000000000..dad9a961168 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/lk.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/lr.png b/v2rayN/v2rayN/Resources/Flags/lr.png new file mode 100644 index 00000000000..ce04f6b8664 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/lr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ls.png b/v2rayN/v2rayN/Resources/Flags/ls.png new file mode 100644 index 00000000000..fb0e566f67d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ls.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/lt.png b/v2rayN/v2rayN/Resources/Flags/lt.png new file mode 100644 index 00000000000..ba5a4eb6f08 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/lt.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/lu.png b/v2rayN/v2rayN/Resources/Flags/lu.png new file mode 100644 index 00000000000..a61c91e2db5 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/lu.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/lv.png b/v2rayN/v2rayN/Resources/Flags/lv.png new file mode 100644 index 00000000000..6d7841bd313 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/lv.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ly.png b/v2rayN/v2rayN/Resources/Flags/ly.png new file mode 100644 index 00000000000..f4652ffb981 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ly.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ma.png b/v2rayN/v2rayN/Resources/Flags/ma.png new file mode 100644 index 00000000000..b3010e2f327 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ma.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mc.png b/v2rayN/v2rayN/Resources/Flags/mc.png new file mode 100644 index 00000000000..b050b05ad95 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mc.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/md.png b/v2rayN/v2rayN/Resources/Flags/md.png new file mode 100644 index 00000000000..c039263ec95 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/md.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/me.png b/v2rayN/v2rayN/Resources/Flags/me.png new file mode 100644 index 00000000000..ca14b7b6d6c Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/me.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mf.png b/v2rayN/v2rayN/Resources/Flags/mf.png new file mode 100644 index 00000000000..63871f58be1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mf.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mg.png b/v2rayN/v2rayN/Resources/Flags/mg.png new file mode 100644 index 00000000000..61568f9a6a4 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mh.png b/v2rayN/v2rayN/Resources/Flags/mh.png new file mode 100644 index 00000000000..33645bd0b9d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mh.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mk.png b/v2rayN/v2rayN/Resources/Flags/mk.png new file mode 100644 index 00000000000..865b3729dfc Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mk.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ml.png b/v2rayN/v2rayN/Resources/Flags/ml.png new file mode 100644 index 00000000000..0eb57364718 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ml.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mm.png b/v2rayN/v2rayN/Resources/Flags/mm.png new file mode 100644 index 00000000000..7e53f51f4b4 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mn.png b/v2rayN/v2rayN/Resources/Flags/mn.png new file mode 100644 index 00000000000..dd041c4d0cb Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mo.png b/v2rayN/v2rayN/Resources/Flags/mo.png new file mode 100644 index 00000000000..e49a2bd8a66 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mo.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mp.png b/v2rayN/v2rayN/Resources/Flags/mp.png new file mode 100644 index 00000000000..9cde75868f1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mp.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mq.png b/v2rayN/v2rayN/Resources/Flags/mq.png new file mode 100644 index 00000000000..1035eca708d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mq.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mr.png b/v2rayN/v2rayN/Resources/Flags/mr.png new file mode 100644 index 00000000000..87ac626e7d3 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ms.png b/v2rayN/v2rayN/Resources/Flags/ms.png new file mode 100644 index 00000000000..a0c9d1ed821 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ms.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mt.png b/v2rayN/v2rayN/Resources/Flags/mt.png new file mode 100644 index 00000000000..61798a96664 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mt.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mu.png b/v2rayN/v2rayN/Resources/Flags/mu.png new file mode 100644 index 00000000000..25af4863b9f Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mu.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mv.png b/v2rayN/v2rayN/Resources/Flags/mv.png new file mode 100644 index 00000000000..2dd059732d5 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mv.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mw.png b/v2rayN/v2rayN/Resources/Flags/mw.png new file mode 100644 index 00000000000..e9d9b3e4af3 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mx.png b/v2rayN/v2rayN/Resources/Flags/mx.png new file mode 100644 index 00000000000..4b2cb853437 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mx.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/my.png b/v2rayN/v2rayN/Resources/Flags/my.png new file mode 100644 index 00000000000..66b81e96f97 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/my.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/mz.png b/v2rayN/v2rayN/Resources/Flags/mz.png new file mode 100644 index 00000000000..84d9085d640 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/mz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/na.png b/v2rayN/v2rayN/Resources/Flags/na.png new file mode 100644 index 00000000000..f567744d66f Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/na.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/nc.png b/v2rayN/v2rayN/Resources/Flags/nc.png new file mode 100644 index 00000000000..69c93f61d4b Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/nc.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ne.png b/v2rayN/v2rayN/Resources/Flags/ne.png new file mode 100644 index 00000000000..23aa4a4f2bc Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ne.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/nf.png b/v2rayN/v2rayN/Resources/Flags/nf.png new file mode 100644 index 00000000000..3e5302de136 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/nf.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ng.png b/v2rayN/v2rayN/Resources/Flags/ng.png new file mode 100644 index 00000000000..d11b535ae9b Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ng.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ni.png b/v2rayN/v2rayN/Resources/Flags/ni.png new file mode 100644 index 00000000000..1ef925b0ed6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ni.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/nl.png b/v2rayN/v2rayN/Resources/Flags/nl.png new file mode 100644 index 00000000000..c11308b780f Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/nl.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/no.png b/v2rayN/v2rayN/Resources/Flags/no.png new file mode 100644 index 00000000000..fd96041fc87 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/no.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/np.png b/v2rayN/v2rayN/Resources/Flags/np.png new file mode 100644 index 00000000000..11e35e7d377 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/np.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/nr.png b/v2rayN/v2rayN/Resources/Flags/nr.png new file mode 100644 index 00000000000..1daca6a708b Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/nr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/nu.png b/v2rayN/v2rayN/Resources/Flags/nu.png new file mode 100644 index 00000000000..73b3caf8727 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/nu.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/nz.png b/v2rayN/v2rayN/Resources/Flags/nz.png new file mode 100644 index 00000000000..e8876993d72 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/nz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/om.png b/v2rayN/v2rayN/Resources/Flags/om.png new file mode 100644 index 00000000000..7a7613af21a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/om.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pa.png b/v2rayN/v2rayN/Resources/Flags/pa.png new file mode 100644 index 00000000000..86b8a7132c3 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pa.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pe.png b/v2rayN/v2rayN/Resources/Flags/pe.png new file mode 100644 index 00000000000..d037bee47bd Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pe.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pf.png b/v2rayN/v2rayN/Resources/Flags/pf.png new file mode 100644 index 00000000000..e3ffc8fba73 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pf.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pg.png b/v2rayN/v2rayN/Resources/Flags/pg.png new file mode 100644 index 00000000000..d9d97ef355a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ph.png b/v2rayN/v2rayN/Resources/Flags/ph.png new file mode 100644 index 00000000000..c3cdfc74235 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ph.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pk.png b/v2rayN/v2rayN/Resources/Flags/pk.png new file mode 100644 index 00000000000..538d9f9fe42 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pk.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pl.png b/v2rayN/v2rayN/Resources/Flags/pl.png new file mode 100644 index 00000000000..b85e49f0b70 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pl.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pm.png b/v2rayN/v2rayN/Resources/Flags/pm.png new file mode 100644 index 00000000000..35352271d75 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pn.png b/v2rayN/v2rayN/Resources/Flags/pn.png new file mode 100644 index 00000000000..84df88574c9 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pr.png b/v2rayN/v2rayN/Resources/Flags/pr.png new file mode 100644 index 00000000000..0c1ed3da441 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ps.png b/v2rayN/v2rayN/Resources/Flags/ps.png new file mode 100644 index 00000000000..ba36a34725f Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ps.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pt.png b/v2rayN/v2rayN/Resources/Flags/pt.png new file mode 100644 index 00000000000..fa26bd2e384 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pt.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/pw.png b/v2rayN/v2rayN/Resources/Flags/pw.png new file mode 100644 index 00000000000..d71289b01d6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/pw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/py.png b/v2rayN/v2rayN/Resources/Flags/py.png new file mode 100644 index 00000000000..c1bf1ccb5e0 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/py.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/qa.png b/v2rayN/v2rayN/Resources/Flags/qa.png new file mode 100644 index 00000000000..4b19d4e7e06 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/qa.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/re.png b/v2rayN/v2rayN/Resources/Flags/re.png new file mode 100644 index 00000000000..c1c468d7eee Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/re.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ro.png b/v2rayN/v2rayN/Resources/Flags/ro.png new file mode 100644 index 00000000000..2ffa695e99e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ro.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/rs.png b/v2rayN/v2rayN/Resources/Flags/rs.png new file mode 100644 index 00000000000..5673b0e4532 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/rs.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ru.png b/v2rayN/v2rayN/Resources/Flags/ru.png new file mode 100644 index 00000000000..ec551ba6170 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ru.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/rw.png b/v2rayN/v2rayN/Resources/Flags/rw.png new file mode 100644 index 00000000000..0377a9a886a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/rw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sa.png b/v2rayN/v2rayN/Resources/Flags/sa.png new file mode 100644 index 00000000000..756688f1efc Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sa.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sb.png b/v2rayN/v2rayN/Resources/Flags/sb.png new file mode 100644 index 00000000000..53cc1c9100a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sb.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sc.png b/v2rayN/v2rayN/Resources/Flags/sc.png new file mode 100644 index 00000000000..a05648e74ee Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sc.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sd.png b/v2rayN/v2rayN/Resources/Flags/sd.png new file mode 100644 index 00000000000..fcffa813387 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sd.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/se.png b/v2rayN/v2rayN/Resources/Flags/se.png new file mode 100644 index 00000000000..a76d07726a8 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/se.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sg.png b/v2rayN/v2rayN/Resources/Flags/sg.png new file mode 100644 index 00000000000..71ffebc316d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sh.png b/v2rayN/v2rayN/Resources/Flags/sh.png new file mode 100644 index 00000000000..629aeb26fb0 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sh.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/si.png b/v2rayN/v2rayN/Resources/Flags/si.png new file mode 100644 index 00000000000..4f3b13b01a3 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/si.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sj.png b/v2rayN/v2rayN/Resources/Flags/sj.png new file mode 100644 index 00000000000..fd96041fc87 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sj.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sk.png b/v2rayN/v2rayN/Resources/Flags/sk.png new file mode 100644 index 00000000000..04662b9118d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sk.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sl.png b/v2rayN/v2rayN/Resources/Flags/sl.png new file mode 100644 index 00000000000..c0f3ca0bde6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sl.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sm.png b/v2rayN/v2rayN/Resources/Flags/sm.png new file mode 100644 index 00000000000..9cdbbb660f2 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sn.png b/v2rayN/v2rayN/Resources/Flags/sn.png new file mode 100644 index 00000000000..38f9d68b993 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/so.png b/v2rayN/v2rayN/Resources/Flags/so.png new file mode 100644 index 00000000000..b5e41a520e6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/so.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sr.png b/v2rayN/v2rayN/Resources/Flags/sr.png new file mode 100644 index 00000000000..27bcfec0261 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ss.png b/v2rayN/v2rayN/Resources/Flags/ss.png new file mode 100644 index 00000000000..57d775dcaa6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ss.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/st.png b/v2rayN/v2rayN/Resources/Flags/st.png new file mode 100644 index 00000000000..375f3c250a7 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/st.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sv.png b/v2rayN/v2rayN/Resources/Flags/sv.png new file mode 100644 index 00000000000..47ca72ec23c Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sv.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sx.png b/v2rayN/v2rayN/Resources/Flags/sx.png new file mode 100644 index 00000000000..6a97fd290b1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sx.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sy.png b/v2rayN/v2rayN/Resources/Flags/sy.png new file mode 100644 index 00000000000..a62736e3d2c Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sy.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/sz.png b/v2rayN/v2rayN/Resources/Flags/sz.png new file mode 100644 index 00000000000..b690f9fb84e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/sz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tc.png b/v2rayN/v2rayN/Resources/Flags/tc.png new file mode 100644 index 00000000000..6bd0f15f6b7 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tc.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/td.png b/v2rayN/v2rayN/Resources/Flags/td.png new file mode 100644 index 00000000000..0b3fa52e9ec Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/td.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tf.png b/v2rayN/v2rayN/Resources/Flags/tf.png new file mode 100644 index 00000000000..5cd4cbf4d4e Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tf.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tg.png b/v2rayN/v2rayN/Resources/Flags/tg.png new file mode 100644 index 00000000000..c4c18726052 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/th.png b/v2rayN/v2rayN/Resources/Flags/th.png new file mode 100644 index 00000000000..fefe827b79d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/th.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tj.png b/v2rayN/v2rayN/Resources/Flags/tj.png new file mode 100644 index 00000000000..5fa1909a335 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tj.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tk.png b/v2rayN/v2rayN/Resources/Flags/tk.png new file mode 100644 index 00000000000..5621dc244c6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tk.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tl.png b/v2rayN/v2rayN/Resources/Flags/tl.png new file mode 100644 index 00000000000..12f78d86099 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tl.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tm.png b/v2rayN/v2rayN/Resources/Flags/tm.png new file mode 100644 index 00000000000..3817c5d72e5 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tn.png b/v2rayN/v2rayN/Resources/Flags/tn.png new file mode 100644 index 00000000000..c910bfb3af1 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/to.png b/v2rayN/v2rayN/Resources/Flags/to.png new file mode 100644 index 00000000000..bdf4c8130ff Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/to.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tr.png b/v2rayN/v2rayN/Resources/Flags/tr.png new file mode 100644 index 00000000000..ebbb4c7a0eb Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tr.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tt.png b/v2rayN/v2rayN/Resources/Flags/tt.png new file mode 100644 index 00000000000..59344cb3ab0 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tt.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tv.png b/v2rayN/v2rayN/Resources/Flags/tv.png new file mode 100644 index 00000000000..6f900c26416 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tv.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tw.png b/v2rayN/v2rayN/Resources/Flags/tw.png new file mode 100644 index 00000000000..11ce8d4d620 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tw.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/tz.png b/v2rayN/v2rayN/Resources/Flags/tz.png new file mode 100644 index 00000000000..4bc46303b0a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/tz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ua.png b/v2rayN/v2rayN/Resources/Flags/ua.png new file mode 100644 index 00000000000..fe466382c2a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ua.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ug.png b/v2rayN/v2rayN/Resources/Flags/ug.png new file mode 100644 index 00000000000..282bf5010d0 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ug.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/um.png b/v2rayN/v2rayN/Resources/Flags/um.png new file mode 100644 index 00000000000..0025bf204c6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/um.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/us.png b/v2rayN/v2rayN/Resources/Flags/us.png new file mode 100644 index 00000000000..0025bf204c6 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/us.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/uy.png b/v2rayN/v2rayN/Resources/Flags/uy.png new file mode 100644 index 00000000000..58b1b6930ee Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/uy.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/uz.png b/v2rayN/v2rayN/Resources/Flags/uz.png new file mode 100644 index 00000000000..b776dcac51a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/uz.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/va.png b/v2rayN/v2rayN/Resources/Flags/va.png new file mode 100644 index 00000000000..957c7b0ecd9 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/va.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/vc.png b/v2rayN/v2rayN/Resources/Flags/vc.png new file mode 100644 index 00000000000..598c38bd254 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/vc.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ve.png b/v2rayN/v2rayN/Resources/Flags/ve.png new file mode 100644 index 00000000000..9e83fa72d8b Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ve.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/vg.png b/v2rayN/v2rayN/Resources/Flags/vg.png new file mode 100644 index 00000000000..62cec7ca7cd Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/vg.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/vn.png b/v2rayN/v2rayN/Resources/Flags/vn.png new file mode 100644 index 00000000000..516a8fd3f44 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/vn.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/vu.png b/v2rayN/v2rayN/Resources/Flags/vu.png new file mode 100644 index 00000000000..e24849c1a68 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/vu.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/wf.png b/v2rayN/v2rayN/Resources/Flags/wf.png new file mode 100644 index 00000000000..eefdeb2ff3d Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/wf.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ws.png b/v2rayN/v2rayN/Resources/Flags/ws.png new file mode 100644 index 00000000000..5e71a684493 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ws.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/ye.png b/v2rayN/v2rayN/Resources/Flags/ye.png new file mode 100644 index 00000000000..65f284da8c7 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/ye.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/za.png b/v2rayN/v2rayN/Resources/Flags/za.png new file mode 100644 index 00000000000..b65fd375d1a Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/za.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/zm.png b/v2rayN/v2rayN/Resources/Flags/zm.png new file mode 100644 index 00000000000..51b22415eff Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/zm.png differ diff --git a/v2rayN/v2rayN/Resources/Flags/zw.png b/v2rayN/v2rayN/Resources/Flags/zw.png new file mode 100644 index 00000000000..11378638e59 Binary files /dev/null and b/v2rayN/v2rayN/Resources/Flags/zw.png differ diff --git a/v2rayN/v2rayN/Views/ProfilesView.xaml b/v2rayN/v2rayN/Views/ProfilesView.xaml index 47e3098b4f6..0d63088d8b8 100644 --- a/v2rayN/v2rayN/Views/ProfilesView.xaml +++ b/v2rayN/v2rayN/Views/ProfilesView.xaml @@ -346,12 +346,28 @@ ExName="TodayUp" Header="{x:Static resx:ResUI.LvTodayUploadDataAmount}" /> - + Header="{x:Static resx:ResUI.LvTestIpInfo}"> + + + + + + + + + myCol.ExName, + MyDGTemplateColumn tplCol => tplCol.ExName, + _ => string.Empty + }; ViewModel?.SortServer(colName); } @@ -333,26 +338,33 @@ private void RestoreUI() var displayIndex = 0; foreach (var item in lvColumnItem) { - foreach (var item2 in lstProfiles.Columns.Cast()) + foreach (var col in lstProfiles.Columns) { - if (item2.ExName == item.Name) + var name = col switch + { + MyDGTextColumn myCol => myCol.ExName, + MyDGTemplateColumn tplCol => tplCol.ExName, + _ => null + }; + + if (name != null && name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase)) { if (item.Width < 0) { - item2.Visibility = Visibility.Hidden; + col.Visibility = Visibility.Hidden; } else { - item2.Width = item.Width; - item2.DisplayIndex = displayIndex++; + col.Width = item.Width; + col.DisplayIndex = displayIndex++; } if (item.Name.StartsWith("to", StringComparison.CurrentCultureIgnoreCase)) { - item2.Visibility = _config.GuiItem.EnableStatistics ? Visibility.Visible : Visibility.Hidden; + col.Visibility = _config.GuiItem.EnableStatistics ? Visibility.Visible : Visibility.Hidden; } if (item.Name.Equals("IpInfo", StringComparison.CurrentCultureIgnoreCase)) { - item2.Visibility = _config.SpeedTestItem.IPAPIUrl.IsNotEmpty() && !_config.UiItem.HideColumnIpInfo ? Visibility.Visible : Visibility.Hidden; + col.Visibility = _config.SpeedTestItem.IPAPIUrl.IsNotEmpty() && !_config.UiItem.HideColumnIpInfo ? Visibility.Visible : Visibility.Hidden; } } } @@ -369,14 +381,24 @@ private void StorageUI() try { List lvColumnItem = []; - foreach (var item2 in lstProfiles.Columns.Cast()) + foreach (var col in lstProfiles.Columns) { - lvColumnItem.Add(new() + var name = col switch { - Name = item2.ExName, - Width = (int)(item2.Visibility == Visibility.Visible ? item2.ActualWidth : -1), - Index = item2.DisplayIndex - }); + MyDGTextColumn myCol => myCol.ExName, + MyDGTemplateColumn tplCol => tplCol.ExName, + _ => null + }; + + if (name != null) + { + lvColumnItem.Add(new() + { + Name = name, + Width = (int)(col.Visibility == Visibility.Visible ? col.ActualWidth : -1), + Index = col.DisplayIndex + }); + } } _config.UiItem.MainColumnItem = lvColumnItem; } diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj index d8863845ef7..cc15bfad4e1 100644 --- a/v2rayN/v2rayN/v2rayN.csproj +++ b/v2rayN/v2rayN/v2rayN.csproj @@ -32,6 +32,9 @@ + + PreserveNewest +