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