rdapify 0.1.2 → 0.1.3
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.
- package/CHANGELOG.md +60 -0
- package/README.md +11 -9
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/cache/CacheManager.js +1 -1
- package/dist/infrastructure/cache/CacheManager.js.map +1 -1
- package/dist/infrastructure/http/BootstrapDiscovery.d.ts.map +1 -1
- package/dist/infrastructure/http/BootstrapDiscovery.js +5 -2
- package/dist/infrastructure/http/BootstrapDiscovery.js.map +1 -1
- package/dist/infrastructure/http/ConnectionPool.d.ts +1 -1
- package/dist/infrastructure/http/ConnectionPool.d.ts.map +1 -1
- package/dist/infrastructure/http/ConnectionPool.js +9 -4
- package/dist/infrastructure/http/ConnectionPool.js.map +1 -1
- package/dist/infrastructure/http/Fetcher.d.ts.map +1 -1
- package/dist/infrastructure/http/Fetcher.js +8 -2
- package/dist/infrastructure/http/Fetcher.js.map +1 -1
- package/dist/infrastructure/http/Normalizer.d.ts.map +1 -1
- package/dist/infrastructure/http/Normalizer.js +16 -9
- package/dist/infrastructure/http/Normalizer.js.map +1 -1
- package/dist/infrastructure/monitoring/MetricsCollector.d.ts.map +1 -1
- package/dist/infrastructure/monitoring/MetricsCollector.js +7 -6
- package/dist/infrastructure/monitoring/MetricsCollector.js.map +1 -1
- package/dist/infrastructure/security/PIIRedactor.d.ts.map +1 -1
- package/dist/infrastructure/security/PIIRedactor.js +8 -1
- package/dist/infrastructure/security/PIIRedactor.js.map +1 -1
- package/dist/infrastructure/security/SSRFProtection.d.ts.map +1 -1
- package/dist/infrastructure/security/SSRFProtection.js +7 -4
- package/dist/infrastructure/security/SSRFProtection.js.map +1 -1
- package/dist/shared/constants/rdap.constants.d.ts +1 -1
- package/dist/shared/constants/rdap.constants.d.ts.map +1 -1
- package/dist/shared/constants/rdap.constants.js +1 -1
- package/dist/shared/constants/rdap.constants.js.map +1 -1
- package/dist/shared/types/options.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.3] - 2026-03-12
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Normalizer.ts**: Added defensive null checks for nameserver extraction
|
|
15
|
+
- Handle null/undefined nameservers array entries
|
|
16
|
+
- Filter out empty string nameserver names
|
|
17
|
+
- Prevent crashes on malformed nameserver data
|
|
18
|
+
|
|
19
|
+
- **Normalizer.ts**: Added defensive null checks for registrar extraction
|
|
20
|
+
- Validate vcardArray length before accessing elements
|
|
21
|
+
- Validate fnField array length before accessing index 3
|
|
22
|
+
- Handle missing registrar name gracefully
|
|
23
|
+
|
|
24
|
+
- **BootstrapDiscovery.ts**: Added NaN validation for ASN range parsing
|
|
25
|
+
- Skip malformed ASN range patterns that parse to NaN
|
|
26
|
+
- Prevent silent failures in ASN discovery
|
|
27
|
+
|
|
28
|
+
- **Fetcher.ts**: Added URL validation for redirects
|
|
29
|
+
- Catch and report invalid redirect URLs
|
|
30
|
+
- Prevent SSRF bypass through malformed redirect URLs
|
|
31
|
+
|
|
32
|
+
- **ConnectionPool.ts**: Added timeout for connection acquisition
|
|
33
|
+
- Prevent infinite wait when all connections are in use
|
|
34
|
+
- Add configurable timeout parameter to acquire()
|
|
35
|
+
- Default timeout of 5 seconds
|
|
36
|
+
|
|
37
|
+
- **PIIRedactor.ts**: Improved deep copy with structuredClone
|
|
38
|
+
- Use structuredClone for proper deep copying
|
|
39
|
+
- Handle Date, Map, Set, and circular references
|
|
40
|
+
- Fallback to JSON.parse for non-serializable values
|
|
41
|
+
|
|
42
|
+
- **SSRFProtection.ts**: Added IPv6 bracket handling
|
|
43
|
+
- Strip brackets from IPv6 addresses before validation
|
|
44
|
+
- Support both bracketed and non-bracketed IPv6 formats
|
|
45
|
+
|
|
46
|
+
- **MetricsCollector.ts**: Added division by zero protection
|
|
47
|
+
- Guard against division by zero in avgResponseTime calculation
|
|
48
|
+
- Return 0 for empty metrics instead of Infinity
|
|
49
|
+
|
|
50
|
+
### Security
|
|
51
|
+
|
|
52
|
+
- **SSRFProtection.ts**: Improved IPv6 zone ID handling
|
|
53
|
+
- Extract zone ID before IP validation
|
|
54
|
+
- Validate IP without zone ID for SSRF checks
|
|
55
|
+
|
|
56
|
+
### Performance
|
|
57
|
+
|
|
58
|
+
- **ConnectionPool.ts**: Added timeout parameter to acquire()
|
|
59
|
+
- Prevent deadlocks in high-concurrency scenarios
|
|
60
|
+
- Allow configurable timeout per request
|
|
61
|
+
|
|
62
|
+
### Testing
|
|
63
|
+
|
|
64
|
+
- Added 15+ new test cases for edge cases
|
|
65
|
+
- Added tests for Normalizer defensive checks
|
|
66
|
+
- Added tests for ConnectionPool timeout handling
|
|
67
|
+
- Added tests for MetricsCollector edge cases
|
|
68
|
+
- Added tests for SSRFProtection IPv6 handling
|
|
69
|
+
|
|
10
70
|
## [0.1.2] - 2026-01-27
|
|
11
71
|
|
|
12
72
|
### Added
|
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **🎉 LATEST RELEASE**: v0.1.2 — Production-ready with interactive playground, advanced features including authentication, proxy support, compression, retry strategies, and comprehensive monitoring. See [What's New in v0.1.2](#-whats-new-in-v012) below.
|
|
4
4
|
|
|
5
|
+
> **⚠️ UPGRADE NOTICE**: If you're using v0.1.0 or v0.1.1, please upgrade to v0.1.2 for new features and bug fixes. **No breaking changes** - seamless upgrade! See [Migration Guide](./MIGRATION_TO_0.1.2.md) or simply run: `npm install rdapify@latest`
|
|
6
|
+
|
|
5
7
|
[](https://www.npmjs.com/package/rdapify)
|
|
6
8
|
[](LICENSE)
|
|
7
9
|
[](SECURITY.md)
|
|
@@ -148,7 +150,7 @@ logs.forEach((log) => {
|
|
|
148
150
|
client.destroy();
|
|
149
151
|
```
|
|
150
152
|
|
|
151
|
-
### With Authentication & Proxy (v0.1.
|
|
153
|
+
### With Authentication & Proxy (v0.1.2+)
|
|
152
154
|
|
|
153
155
|
```typescript
|
|
154
156
|
import { RDAPClient, AuthenticationManager, ProxyManager } from 'rdapify';
|
|
@@ -180,7 +182,7 @@ const proxyUrl = proxy.shouldBypass('example.com')
|
|
|
180
182
|
: proxy.getProxyUrl();
|
|
181
183
|
```
|
|
182
184
|
|
|
183
|
-
### With Advanced Features (v0.1.
|
|
185
|
+
### With Advanced Features (v0.1.2+)
|
|
184
186
|
|
|
185
187
|
```typescript
|
|
186
188
|
import {
|
|
@@ -235,19 +237,19 @@ const compression = new CompressionManager({
|
|
|
235
237
|
- **Certificate Validation**: Reject insecure connections to RDAP servers
|
|
236
238
|
- **Rate Limiting**: Prevent service blocking due to excessive requests
|
|
237
239
|
- **Secure Data Handling**: PII redaction according to GDPR/CCPA requirements
|
|
238
|
-
- **Authentication Support** (v0.1.
|
|
239
|
-
- **Proxy Support** (v0.1.
|
|
240
|
+
- **Authentication Support** (v0.1.2+): Basic, Bearer Token, API Key, OAuth2
|
|
241
|
+
- **Proxy Support** (v0.1.2+): HTTP/HTTPS/SOCKS4/SOCKS5 with authentication
|
|
240
242
|
- **Full Audit Trail**: Track all critical operations for compliance purposes
|
|
241
243
|
|
|
242
244
|
### ⚡ Exceptional Performance
|
|
243
245
|
|
|
244
246
|
- **Smart Caching**: In-memory LRU cache with configurable TTL
|
|
245
|
-
- **Persistent Cache** (v0.1.
|
|
247
|
+
- **Persistent Cache** (v0.1.2+): File-based cache that survives restarts
|
|
246
248
|
- **Connection Pooling** (v0.1.2+): HTTP connection reuse for 30-40% performance improvement
|
|
247
249
|
- **Batch Processing**: Process multiple queries efficiently (5-10x faster)
|
|
248
|
-
- **Response Compression** (v0.1.
|
|
249
|
-
- **Retry Strategies** (v0.1.
|
|
250
|
-
- **Query Prioritization** (v0.1.
|
|
250
|
+
- **Response Compression** (v0.1.2+): gzip/brotli support for 60-80% bandwidth reduction
|
|
251
|
+
- **Retry Strategies** (v0.1.2+): Circuit breaker with exponential backoff
|
|
252
|
+
- **Query Prioritization** (v0.1.2+): High/normal/low priority queue
|
|
251
253
|
- **Registry Discovery**: Automatic IANA Bootstrap for finding the correct registry
|
|
252
254
|
- **Optimized Parsing**: Fast JSONPath-based normalization
|
|
253
255
|
|
|
@@ -264,7 +266,7 @@ const compression = new CompressionManager({
|
|
|
264
266
|
|
|
265
267
|
- **Full TypeScript Support**: Strongly typed with embedded documentation
|
|
266
268
|
- **Node.js Support**: Verified working (target: Node.js 20+)
|
|
267
|
-
- **Enhanced Validation** (v0.1.
|
|
269
|
+
- **Enhanced Validation** (v0.1.2+): IDN domains, IPv6 zones, ASN ranges
|
|
268
270
|
- **Interactive CLI**: For quick queries and testing (planned)
|
|
269
271
|
- **Web Playground**: Try the library directly in your browser (planned)
|
|
270
272
|
- **Pre-built Templates**: For AWS Lambda, Azure Functions, Kubernetes, and more (planned)
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type { RDAPClientOptions, RetryOptions, CacheOptions, SSRFProtectionOptio
|
|
|
5
5
|
export { RDAPifyError, SSRFProtectionError, NetworkError, TimeoutError, RDAPServerError, NoServerFoundError, ValidationError, ParseError, CacheError, RateLimitError, isRDAPifyError, isSSRFProtectionError, isNetworkError, isTimeoutError, isRateLimitError, } from './shared/errors';
|
|
6
6
|
export { validateDomain, validateIP, validateIPv4, validateIPv6, validateASN, isPrivateIP, isLocalhost, isLinkLocal, normalizeDomain, normalizeIP, normalizeASN, } from './shared/utils/validators';
|
|
7
7
|
export type { ICachePort } from './core/ports';
|
|
8
|
-
export declare const VERSION = "0.1.
|
|
8
|
+
export declare const VERSION = "0.1.3";
|
|
9
9
|
export { BatchProcessor } from './application/services/BatchProcessor';
|
|
10
10
|
export { RateLimiter } from './infrastructure/http/RateLimiter';
|
|
11
11
|
export { ConnectionPool } from './infrastructure/http/ConnectionPool';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMlD,YAAY,EAEV,cAAc,EACd,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,eAAe,EAGf,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,eAAe,EACf,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAEV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAEV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAoBhC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EAGd,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAiBzB,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,2BAA2B,CAAC;AAoBnC,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAS/C,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMlD,YAAY,EAEV,cAAc,EACd,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,eAAe,EAGf,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,eAAe,EACf,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAEV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAEV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAoBhC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EAGd,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAiBzB,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,2BAA2B,CAAC;AAoBnC,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAS/C,eAAO,MAAM,OAAO,UAAU,CAAC;AAsB/B,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAkBvE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKhE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAKtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAKhF,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAKzD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAKpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAK1E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAKzE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,GACX,MAAM,oCAAoC,CAAC;AAK5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,YAAY,EAAE,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAKlH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAKtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAgBpG,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACrE,eAAe,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ Object.defineProperty(exports, "isLinkLocal", { enumerable: true, get: function
|
|
|
31
31
|
Object.defineProperty(exports, "normalizeDomain", { enumerable: true, get: function () { return validators_1.normalizeDomain; } });
|
|
32
32
|
Object.defineProperty(exports, "normalizeIP", { enumerable: true, get: function () { return validators_1.normalizeIP; } });
|
|
33
33
|
Object.defineProperty(exports, "normalizeASN", { enumerable: true, get: function () { return validators_1.normalizeASN; } });
|
|
34
|
-
exports.VERSION = '0.1.
|
|
34
|
+
exports.VERSION = '0.1.3';
|
|
35
35
|
var BatchProcessor_1 = require("./application/services/BatchProcessor");
|
|
36
36
|
Object.defineProperty(exports, "BatchProcessor", { enumerable: true, get: function () { return BatchProcessor_1.BatchProcessor; } });
|
|
37
37
|
var RateLimiter_1 = require("./infrastructure/http/RateLimiter");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AA4CA,+CAAkD;AAAzC,oGAAA,UAAU,OAAA;AAqEnB,0CAkByB;AAjBvB,sGAAA,YAAY,OAAA;AACZ,6GAAA,mBAAmB,OAAA;AACnB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AAGd,wGAAA,cAAc,OAAA;AACd,+GAAA,qBAAqB,OAAA;AACrB,wGAAA,cAAc,OAAA;AACd,wGAAA,cAAc,OAAA;AACd,0GAAA,gBAAgB,OAAA;AAkBlB,wDAYmC;AAXjC,4GAAA,cAAc,OAAA;AACd,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,6GAAA,eAAe,OAAA;AACf,yGAAA,WAAW,OAAA;AACX,0GAAA,YAAY,OAAA;AA8BD,QAAA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AA4CA,+CAAkD;AAAzC,oGAAA,UAAU,OAAA;AAqEnB,0CAkByB;AAjBvB,sGAAA,YAAY,OAAA;AACZ,6GAAA,mBAAmB,OAAA;AACnB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AAGd,wGAAA,cAAc,OAAA;AACd,+GAAA,qBAAqB,OAAA;AACrB,wGAAA,cAAc,OAAA;AACd,wGAAA,cAAc,OAAA;AACd,0GAAA,gBAAgB,OAAA;AAkBlB,wDAYmC;AAXjC,4GAAA,cAAc,OAAA;AACd,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AACX,6GAAA,eAAe,OAAA;AACf,yGAAA,WAAW,OAAA;AACX,0GAAA,YAAY,OAAA;AA8BD,QAAA,OAAO,GAAG,OAAO,CAAC;AAsB/B,wEAAuE;AAA9D,gHAAA,cAAc,OAAA;AAkBvB,iEAAgE;AAAvD,0GAAA,WAAW,OAAA;AAKpB,uEAAsE;AAA7D,gHAAA,cAAc,OAAA;AAKvB,iFAAgF;AAAvE,oHAAA,gBAAgB,OAAA;AAKzB,0DAAyD;AAAhD,gGAAA,MAAM,OAAA;AAKf,qEAAoE;AAA3D,8GAAA,aAAa,OAAA;AAKtB,sEAA0E;AAAjE,mHAAA,kBAAkB,OAAA;AAK3B,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AAKxB,0EAQ4C;AAP1C,wHAAA,iBAAiB,OAAA;AACjB,2HAAA,oBAAoB,OAAA;AACpB,uHAAA,gBAAgB,OAAA;AAChB,kHAAA,WAAW,OAAA;AACX,uHAAA,gBAAgB,OAAA;AAChB,iHAAA,UAAU,OAAA;AACV,iHAAA,UAAU,OAAA;AAMZ,qFAAoF;AAA3E,8HAAA,qBAAqB,OAAA;AAM9B,mEAAkE;AAAzD,4GAAA,YAAY,OAAA;AAMrB,+EAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAiB3B,iDAAqE;AACrE,kBAAe,mBAAe,CAAC"}
|
|
@@ -13,7 +13,7 @@ class CacheManager {
|
|
|
13
13
|
this.cache = new InMemoryCache_1.InMemoryCache(options.maxSize || 1000);
|
|
14
14
|
break;
|
|
15
15
|
case 'redis':
|
|
16
|
-
throw new errors_1.CacheError('Redis cache not yet implemented in v0.1.
|
|
16
|
+
throw new errors_1.CacheError('Redis cache not yet implemented in v0.1.2. Use "memory" cache type or provide a custom cache implementation. Redis support is planned for v0.2.0.');
|
|
17
17
|
case 'custom':
|
|
18
18
|
if (!options.customCache) {
|
|
19
19
|
throw new errors_1.CacheError('Custom cache implementation required');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../src/infrastructure/cache/CacheManager.ts"],"names":[],"mappings":";;;AAMA,gDAAiD;AAGjD,mDAAgD;AAiBhD,MAAa,YAAY;IAKvB,YAAY,UAAwB,EAAE;QACpC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC;QAG3C,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzB,KAAK,QAAQ,CAAC;YACd;gBACE,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;gBACxD,MAAM;YAER,KAAK,OAAO;gBACV,MAAM,IAAI,mBAAU,CAClB,
|
|
1
|
+
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../../src/infrastructure/cache/CacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BootstrapDiscovery.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/BootstrapDiscovery.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEjC,OAAO,GAAE,MAAqC,EAAE,OAAO,CAAC,EAAE,OAAO;IAUvE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB/C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"BootstrapDiscovery.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/BootstrapDiscovery.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAEjC,OAAO,GAAE,MAAqC,EAAE,OAAO,CAAC,EAAE,OAAO;IAUvE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB/C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YA6BjC,gBAAgB;IA+C9B,OAAO,CAAC,aAAa;IAwBrB,UAAU,IAAI,IAAI;IAQlB,aAAa,IAAI;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB;CAMF"}
|
|
@@ -61,8 +61,11 @@ class BootstrapDiscovery {
|
|
|
61
61
|
for (const pattern of entry.patterns) {
|
|
62
62
|
const parts = pattern.split('-').map((n) => parseInt(n, 10));
|
|
63
63
|
const start = parts[0];
|
|
64
|
-
const end = parts[1]
|
|
65
|
-
if (start
|
|
64
|
+
const end = parts[1];
|
|
65
|
+
if (start === undefined || end === undefined || isNaN(start) || isNaN(end)) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (asn >= start && asn <= end) {
|
|
66
69
|
if (entry.servers.length === 0 || !entry.servers[0]) {
|
|
67
70
|
throw new errors_1.NoServerFoundError(`No RDAP server found for ASN: ${asn}`, { asn, pattern });
|
|
68
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BootstrapDiscovery.js","sourceRoot":"","sources":["../../../src/infrastructure/http/BootstrapDiscovery.ts"],"names":[],"mappings":";;;;AAKA,0DAAoC;AAEpC,gDAAuE;AACvE,wDAAwD;AAExD,uCAAoC;AAuBpC,MAAa,kBAAkB;IAO7B,YAAY,UAAkB,4BAA4B,EAAE,OAAiB;QAF5D,aAAQ,GAAW,QAAQ,CAAC;QAG3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,iBAAO,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,GAAG,GAAG,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,2BAAkB,CAAC,iCAAiC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,2BAAkB,CAAC,oCAAoC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9F,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAGpD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;oBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpD,MAAM,IAAI,2BAAkB,CAAC,kCAAkC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACxF,CAAC;oBACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,2BAAkB,CAAC,kCAAkC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAGpD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;oBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpD,MAAM,IAAI,2BAAkB,CAAC,kCAAkC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACxF,CAAC;oBACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,2BAAkB,CAAC,kCAAkC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"BootstrapDiscovery.js","sourceRoot":"","sources":["../../../src/infrastructure/http/BootstrapDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export declare class ConnectionPool {
|
|
|
10
10
|
private connections;
|
|
11
11
|
private cleanupInterval?;
|
|
12
12
|
constructor(options?: ConnectionPoolOptions);
|
|
13
|
-
acquire(host: string): Promise<string>;
|
|
13
|
+
acquire(host: string, timeout?: number): Promise<string>;
|
|
14
14
|
release(connectionId: string): void;
|
|
15
15
|
private waitForConnection;
|
|
16
16
|
private cleanup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionPool.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/ConnectionPool.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAE7B,OAAO,GAAE,qBAA0B;IAezC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectionPool.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/ConnectionPool.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAE7B,OAAO,GAAE,qBAA0B;IAezC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgC9D,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;YAcrB,iBAAiB;IA0B/B,OAAO,CAAC,OAAO;IAwBf,QAAQ,IAAI;QACV,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf;IAsBD,OAAO,IAAI,IAAI;CAOhB"}
|
|
@@ -11,7 +11,7 @@ class ConnectionPool {
|
|
|
11
11
|
this.cleanupInterval = setInterval(() => this.cleanup(), 30000);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
async acquire(host) {
|
|
14
|
+
async acquire(host, timeout) {
|
|
15
15
|
const hostConnections = this.connections.get(host) || [];
|
|
16
16
|
const available = hostConnections.find((conn) => !conn.inUse);
|
|
17
17
|
if (available) {
|
|
@@ -30,7 +30,7 @@ class ConnectionPool {
|
|
|
30
30
|
this.connections.set(host, hostConnections);
|
|
31
31
|
return connection.id;
|
|
32
32
|
}
|
|
33
|
-
return this.waitForConnection(host);
|
|
33
|
+
return this.waitForConnection(host, timeout ?? 5000);
|
|
34
34
|
}
|
|
35
35
|
release(connectionId) {
|
|
36
36
|
for (const [, connections] of this.connections.entries()) {
|
|
@@ -42,8 +42,9 @@ class ConnectionPool {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
async waitForConnection(host) {
|
|
46
|
-
return new Promise((resolve) => {
|
|
45
|
+
async waitForConnection(host, timeout = 5000) {
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
const startTime = Date.now();
|
|
47
48
|
const checkInterval = setInterval(() => {
|
|
48
49
|
const hostConnections = this.connections.get(host) || [];
|
|
49
50
|
const available = hostConnections.find((conn) => !conn.inUse);
|
|
@@ -53,6 +54,10 @@ class ConnectionPool {
|
|
|
53
54
|
available.lastUsed = Date.now();
|
|
54
55
|
resolve(available.id);
|
|
55
56
|
}
|
|
57
|
+
if (Date.now() - startTime >= timeout) {
|
|
58
|
+
clearInterval(checkInterval);
|
|
59
|
+
reject(new Error(`Timeout waiting for connection to ${host} after ${timeout}ms`));
|
|
60
|
+
}
|
|
56
61
|
}, 100);
|
|
57
62
|
});
|
|
58
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionPool.js","sourceRoot":"","sources":["../../../src/infrastructure/http/ConnectionPool.ts"],"names":[],"mappings":";;;AAqBA,MAAa,cAAc;IAOzB,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAG7B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,IAAY;
|
|
1
|
+
{"version":3,"file":"ConnectionPool.js","sourceRoot":"","sources":["../../../src/infrastructure/http/ConnectionPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fetcher.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/Fetcher.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAM5D,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAKD,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;gBAErC,OAAO,GAAE,cAAmB;IAiBlC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAyBpC,WAAW;
|
|
1
|
+
{"version":3,"file":"Fetcher.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/Fetcher.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAM5D,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAKD,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;gBAErC,OAAO,GAAE,cAAmB;IAiBlC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAyBpC,WAAW;IA6GzB,SAAS,IAAI;QACX,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,OAAO,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;KACtB;CAQF"}
|
|
@@ -10,7 +10,7 @@ class Fetcher {
|
|
|
10
10
|
request: options.timeout?.request || 10000,
|
|
11
11
|
dns: options.timeout?.dns || 3000,
|
|
12
12
|
};
|
|
13
|
-
this.userAgent = options.userAgent || 'RDAPify/0.1.
|
|
13
|
+
this.userAgent = options.userAgent || 'RDAPify/0.1.2 (https://rdapify.com)';
|
|
14
14
|
this.headers = options.headers || {};
|
|
15
15
|
this.followRedirects = options.followRedirects ?? true;
|
|
16
16
|
this.maxRedirects = options.maxRedirects || 5;
|
|
@@ -62,7 +62,13 @@ class Fetcher {
|
|
|
62
62
|
if (!location) {
|
|
63
63
|
throw new errors_1.NetworkError('Redirect without Location header', response.status, { url });
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
let redirectUrl;
|
|
66
|
+
try {
|
|
67
|
+
redirectUrl = new URL(location, url).toString();
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
throw new errors_1.NetworkError('Invalid redirect URL', response.status, { url, location });
|
|
71
|
+
}
|
|
66
72
|
if (this.ssrfProtection) {
|
|
67
73
|
await this.ssrfProtection.validateUrl(redirectUrl);
|
|
68
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fetcher.js","sourceRoot":"","sources":["../../../src/infrastructure/http/Fetcher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Fetcher.js","sourceRoot":"","sources":["../../../src/infrastructure/http/Fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Normalizer.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/Normalizer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EAIf,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAM5B,qBAAa,UAAU;IAIrB,SAAS,CACP,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAe,EACvB,UAAU,GAAE,OAAe,GAC1B,YAAY;IAyBf,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"Normalizer.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/Normalizer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EAIf,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAM5B,qBAAa,UAAU;IAIrB,SAAS,CACP,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAe,EACvB,UAAU,GAAE,OAAe,GAC1B,YAAY;IAyBf,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,eAAe;CAWxB"}
|
|
@@ -98,34 +98,41 @@ class Normalizer {
|
|
|
98
98
|
return response;
|
|
99
99
|
}
|
|
100
100
|
extractNameservers(raw) {
|
|
101
|
-
|
|
101
|
+
const nameservers = raw['nameservers'];
|
|
102
|
+
if (!nameservers || !Array.isArray(nameservers)) {
|
|
102
103
|
return [];
|
|
103
104
|
}
|
|
104
|
-
return
|
|
105
|
-
.map((ns) =>
|
|
106
|
-
|
|
105
|
+
return nameservers
|
|
106
|
+
.map((ns) => {
|
|
107
|
+
if (!ns || typeof ns !== 'object') {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
return ns.ldhName || ns.unicodeName;
|
|
111
|
+
})
|
|
112
|
+
.filter((name) => name !== undefined && name !== '');
|
|
107
113
|
}
|
|
108
114
|
extractRegistrar(raw) {
|
|
109
|
-
|
|
115
|
+
const entities = raw['entities'];
|
|
116
|
+
if (!entities || !Array.isArray(entities)) {
|
|
110
117
|
return undefined;
|
|
111
118
|
}
|
|
112
|
-
const registrar =
|
|
119
|
+
const registrar = entities.find((entity) => entity && typeof entity === 'object' && entity.roles?.includes('registrar'));
|
|
113
120
|
if (!registrar) {
|
|
114
121
|
return undefined;
|
|
115
122
|
}
|
|
116
123
|
let name;
|
|
117
|
-
if (registrar.vcardArray && Array.isArray(registrar.vcardArray)) {
|
|
124
|
+
if (registrar.vcardArray && Array.isArray(registrar.vcardArray) && registrar.vcardArray.length >= 2) {
|
|
118
125
|
const vcard = registrar.vcardArray[1];
|
|
119
126
|
if (Array.isArray(vcard)) {
|
|
120
127
|
const fnField = vcard.find((field) => Array.isArray(field) && field[0] === 'fn');
|
|
121
|
-
if (fnField
|
|
128
|
+
if (fnField && Array.isArray(fnField) && fnField.length >= 4) {
|
|
122
129
|
name = fnField[3];
|
|
123
130
|
}
|
|
124
131
|
}
|
|
125
132
|
}
|
|
126
133
|
let url;
|
|
127
134
|
if (registrar.links && Array.isArray(registrar.links)) {
|
|
128
|
-
const selfLink = registrar.links.find((link) => link.rel === 'self');
|
|
135
|
+
const selfLink = registrar.links.find((link) => link && link.rel === 'self');
|
|
129
136
|
if (selfLink) {
|
|
130
137
|
url = selfLink.href;
|
|
131
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Normalizer.js","sourceRoot":"","sources":["../../../src/infrastructure/http/Normalizer.ts"],"names":[],"mappings":";;;AAcA,gDAAiD;AAKjD,MAAa,UAAU;IAIrB,SAAS,CACP,GAAoB,EACpB,KAAa,EACb,MAAc,EACd,SAAkB,KAAK,EACvB,aAAsB,KAAK;QAE3B,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe,CAAC;QAExC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,mBAAU,CAAC,0CAA0C,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAEtE,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAElE,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAEnE;gBACE,MAAM,IAAI,mBAAU,CAAC,6BAA6B,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAKO,eAAe,CACrB,GAAoB,EACpB,KAAa,EACb,MAAc,EACd,MAAe,EACf,UAAmB;QAEnB,MAAM,QAAQ,GAAmB;YAC/B,KAAK;YACL,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC;YAC/B,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;YACzC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YACrC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YACzB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YAC7B,QAAQ,EAAE;gBACR,MAAM;gBACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,MAAM;aACP;SACF,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAKO,WAAW,CACjB,GAAoB,EACpB,KAAa,EACb,MAAc,EACd,MAAe,EACf,UAAmB;QAEnB,MAAM,QAAQ,GAAe;YAC3B,KAAK;YACL,WAAW,EAAE,YAAY;YACzB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC;YACjC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC;YAC7B,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC;YAC3B,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC;YACvB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC3B,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YACzB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YAC7B,QAAQ,EAAE;gBACR,MAAM;gBACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,MAAM;aACP;SACF,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAKO,YAAY,CAClB,GAAoB,EACpB,KAAa,EACb,MAAc,EACd,MAAe,EACf,UAAmB;QAEnB,MAAM,QAAQ,GAAgB;YAC5B,KAAK;YACL,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC;YAC/B,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC;YAC3B,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC;YACvB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC3B,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YACzB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;YAC7B,QAAQ,EAAE;gBACR,MAAM;gBACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,MAAM;aACP;SACF,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAKO,kBAAkB,CAAC,GAAoB;QAC7C,
|
|
1
|
+
{"version":3,"file":"Normalizer.js","sourceRoot":"","sources":["../../../src/infrastructure/http/Normalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsCollector.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/monitoring/MetricsCollector.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAKD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAQpE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAcjC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"MetricsCollector.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/monitoring/MetricsCollector.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAKD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAQpE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAcjC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc;IAmD1C,SAAS,CAAC,KAAK,GAAE,MAAW,GAAG,WAAW,EAAE;IAO5C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE;IAO5D,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,WAAW,EAAE;IAOvD,WAAW,IAAI,WAAW,EAAE;IAO5B,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,eAAe;IAuBvB,MAAM,IAAI,WAAW,EAAE;IAOvB,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAOpC,QAAQ,IAAI;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;CASF"}
|
|
@@ -26,9 +26,10 @@ class MetricsCollector {
|
|
|
26
26
|
const failed = relevantMetrics.length - successful;
|
|
27
27
|
const cached = relevantMetrics.filter((m) => m.cached).length;
|
|
28
28
|
const durations = relevantMetrics.map((m) => m.duration);
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
29
|
+
const totalDuration = durations.reduce((a, b) => a + b, 0);
|
|
30
|
+
const avgResponseTime = durations.length > 0 ? totalDuration / durations.length : 0;
|
|
31
|
+
const minResponseTime = durations.length > 0 ? Math.min(...durations) : 0;
|
|
32
|
+
const maxResponseTime = durations.length > 0 ? Math.max(...durations) : 0;
|
|
32
33
|
const queriesByType = {
|
|
33
34
|
domain: relevantMetrics.filter((m) => m.type === 'domain').length,
|
|
34
35
|
ip: relevantMetrics.filter((m) => m.type === 'ip').length,
|
|
@@ -45,12 +46,12 @@ class MetricsCollector {
|
|
|
45
46
|
total: relevantMetrics.length,
|
|
46
47
|
successful,
|
|
47
48
|
failed,
|
|
48
|
-
successRate: (successful / relevantMetrics.length) * 100,
|
|
49
|
+
successRate: relevantMetrics.length > 0 ? (successful / relevantMetrics.length) * 100 : 0,
|
|
49
50
|
avgResponseTime,
|
|
50
51
|
minResponseTime,
|
|
51
52
|
maxResponseTime,
|
|
52
|
-
cacheHitRate: (cached / relevantMetrics.length) * 100,
|
|
53
|
-
totalDuration
|
|
53
|
+
cacheHitRate: relevantMetrics.length > 0 ? (cached / relevantMetrics.length) * 100 : 0,
|
|
54
|
+
totalDuration,
|
|
54
55
|
queriesByType,
|
|
55
56
|
errorsByType,
|
|
56
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsCollector.js","sourceRoot":"","sources":["../../../src/infrastructure/monitoring/MetricsCollector.ts"],"names":[],"mappings":";;;AAoCA,MAAa,gBAAgB;IAK3B,YAAY,UAAsD,EAAE;QAJ5D,YAAO,GAAkB,EAAE,CAAC;QAKlC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;IAChD,CAAC;IAKD,MAAM,CAAC,MAAmB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAG1B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAKD,UAAU,CAAC,KAAc;QACvB,MAAM,eAAe,GAAG,KAAK;YAC3B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAEjB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACnE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC;QACnD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAE9D,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,
|
|
1
|
+
{"version":3,"file":"MetricsCollector.js","sourceRoot":"","sources":["../../../src/infrastructure/monitoring/MetricsCollector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PIIRedactor.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/PIIRedactor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBAEvC,OAAO,GAAE,cAAmB;IAWxC,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"PIIRedactor.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/PIIRedactor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBAEvC,OAAO,GAAE,cAAmB;IAWxC,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IA4B9C,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,iBAAiB;IAkCzB,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC;IAOrC,SAAS,IAAI,OAAO;CAGrB"}
|
|
@@ -13,7 +13,14 @@ class PIIRedactor {
|
|
|
13
13
|
if (!this.options.redactPII) {
|
|
14
14
|
return response;
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
let redacted;
|
|
17
|
+
try {
|
|
18
|
+
redacted = structuredClone(response);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
const jsonString = JSON.stringify(response);
|
|
22
|
+
redacted = JSON.parse(jsonString);
|
|
23
|
+
}
|
|
17
24
|
if (redacted.entities && Array.isArray(redacted.entities)) {
|
|
18
25
|
redacted.entities = redacted.entities.map((entity) => this.redactEntity(entity));
|
|
19
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PIIRedactor.js","sourceRoot":"","sources":["../../../src/infrastructure/security/PIIRedactor.ts"],"names":[],"mappings":";;;AAWA,MAAa,WAAW;IAGtB,YAAY,UAA0B,EAAE;QACtC,IAAI,CAAC,OAAO,GAAG;YACb,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;YAC/D,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,YAAY;SACrD,CAAC;IACJ,CAAC;IAKD,MAAM,CAAyB,QAAW;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"PIIRedactor.js","sourceRoot":"","sources":["../../../src/infrastructure/security/PIIRedactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SSRFProtection.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/SSRFProtection.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAMxE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;gBAE9C,OAAO,GAAE,qBAA0B;IAczC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA6D/B,iBAAiB;
|
|
1
|
+
{"version":3,"file":"SSRFProtection.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/SSRFProtection.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAMxE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;gBAE9C,OAAO,GAAE,qBAA0B;IAczC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA6D/B,iBAAiB;YA8CjB,cAAc;IAkD5B,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,cAAc;IAYtB,SAAS,IAAI,QAAQ,CAAC,qBAAqB,CAAC;IAO5C,SAAS,IAAI,OAAO;CAGrB"}
|
|
@@ -52,27 +52,30 @@ class SSRFProtection {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
async validateIPAddress(ip, url) {
|
|
55
|
+
const zoneIndex = ip.indexOf('%');
|
|
56
|
+
const ipWithoutZone = zoneIndex > 0 ? ip.substring(0, zoneIndex) : ip;
|
|
57
|
+
const ipClean = ipWithoutZone.replace(/^\[|\]$/g, '');
|
|
55
58
|
try {
|
|
56
|
-
(0, validators_1.validateIP)(
|
|
59
|
+
(0, validators_1.validateIP)(ipClean);
|
|
57
60
|
}
|
|
58
61
|
catch {
|
|
59
62
|
throw new errors_1.SSRFProtectionError(`Invalid IP address: ${ip}`, { url, ip });
|
|
60
63
|
}
|
|
61
|
-
if (this.options.blockLocalhost && (0, validators_1.isLocalhost)(
|
|
64
|
+
if (this.options.blockLocalhost && (0, validators_1.isLocalhost)(ipClean)) {
|
|
62
65
|
throw new errors_1.SSRFProtectionError(`Localhost IP addresses are blocked: ${ip}`, {
|
|
63
66
|
url,
|
|
64
67
|
ip,
|
|
65
68
|
reason: 'localhost',
|
|
66
69
|
});
|
|
67
70
|
}
|
|
68
|
-
if (this.options.blockPrivateIPs && (0, validators_1.isPrivateIP)(
|
|
71
|
+
if (this.options.blockPrivateIPs && (0, validators_1.isPrivateIP)(ipClean)) {
|
|
69
72
|
throw new errors_1.SSRFProtectionError(`Private IP addresses are blocked: ${ip}`, {
|
|
70
73
|
url,
|
|
71
74
|
ip,
|
|
72
75
|
reason: 'private',
|
|
73
76
|
});
|
|
74
77
|
}
|
|
75
|
-
if (this.options.blockLinkLocal && (0, validators_1.isLinkLocal)(
|
|
78
|
+
if (this.options.blockLinkLocal && (0, validators_1.isLinkLocal)(ipClean)) {
|
|
76
79
|
throw new errors_1.SSRFProtectionError(`Link-local IP addresses are blocked: ${ip}`, {
|
|
77
80
|
url,
|
|
78
81
|
ip,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SSRFProtection.js","sourceRoot":"","sources":["../../../src/infrastructure/security/SSRFProtection.ts"],"names":[],"mappings":";;;AAKA,sDAAgE;AAEhE,8DAAkG;AAKlG,MAAa,cAAc;IAGzB,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAChD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;YAC9C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;YAC9C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;SAC7C,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,SAAc,CAAC;QAEnB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;QAGD,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,4BAAmB,CAAC,wCAAwC,SAAS,CAAC,QAAQ,EAAE,EAAE;gBAC1F,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAGlD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAChD,CAAC,MAAM,EAAE,EAAE,CACT,QAAQ,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CACrF,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,4BAAmB,CAAC,+BAA+B,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9F,CAAC;YAGD,OAAO;QACT,CAAC;QAGD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAChD,CAAC,MAAM,EAAE,EAAE,CACT,QAAQ,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CACrF,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,4BAAmB,CAAC,sBAAsB,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YAEN,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,iBAAiB,CAAC,EAAU,EAAE,GAAW;QAErD,IAAI,CAAC;YACH,IAAA,uBAAU,EAAC,
|
|
1
|
+
{"version":3,"file":"SSRFProtection.js","sourceRoot":"","sources":["../../../src/infrastructure/security/SSRFProtection.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ export declare const DEFAULT_BOOTSTRAP_URL = "https://data.iana.org/rdap";
|
|
|
2
2
|
export declare const DEFAULT_CACHE_TTL = 3600;
|
|
3
3
|
export declare const DEFAULT_CACHE_MAX_SIZE = 1000;
|
|
4
4
|
export declare const BOOTSTRAP_CACHE_TTL = 86400000;
|
|
5
|
-
export declare const DEFAULT_USER_AGENT = "RDAPify/0.1.
|
|
5
|
+
export declare const DEFAULT_USER_AGENT = "RDAPify/0.1.2 (https://github.com/rdapify/rdapify)";
|
|
6
6
|
export declare const RDAP_CONTENT_TYPES: readonly ["application/rdap+json", "application/json"];
|
|
7
7
|
export declare const RDAP_OBJECT_CLASSES: readonly ["domain", "ip network", "autnum", "nameserver", "entity"];
|
|
8
8
|
export declare const BOOTSTRAP_TYPES: readonly ["dns", "ipv4", "ipv6", "asn"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdap.constants.d.ts","sourceRoot":"","sources":["../../../src/shared/constants/rdap.constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAKlE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAKtC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAK3C,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAK5C,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"rdap.constants.d.ts","sourceRoot":"","sources":["../../../src/shared/constants/rdap.constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAKlE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAKtC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAK3C,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAK5C,eAAO,MAAM,kBAAkB,uDAAuD,CAAC;AAKvF,eAAO,MAAM,kBAAkB,wDAGrB,CAAC;AAKX,eAAO,MAAM,mBAAmB,qEAMtB,CAAC;AAKX,eAAO,MAAM,eAAe,yCAA0C,CAAC"}
|
|
@@ -5,7 +5,7 @@ exports.DEFAULT_BOOTSTRAP_URL = 'https://data.iana.org/rdap';
|
|
|
5
5
|
exports.DEFAULT_CACHE_TTL = 3600;
|
|
6
6
|
exports.DEFAULT_CACHE_MAX_SIZE = 1000;
|
|
7
7
|
exports.BOOTSTRAP_CACHE_TTL = 86400000;
|
|
8
|
-
exports.DEFAULT_USER_AGENT = 'RDAPify/0.1.
|
|
8
|
+
exports.DEFAULT_USER_AGENT = 'RDAPify/0.1.2 (https://github.com/rdapify/rdapify)';
|
|
9
9
|
exports.RDAP_CONTENT_TYPES = [
|
|
10
10
|
'application/rdap+json',
|
|
11
11
|
'application/json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdap.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/rdap.constants.ts"],"names":[],"mappings":";;;AAQa,QAAA,qBAAqB,GAAG,4BAA4B,CAAC;AAKrD,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAKzB,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAK9B,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAK/B,QAAA,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"rdap.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/rdap.constants.ts"],"names":[],"mappings":";;;AAQa,QAAA,qBAAqB,GAAG,4BAA4B,CAAC;AAKrD,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAKzB,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAK9B,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAK/B,QAAA,kBAAkB,GAAG,oDAAoD,CAAC;AAK1E,QAAA,kBAAkB,GAAG;IAChC,uBAAuB;IACvB,kBAAkB;CACV,CAAC;AAKE,QAAA,mBAAmB,GAAG;IACjC,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,QAAQ;CACA,CAAC;AAKE,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC"}
|
package/package.json
CHANGED