@serve.zone/dcrouter 11.0.22 → 11.0.23

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.
Files changed (105) hide show
  1. package/dist_serve/bundle.js +1 -1
  2. package/dist_ts/00_commitinfo_data.d.ts +8 -0
  3. package/dist_ts/00_commitinfo_data.js +9 -0
  4. package/dist_ts/cache/classes.cache.cleaner.d.ts +47 -0
  5. package/dist_ts/cache/classes.cache.cleaner.js +130 -0
  6. package/dist_ts/cache/classes.cached.document.d.ts +76 -0
  7. package/dist_ts/cache/classes.cached.document.js +100 -0
  8. package/dist_ts/cache/classes.cachedb.d.ts +60 -0
  9. package/dist_ts/cache/classes.cachedb.js +126 -0
  10. package/dist_ts/cache/documents/classes.cached.email.d.ts +125 -0
  11. package/dist_ts/cache/documents/classes.cached.email.js +337 -0
  12. package/dist_ts/cache/documents/classes.cached.ip.reputation.d.ts +119 -0
  13. package/dist_ts/cache/documents/classes.cached.ip.reputation.js +323 -0
  14. package/dist_ts/cache/documents/index.d.ts +2 -0
  15. package/dist_ts/cache/documents/index.js +3 -0
  16. package/dist_ts/cache/index.d.ts +4 -0
  17. package/dist_ts/cache/index.js +7 -0
  18. package/dist_ts/classes.cert-provision-scheduler.d.ts +53 -0
  19. package/dist_ts/classes.cert-provision-scheduler.js +110 -0
  20. package/dist_ts/classes.storage-cert-manager.d.ts +18 -0
  21. package/dist_ts/classes.storage-cert-manager.js +43 -0
  22. package/dist_ts/config/classes.api-token-manager.d.ts +46 -0
  23. package/dist_ts/config/classes.api-token-manager.js +150 -0
  24. package/dist_ts/config/classes.route-config-manager.d.ts +35 -0
  25. package/dist_ts/config/classes.route-config-manager.js +231 -0
  26. package/dist_ts/config/index.d.ts +3 -0
  27. package/dist_ts/config/index.js +5 -0
  28. package/dist_ts/config/validator.d.ts +104 -0
  29. package/dist_ts/config/validator.js +152 -0
  30. package/dist_ts/errors/base.errors.d.ts +224 -0
  31. package/dist_ts/errors/base.errors.js +320 -0
  32. package/dist_ts/errors/error.codes.d.ts +115 -0
  33. package/dist_ts/errors/error.codes.js +136 -0
  34. package/dist_ts/logger.d.ts +21 -0
  35. package/dist_ts/logger.js +81 -0
  36. package/dist_ts/monitoring/classes.metricscache.d.ts +32 -0
  37. package/dist_ts/monitoring/classes.metricscache.js +63 -0
  38. package/dist_ts/monitoring/classes.metricsmanager.d.ts +178 -0
  39. package/dist_ts/monitoring/classes.metricsmanager.js +642 -0
  40. package/dist_ts/monitoring/index.d.ts +1 -0
  41. package/dist_ts/monitoring/index.js +2 -0
  42. package/dist_ts/opsserver/classes.opsserver.d.ts +37 -0
  43. package/dist_ts/opsserver/classes.opsserver.js +85 -0
  44. package/dist_ts/opsserver/handlers/admin.handler.d.ts +31 -0
  45. package/dist_ts/opsserver/handlers/admin.handler.js +180 -0
  46. package/dist_ts/opsserver/handlers/api-token.handler.d.ts +6 -0
  47. package/dist_ts/opsserver/handlers/api-token.handler.js +62 -0
  48. package/dist_ts/opsserver/handlers/certificate.handler.d.ts +32 -0
  49. package/dist_ts/opsserver/handlers/certificate.handler.js +421 -0
  50. package/dist_ts/opsserver/handlers/config.handler.d.ts +7 -0
  51. package/dist_ts/opsserver/handlers/config.handler.js +192 -0
  52. package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +30 -0
  53. package/dist_ts/opsserver/handlers/email-ops.handler.js +227 -0
  54. package/dist_ts/opsserver/handlers/index.d.ts +11 -0
  55. package/dist_ts/opsserver/handlers/index.js +12 -0
  56. package/dist_ts/opsserver/handlers/logs.handler.d.ts +25 -0
  57. package/dist_ts/opsserver/handlers/logs.handler.js +256 -0
  58. package/dist_ts/opsserver/handlers/radius.handler.d.ts +6 -0
  59. package/dist_ts/opsserver/handlers/radius.handler.js +295 -0
  60. package/dist_ts/opsserver/handlers/remoteingress.handler.d.ts +6 -0
  61. package/dist_ts/opsserver/handlers/remoteingress.handler.js +156 -0
  62. package/dist_ts/opsserver/handlers/route-management.handler.d.ts +14 -0
  63. package/dist_ts/opsserver/handlers/route-management.handler.js +117 -0
  64. package/dist_ts/opsserver/handlers/security.handler.d.ts +9 -0
  65. package/dist_ts/opsserver/handlers/security.handler.js +231 -0
  66. package/dist_ts/opsserver/handlers/stats.handler.d.ts +11 -0
  67. package/dist_ts/opsserver/handlers/stats.handler.js +399 -0
  68. package/dist_ts/opsserver/helpers/guards.d.ts +27 -0
  69. package/dist_ts/opsserver/helpers/guards.js +43 -0
  70. package/dist_ts/opsserver/index.d.ts +1 -0
  71. package/dist_ts/opsserver/index.js +2 -0
  72. package/dist_ts/paths.d.ts +26 -0
  73. package/dist_ts/paths.js +45 -0
  74. package/dist_ts/plugins.d.ts +79 -0
  75. package/dist_ts/plugins.js +113 -0
  76. package/dist_ts/radius/classes.accounting.manager.d.ts +218 -0
  77. package/dist_ts/radius/classes.accounting.manager.js +417 -0
  78. package/dist_ts/radius/classes.radius.server.d.ts +171 -0
  79. package/dist_ts/radius/classes.radius.server.js +385 -0
  80. package/dist_ts/radius/classes.vlan.manager.d.ts +128 -0
  81. package/dist_ts/radius/classes.vlan.manager.js +279 -0
  82. package/dist_ts/radius/index.d.ts +13 -0
  83. package/dist_ts/radius/index.js +14 -0
  84. package/dist_ts/remoteingress/classes.remoteingress-manager.d.ts +82 -0
  85. package/dist_ts/remoteingress/classes.remoteingress-manager.js +227 -0
  86. package/dist_ts/remoteingress/classes.tunnel-manager.d.ts +59 -0
  87. package/dist_ts/remoteingress/classes.tunnel-manager.js +165 -0
  88. package/dist_ts/remoteingress/index.d.ts +2 -0
  89. package/dist_ts/remoteingress/index.js +3 -0
  90. package/dist_ts/security/classes.contentscanner.d.ts +164 -0
  91. package/dist_ts/security/classes.contentscanner.js +642 -0
  92. package/dist_ts/security/classes.ipreputationchecker.d.ts +160 -0
  93. package/dist_ts/security/classes.ipreputationchecker.js +537 -0
  94. package/dist_ts/security/classes.securitylogger.d.ts +144 -0
  95. package/dist_ts/security/classes.securitylogger.js +233 -0
  96. package/dist_ts/security/index.d.ts +3 -0
  97. package/dist_ts/security/index.js +4 -0
  98. package/dist_ts/storage/classes.storagemanager.d.ts +83 -0
  99. package/dist_ts/storage/classes.storagemanager.js +350 -0
  100. package/dist_ts/storage/index.d.ts +1 -0
  101. package/dist_ts/storage/index.js +3 -0
  102. package/dist_ts_web/00_commitinfo_data.js +1 -1
  103. package/package.json +2 -2
  104. package/ts/00_commitinfo_data.ts +1 -1
  105. package/ts_web/00_commitinfo_data.ts +1 -1
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Reputation check result information
3
+ */
4
+ export interface IReputationResult {
5
+ score: number;
6
+ isSpam: boolean;
7
+ isProxy: boolean;
8
+ isTor: boolean;
9
+ isVPN: boolean;
10
+ country?: string;
11
+ asn?: string;
12
+ org?: string;
13
+ blacklists?: string[];
14
+ timestamp: number;
15
+ error?: string;
16
+ }
17
+ /**
18
+ * Reputation threshold scores
19
+ */
20
+ export declare enum ReputationThreshold {
21
+ HIGH_RISK = 20,// Score below this is considered high risk
22
+ MEDIUM_RISK = 50,// Score below this is considered medium risk
23
+ LOW_RISK = 80
24
+ }
25
+ /**
26
+ * IP type classifications
27
+ */
28
+ export declare enum IPType {
29
+ RESIDENTIAL = "residential",
30
+ DATACENTER = "datacenter",
31
+ PROXY = "proxy",
32
+ TOR = "tor",
33
+ VPN = "vpn",
34
+ UNKNOWN = "unknown"
35
+ }
36
+ /**
37
+ * Options for the IP Reputation Checker
38
+ */
39
+ export interface IIPReputationOptions {
40
+ maxCacheSize?: number;
41
+ cacheTTL?: number;
42
+ dnsblServers?: string[];
43
+ highRiskThreshold?: number;
44
+ mediumRiskThreshold?: number;
45
+ lowRiskThreshold?: number;
46
+ enableLocalCache?: boolean;
47
+ enableDNSBL?: boolean;
48
+ enableIPInfo?: boolean;
49
+ }
50
+ /**
51
+ * Class for checking IP reputation of inbound email senders
52
+ */
53
+ export declare class IPReputationChecker {
54
+ private static instance;
55
+ private reputationCache;
56
+ private options;
57
+ private storageManager?;
58
+ private saveCacheTimer;
59
+ private static readonly SAVE_CACHE_DEBOUNCE_MS;
60
+ private static readonly DEFAULT_DNSBL_SERVERS;
61
+ private static readonly DEFAULT_OPTIONS;
62
+ /**
63
+ * Constructor for IPReputationChecker
64
+ * @param options Configuration options
65
+ * @param storageManager Optional StorageManager instance for persistence
66
+ */
67
+ constructor(options?: IIPReputationOptions, storageManager?: any);
68
+ /**
69
+ * Get the singleton instance of the checker
70
+ * @param options Configuration options
71
+ * @param storageManager Optional StorageManager instance for persistence
72
+ * @returns Singleton instance
73
+ */
74
+ static getInstance(options?: IIPReputationOptions, storageManager?: any): IPReputationChecker;
75
+ /**
76
+ * Reset the singleton instance (for shutdown/testing)
77
+ */
78
+ static resetInstance(): void;
79
+ /**
80
+ * Check an IP address's reputation
81
+ * @param ip IP address to check
82
+ * @returns Reputation check result
83
+ */
84
+ checkReputation(ip: string): Promise<IReputationResult>;
85
+ /**
86
+ * Check an IP against DNS blacklists
87
+ * @param ip IP address to check
88
+ * @returns DNSBL check results
89
+ */
90
+ private checkDNSBL;
91
+ /**
92
+ * Get information about an IP address
93
+ * @param ip IP address to check
94
+ * @returns IP information
95
+ */
96
+ private getIPInfo;
97
+ /**
98
+ * Simplified method to determine country from IP
99
+ * In a real implementation, this would use a geolocation database or service
100
+ * @param ip IP address
101
+ * @returns Country code
102
+ */
103
+ private determineCountry;
104
+ /**
105
+ * Simplified method to determine organization from IP
106
+ * In a real implementation, this would use an IP-to-org database or service
107
+ * @param ip IP address
108
+ * @returns Organization name
109
+ */
110
+ private determineOrg;
111
+ /**
112
+ * Reverse an IP address for DNSBL lookups (e.g., 1.2.3.4 -> 4.3.2.1)
113
+ * @param ip IP address to reverse
114
+ * @returns Reversed IP for DNSBL queries
115
+ */
116
+ private reverseIP;
117
+ /**
118
+ * Create an error result for when reputation check fails
119
+ * @param ip IP address
120
+ * @param errorMessage Error message
121
+ * @returns Error result
122
+ */
123
+ private createErrorResult;
124
+ /**
125
+ * Validate IP address format
126
+ * @param ip IP address to validate
127
+ * @returns Whether the IP is valid
128
+ */
129
+ private isValidIPAddress;
130
+ /**
131
+ * Log reputation check to security logger
132
+ * @param ip IP address
133
+ * @param result Reputation result
134
+ */
135
+ private logReputationCheck;
136
+ /**
137
+ * Schedule a debounced cache save (at most once per SAVE_CACHE_DEBOUNCE_MS)
138
+ */
139
+ private debouncedSaveCache;
140
+ /**
141
+ * Save cache to disk or storage manager
142
+ */
143
+ private saveCache;
144
+ /**
145
+ * Load cache from disk or storage manager
146
+ */
147
+ private loadCache;
148
+ /**
149
+ * Get the risk level for a reputation score
150
+ * @param score Reputation score (0-100)
151
+ * @returns Risk level description
152
+ */
153
+ static getRiskLevel(score: number): 'high' | 'medium' | 'low' | 'trusted';
154
+ /**
155
+ * Update the storage manager after instantiation
156
+ * This is useful when the storage manager is not available at construction time
157
+ * @param storageManager The StorageManager instance to use
158
+ */
159
+ updateStorageManager(storageManager: any): void;
160
+ }