@mikkelscheike/email-provider-links 2.8.1 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -367,18 +367,14 @@ class ConcurrentDNSDetector {
367
367
  const mxQuery = queries.find(q => q.type === 'mx' && q.success);
368
368
  if (!mxQuery?.records)
369
369
  return null;
370
- // Get proxy services from provider data
371
- const proxyProviders = this.providers.filter(p => p.type === 'proxy_service');
372
- const proxyPatterns = proxyProviders.map(provider => ({
373
- service: provider.companyProvider,
374
- patterns: [...(provider.customDomainDetection?.mxPatterns || []), ...(provider.domains || [])].map(p => p.toLowerCase())
375
- }));
376
370
  for (const record of mxQuery.records) {
377
371
  const exchange = record.exchange?.toLowerCase() || '';
378
- for (const proxy of proxyPatterns) {
379
- for (const pattern of proxy.patterns) {
380
- if (exchange.includes(pattern)) {
381
- return proxy.service;
372
+ for (const provider of this.providers) {
373
+ if (provider.type === 'proxy_service' && provider.customDomainDetection?.mxPatterns) {
374
+ for (const pattern of provider.customDomainDetection.mxPatterns) {
375
+ if (exchange.includes(pattern.toLowerCase())) {
376
+ return provider.companyProvider;
377
+ }
382
378
  }
383
379
  }
384
380
  }
@@ -27,9 +27,9 @@ const path_1 = require("path");
27
27
  */
28
28
  const KNOWN_GOOD_HASHES = {
29
29
  // SHA-256 hash of the legitimate emailproviders.json
30
- 'emailproviders.json': 'c9c3cb1590820989071ec2bea8a7560496188031f8fa6367153e642315824cdb',
30
+ 'emailproviders.json': '288a17c8e186f9c16dca4c9d752ab8a55b9b1e240b991b490cb41c928b4366a6',
31
31
  // You can add hashes for other critical files
32
- 'package.json': 'da08eadfe33e8a5c5bcc3db0f0dccc402b4d8ab8440ff57d2e9aa986921ac66d'
32
+ 'package.json': 'a1a44dfdda78bb08ac5d2cb489d9bf577b57006a9f9df7d2e7b9251060c4cf4c'
33
33
  };
34
34
  /**
35
35
  * Calculates SHA-256 hash of a file or string content
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikkelscheike/email-provider-links",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
4
4
  "description": "TypeScript library for email provider detection with 93 providers (207 domains), concurrent DNS resolution, optimized performance, 91.75% test coverage, and enterprise security for login and password reset flows",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -5,9 +5,9 @@
5
5
  "id": "cloudflare",
6
6
  "mx": [
7
7
  "mx.cloudflare.com",
8
- "cloudflare.com",
9
- "mxrecord.io",
10
- "mxrecord.mx"
8
+ "route1.mx.cloudflare.net",
9
+ "route2.mx.cloudflare.net",
10
+ "route3.mx.cloudflare.net"
11
11
  ],
12
12
  "txt": [
13
13
  "spf:_spf.cloudflare.com",