DnsBlacklist.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. using System.Text.RegularExpressions;
  2. namespace Ryujinx.HLE.HOS.Services.Sockets.Sfdnsres.Proxy
  3. {
  4. static class DnsBlacklist
  5. {
  6. const RegexOptions RegexOpts = RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled;
  7. private static readonly Regex[] BlockedHosts = new Regex[]
  8. {
  9. new Regex(@"^(.*)\-lp1\.(n|s)\.n\.srv\.nintendo\.net$", RegexOpts),
  10. new Regex(@"^(.*)\-lp1\.lp1\.t\.npln\.srv\.nintendo\.net$", RegexOpts),
  11. new Regex(@"^(.*)\-lp1\.(znc|p)\.srv\.nintendo\.net$", RegexOpts),
  12. new Regex(@"^(.*)\-sb\-api\.accounts\.nintendo\.com$", RegexOpts),
  13. new Regex(@"^(.*)\-sb\.accounts\.nintendo\.com$", RegexOpts),
  14. new Regex(@"^accounts\.nintendo\.com$", RegexOpts)
  15. };
  16. public static bool IsHostBlocked(string host)
  17. {
  18. foreach (Regex regex in BlockedHosts)
  19. {
  20. if (regex.IsMatch(host))
  21. {
  22. return true;
  23. }
  24. }
  25. return false;
  26. }
  27. }
  28. }