2021-03-24 18:43:23 +01:00
|
|
|
|
using System.Text.RegularExpressions;
|
|
|
|
|
|
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Sockets.Sfdnsres.Proxy
|
|
|
|
|
{
|
|
|
|
|
static class DnsBlacklist
|
|
|
|
|
{
|
2021-03-30 00:55:53 +02:00
|
|
|
|
const RegexOptions RegexOpts = RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled;
|
|
|
|
|
|
2021-03-24 18:43:23 +01:00
|
|
|
|
private static readonly Regex[] BlockedHosts = new Regex[]
|
|
|
|
|
{
|
2022-01-03 08:57:03 +01:00
|
|
|
|
new Regex(@"^(.*)\-lp1\.(n|s)\.n\.srv\.nintendo\.net$", RegexOpts),
|
|
|
|
|
new Regex(@"^(.*)\-lp1\.(znc|p)\.srv\.nintendo\.net$", RegexOpts),
|
2021-03-30 00:55:53 +02:00
|
|
|
|
new Regex(@"^(.*)\-sb\-api\.accounts\.nintendo\.com$", RegexOpts),
|
|
|
|
|
new Regex(@"^(.*)\-sb\.accounts\.nintendo\.com$", RegexOpts),
|
|
|
|
|
new Regex(@"^accounts\.nintendo\.com$", RegexOpts)
|
2021-03-24 18:43:23 +01:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public static bool IsHostBlocked(string host)
|
|
|
|
|
{
|
|
|
|
|
foreach (Regex regex in BlockedHosts)
|
|
|
|
|
{
|
|
|
|
|
if (regex.IsMatch(host))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|