mirror of
https://github.com/2dust/v2rayN.git
synced 2026-02-28 21:23:04 +00:00
Compare commits
4 commits
a75a6d75a8
...
6c3ee545cf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c3ee545cf | ||
|
|
ffe401a26d | ||
|
|
8774e302b2 | ||
|
|
df016dd55c |
4 changed files with 41 additions and 5 deletions
|
|
@ -1,7 +1,7 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<Version>7.17.1</Version>
|
||||
<Version>7.17.2</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
|
|
|||
|
|
@ -94,4 +94,28 @@ public static class Extension
|
|||
{
|
||||
return configType is EConfigType.Custom or EConfigType.PolicyGroup or EConfigType.ProxyChain;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Safely adds elements from a collection to the list. Does nothing if the source is null.
|
||||
/// </summary>
|
||||
public static void AddRangeSafe<T>(this ICollection<T> destination, IEnumerable<T>? source)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(destination);
|
||||
|
||||
if (source is null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (destination is List<T> list)
|
||||
{
|
||||
list.AddRange(source);
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var item in source)
|
||||
{
|
||||
destination.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -719,10 +719,9 @@ public class Utils
|
|||
return Guid.TryParse(strSrc, out _);
|
||||
}
|
||||
|
||||
public static Dictionary<string, string> GetSystemHosts()
|
||||
private static Dictionary<string, string> GetSystemHosts(string hostFile)
|
||||
{
|
||||
var systemHosts = new Dictionary<string, string>();
|
||||
var hostFile = @"C:\Windows\System32\drivers\etc\hosts";
|
||||
try
|
||||
{
|
||||
if (File.Exists(hostFile))
|
||||
|
|
@ -755,6 +754,19 @@ public class Utils
|
|||
return systemHosts;
|
||||
}
|
||||
|
||||
public static Dictionary<string, string> GetSystemHosts()
|
||||
{
|
||||
var hosts = GetSystemHosts(@"C:\Windows\System32\drivers\etc\hosts");
|
||||
var hostsIcs = GetSystemHosts(@"C:\Windows\System32\drivers\etc\hosts.ics");
|
||||
|
||||
foreach (var (key, value) in hostsIcs)
|
||||
{
|
||||
hosts[key] = value;
|
||||
}
|
||||
|
||||
return hosts;
|
||||
}
|
||||
|
||||
public static async Task<string?> GetCliWrapOutput(string filePath, string? arg)
|
||||
{
|
||||
return await GetCliWrapOutput(filePath, arg != null ? new List<string>() { arg } : null);
|
||||
|
|
|
|||
|
|
@ -218,8 +218,8 @@ public class ActionPrecheckManager
|
|||
|
||||
var childIds = new List<string>();
|
||||
var subItems = await ProfileGroupItemManager.GetSubChildProfileItems(group);
|
||||
childIds.AddRange(subItems.Select(p => p.IndexId));
|
||||
childIds.AddRange(Utils.String2List(group.ChildItems));
|
||||
childIds.AddRangeSafe(subItems.Select(p => p.IndexId));
|
||||
childIds.AddRangeSafe(Utils.String2List(group.ChildItems));
|
||||
|
||||
foreach (var child in childIds)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue