enterprise-logging-system 1.1.36 → 1.1.38

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.
@@ -1 +1 @@
1
- {"version":3,"file":"LogController.d.ts","sourceRoot":"","sources":["../../../src/backend/controllers/LogController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogController.d.ts","sourceRoot":"","sources":["../../../src/backend/controllers/LogController.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LogController = void 0;
4
+ const RequestAnalyzer_1 = require("../utils/RequestAnalyzer");
4
5
  const parseNum = (v, defaultVal) => {
5
6
  if (v === undefined || v === null)
6
7
  return defaultVal;
@@ -24,21 +25,23 @@ class LogController {
24
25
  async logPageView(req, res) {
25
26
  try {
26
27
  const data = req.body;
28
+ // Analyze request for accurate IP, browser, and geolocation data
29
+ const analysis = await RequestAnalyzer_1.RequestAnalyzer.analyzeRequest(req);
27
30
  const result = await this.accessLoggingService.logPageView({
28
31
  tenantId: data.tenantId || req.headers['x-tenant-id'],
29
32
  userId: data.userId,
30
33
  userRole: data.userRole || req.headers['x-user-role'] || 'user',
31
34
  sessionId: data.sessionId,
32
- ipAddress: data.ipAddress || req.ip || '',
35
+ ipAddress: analysis.ipAddress,
33
36
  userAgent: data.userAgent || req.headers['user-agent'] || '',
34
37
  pageId: data.pageId,
35
38
  pageTitle: data.pageTitle,
36
39
  pageUrl: data.pageUrl,
37
40
  pageRoute: data.pageRoute,
38
41
  previousPage: data.previousPage,
39
- browser: data.browser,
40
- geoLocation: data.geoLocation,
41
- network: data.network,
42
+ browser: analysis.browserInfo,
43
+ geoLocation: analysis.geoLocation,
44
+ network: analysis.networkInfo,
42
45
  metadata: data.metadata,
43
46
  employeeId: data.employeeId,
44
47
  username: data.username,
@@ -53,12 +56,14 @@ class LogController {
53
56
  async logAction(req, res) {
54
57
  try {
55
58
  const data = req.body;
59
+ // Analyze request for accurate IP, browser, and geolocation data
60
+ const analysis = await RequestAnalyzer_1.RequestAnalyzer.analyzeRequest(req);
56
61
  const result = await this.accessLoggingService.logAction({
57
62
  tenantId: data.tenantId || req.headers['x-tenant-id'],
58
63
  userId: data.userId,
59
64
  userRole: data.userRole || req.headers['x-user-role'] || 'user',
60
65
  sessionId: data.sessionId,
61
- ipAddress: data.ipAddress || req.ip || '',
66
+ ipAddress: analysis.ipAddress,
62
67
  userAgent: data.userAgent || req.headers['user-agent'] || '',
63
68
  activityType: data.activityType,
64
69
  activityName: data.activityName,
@@ -66,9 +71,9 @@ class LogController {
66
71
  actionTarget: data.actionTarget,
67
72
  actionData: data.actionData,
68
73
  pageId: data.pageId,
69
- browser: data.browser,
70
- geoLocation: data.geoLocation,
71
- network: data.network,
74
+ browser: analysis.browserInfo,
75
+ geoLocation: analysis.geoLocation,
76
+ network: analysis.networkInfo,
72
77
  metadata: data.metadata,
73
78
  employeeId: data.employeeId,
74
79
  username: data.username,
@@ -84,7 +89,16 @@ class LogController {
84
89
  async logChange(req, res) {
85
90
  try {
86
91
  const data = req.body;
87
- const result = await this.loggingService.logChange(data);
92
+ // Analyze request for accurate IP, browser, and geolocation data
93
+ const analysis = await RequestAnalyzer_1.RequestAnalyzer.analyzeRequest(req);
94
+ const result = await this.loggingService.logChange({
95
+ ...data,
96
+ ipAddress: analysis.ipAddress,
97
+ browser: analysis.browserInfo,
98
+ geoLocation: analysis.geoLocation,
99
+ network: analysis.networkInfo,
100
+ userAgent: data.userAgent || req.headers['user-agent'] || ''
101
+ });
88
102
  res.json({ success: true, data: result });
89
103
  }
90
104
  catch (error) {
@@ -95,7 +109,16 @@ class LogController {
95
109
  async logExport(req, res) {
96
110
  try {
97
111
  const data = req.body;
98
- const result = await this.loggingService.logExport(data);
112
+ // Analyze request for accurate IP, browser, and geolocation data
113
+ const analysis = await RequestAnalyzer_1.RequestAnalyzer.analyzeRequest(req);
114
+ const result = await this.loggingService.logExport({
115
+ ...data,
116
+ ipAddress: analysis.ipAddress,
117
+ browser: analysis.browserInfo,
118
+ geoLocation: analysis.geoLocation,
119
+ network: analysis.networkInfo,
120
+ userAgent: data.userAgent || req.headers['user-agent'] || ''
121
+ });
99
122
  res.json({ success: true, data: result });
100
123
  }
101
124
  catch (error) {
@@ -106,17 +129,19 @@ class LogController {
106
129
  async startSession(req, res) {
107
130
  try {
108
131
  const data = req.body;
132
+ // Analyze request for accurate IP, browser, and geolocation data
133
+ const analysis = await RequestAnalyzer_1.RequestAnalyzer.analyzeRequest(req);
109
134
  const result = await this.loggingService.startSession({
110
135
  tenantId: data.tenantId || req.headers['x-tenant-id'],
111
136
  userId: data.userId,
112
137
  username: data.username || data.userId, // Use provided username or fallback to userId
113
138
  userRole: data.userRole || req.headers['x-user-role'] || 'user',
114
139
  sessionId: data.sessionId, // Optional - will be auto-generated if not provided
115
- ipAddress: data.ipAddress || req.ip || '',
140
+ ipAddress: analysis.ipAddress,
116
141
  userAgent: data.userAgent || req.headers['user-agent'] || '',
117
142
  idleThreshold: data.idleThreshold,
118
- browser: data.browser,
119
- geoLocation: data.geoLocation,
143
+ browser: analysis.browserInfo,
144
+ geoLocation: analysis.geoLocation,
120
145
  metadata: data.metadata,
121
146
  employeeId: data.employeeId
122
147
  });
@@ -560,6 +585,8 @@ class LogController {
560
585
  async batchActivities(req, res) {
561
586
  try {
562
587
  const { sessionId, userId, events } = req.body;
588
+ // Analyze request once for all events in the batch
589
+ const analysis = await RequestAnalyzer_1.RequestAnalyzer.analyzeRequest(req);
563
590
  // Process batch of events
564
591
  const results = [];
565
592
  for (const event of events) {
@@ -569,8 +596,11 @@ class LogController {
569
596
  userId,
570
597
  userRole: req.headers['x-user-role'] || 'user',
571
598
  sessionId,
572
- ipAddress: req.ip || '',
599
+ ipAddress: analysis.ipAddress,
573
600
  userAgent: req.headers['user-agent'] || '',
601
+ browser: analysis.browserInfo,
602
+ geoLocation: analysis.geoLocation,
603
+ network: analysis.networkInfo,
574
604
  ...event.data
575
605
  });
576
606
  results.push(result);
@@ -581,8 +611,11 @@ class LogController {
581
611
  userId,
582
612
  userRole: req.headers['x-user-role'] || 'user',
583
613
  sessionId,
584
- ipAddress: req.ip || '',
614
+ ipAddress: analysis.ipAddress,
585
615
  userAgent: req.headers['user-agent'] || '',
616
+ browser: analysis.browserInfo,
617
+ geoLocation: analysis.geoLocation,
618
+ network: analysis.networkInfo,
586
619
  ...event.data
587
620
  });
588
621
  results.push(result);
@@ -594,8 +627,11 @@ class LogController {
594
627
  userId,
595
628
  userRole: req.headers['x-user-role'] || 'user',
596
629
  sessionId,
597
- ipAddress: req.ip || '',
630
+ ipAddress: analysis.ipAddress,
598
631
  userAgent: req.headers['user-agent'] || '',
632
+ browser: analysis.browserInfo,
633
+ geoLocation: analysis.geoLocation,
634
+ network: analysis.networkInfo,
599
635
  ...event.data
600
636
  });
601
637
  results.push(result);
@@ -606,8 +642,11 @@ class LogController {
606
642
  userId,
607
643
  userRole: req.headers['x-user-role'] || 'user',
608
644
  sessionId,
609
- ipAddress: req.ip || '',
645
+ ipAddress: analysis.ipAddress,
610
646
  userAgent: req.headers['user-agent'] || '',
647
+ browser: analysis.browserInfo,
648
+ geoLocation: analysis.geoLocation,
649
+ network: analysis.networkInfo,
611
650
  ...event.data
612
651
  });
613
652
  results.push(result);
@@ -1 +1 @@
1
- {"version":3,"file":"LogController.js","sourceRoot":"","sources":["../../../src/backend/controllers/LogController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogController.js","sourceRoot":"","sources":["../../../src/backend/controllers/LogController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/backend/middleware/loggingMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AA4H5D,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,cAAc,UAS5C,OAAO,OAAO,QAAQ,QAAQ,YAAY,aAgEnE"}
1
+ {"version":3,"file":"loggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/backend/middleware/loggingMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AA6H5D,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,cAAc,UAS5C,OAAO,OAAO,QAAQ,QAAQ,YAAY,aAsEnE"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createLoggingMiddleware = createLoggingMiddleware;
4
+ const RequestAnalyzer_1 = require("../utils/RequestAnalyzer");
4
5
  // export function createLoggingMiddleware(loggingService: LoggingService) {
5
6
  // return {
6
7
  // // Log all API requests
@@ -122,12 +123,14 @@ function createLoggingMiddleware(loggingService) {
122
123
  const significantPaths = ['/login', '/logout', '/export', '/import', '/delete'];
123
124
  const isSignificant = significantPaths.some(path => req.path.includes(path));
124
125
  if (isSignificant || res.statusCode >= 400) {
126
+ // Analyze request for accurate data
127
+ const analysis = await RequestAnalyzer_1.RequestAnalyzer.analyzeRequest(req);
125
128
  await loggingService.logAction({
126
129
  tenantId: req.headers['x-tenant-id'],
127
130
  userId: req.headers['x-user-id'] || 'anonymous',
128
131
  userRole: req.headers['x-user-role'] || 'guest',
129
132
  sessionId: req.headers['x-session-id'] || '',
130
- ipAddress: req.ip || '',
133
+ ipAddress: analysis.ipAddress,
131
134
  userAgent: req.headers['user-agent'] || '',
132
135
  activityType: 'API_CALL',
133
136
  activityName: `${req.method} ${req.path}`,
@@ -154,13 +157,15 @@ function createLoggingMiddleware(loggingService) {
154
157
  // Only start session if we haven't logged it today
155
158
  if (!loggedSessions.has(sessionKey)) {
156
159
  try {
160
+ // Analyze request for accurate data
161
+ const analysis = await RequestAnalyzer_1.RequestAnalyzer.analyzeRequest(req);
157
162
  await loggingService.startSession({
158
163
  tenantId: req.headers['x-tenant-id'],
159
164
  userId,
160
165
  username: req.headers['x-username'] || userId,
161
166
  userRole: req.headers['x-user-role'] || 'user',
162
167
  sessionId,
163
- ipAddress: req.ip || '',
168
+ ipAddress: analysis.ipAddress,
164
169
  userAgent: req.headers['user-agent'] || ''
165
170
  });
166
171
  // Mark this session as logged for today
@@ -1 +1 @@
1
- {"version":3,"file":"loggingMiddleware.js","sourceRoot":"","sources":["../../../src/backend/middleware/loggingMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loggingMiddleware.js","sourceRoot":"","sources":["../../../src/backend/middleware/loggingMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { Request } from 'express';
2
+ import { BrowserInfo, GeoLocation, NetworkInfo } from '../../shared/types';
3
+ /**
4
+ * Utility service for analyzing HTTP requests to extract:
5
+ * - Real IP address (handling proxies, load balancers)
6
+ * - Browser and OS information from User-Agent
7
+ * - Basic geolocation (requires external service integration)
8
+ * - Network information
9
+ */
10
+ export declare class RequestAnalyzer {
11
+ /**
12
+ * Extract the real IP address from request, handling various proxy scenarios
13
+ */
14
+ static extractRealIP(req: Request): string;
15
+ /**
16
+ * Parse User-Agent string to extract browser and OS information
17
+ */
18
+ static parseBrowserInfo(userAgent: string): BrowserInfo;
19
+ /**
20
+ * Extract network information from request headers
21
+ */
22
+ static extractNetworkInfo(req: Request): NetworkInfo;
23
+ /**
24
+ * Get basic geolocation info (placeholder - requires external service)
25
+ * In production, you would integrate with services like:
26
+ * - MaxMind GeoIP2
27
+ * - IP2Location
28
+ * - ipapi.co
29
+ * - ipgeolocation.io
30
+ */
31
+ static getGeolocation(ipAddress: string): Promise<GeoLocation | null>;
32
+ /**
33
+ * Comprehensive request analysis - combines all methods
34
+ */
35
+ static analyzeRequest(req: Request): Promise<{
36
+ ipAddress: string;
37
+ browserInfo: BrowserInfo;
38
+ networkInfo: NetworkInfo;
39
+ geoLocation: GeoLocation | null;
40
+ }>;
41
+ private static isValidIP;
42
+ private static isPrivateIP;
43
+ }
44
+ //# sourceMappingURL=RequestAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/backend/utils/RequestAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,eAAe;IAE1B;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAiC1C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;IAgGvD;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IA8BpD;;;;;;;OAOG;WACU,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAiC3E;;OAEG;WACU,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;QACjD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;KACjC,CAAC;IA6BF,OAAO,CAAC,MAAM,CAAC,SAAS;IAyBxB,OAAO,CAAC,MAAM,CAAC,WAAW;CAgC3B"}
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestAnalyzer = void 0;
4
+ /**
5
+ * Utility service for analyzing HTTP requests to extract:
6
+ * - Real IP address (handling proxies, load balancers)
7
+ * - Browser and OS information from User-Agent
8
+ * - Basic geolocation (requires external service integration)
9
+ * - Network information
10
+ */
11
+ class RequestAnalyzer {
12
+ /**
13
+ * Extract the real IP address from request, handling various proxy scenarios
14
+ */
15
+ static extractRealIP(req) {
16
+ // Check various headers in order of preference
17
+ const headers = [
18
+ 'cf-connecting-ip', // Cloudflare
19
+ 'x-real-ip', // Nginx proxy
20
+ 'x-forwarded-for', // Standard proxy header
21
+ 'x-client-ip', // Apache mod_proxy
22
+ 'x-forwarded', // General forwarded
23
+ 'x-cluster-client-ip', // Cluster
24
+ 'forwarded-for', // RFC 7239
25
+ 'forwarded' // RFC 7239
26
+ ];
27
+ for (const header of headers) {
28
+ const value = req.headers[header];
29
+ if (value) {
30
+ // x-forwarded-for can contain multiple IPs, take the first one
31
+ const ip = value.split(',')[0].trim();
32
+ if (this.isValidIP(ip)) {
33
+ return ip;
34
+ }
35
+ }
36
+ }
37
+ // Fall back to Express req.ip (which uses socket.remoteAddress)
38
+ const expressIP = req.ip || req.socket?.remoteAddress;
39
+ if (expressIP && this.isValidIP(expressIP)) {
40
+ return expressIP;
41
+ }
42
+ return 'unknown';
43
+ }
44
+ /**
45
+ * Parse User-Agent string to extract browser and OS information
46
+ */
47
+ static parseBrowserInfo(userAgent) {
48
+ if (!userAgent) {
49
+ return {
50
+ name: 'Unknown',
51
+ version: 'Unknown',
52
+ os: 'Unknown',
53
+ platform: 'Unknown'
54
+ };
55
+ }
56
+ const ua = userAgent.toLowerCase();
57
+ // Detect browser
58
+ let browserName = 'Unknown';
59
+ let browserVersion = 'Unknown';
60
+ if (ua.includes('edg/')) {
61
+ browserName = 'Microsoft Edge';
62
+ const match = userAgent.match(/Edg\/([0-9.]+)/);
63
+ browserVersion = match ? match[1] : 'Unknown';
64
+ }
65
+ else if (ua.includes('chrome/') && !ua.includes('chromium/') && !ua.includes('edg/')) {
66
+ browserName = 'Google Chrome';
67
+ const match = userAgent.match(/Chrome\/([0-9.]+)/);
68
+ browserVersion = match ? match[1] : 'Unknown';
69
+ }
70
+ else if (ua.includes('firefox/')) {
71
+ browserName = 'Mozilla Firefox';
72
+ const match = userAgent.match(/Firefox\/([0-9.]+)/);
73
+ browserVersion = match ? match[1] : 'Unknown';
74
+ }
75
+ else if (ua.includes('safari/') && !ua.includes('chrome/') && !ua.includes('edg/')) {
76
+ browserName = 'Safari';
77
+ const match = userAgent.match(/Version\/([0-9.]+)/);
78
+ browserVersion = match ? match[1] : 'Unknown';
79
+ }
80
+ else if (ua.includes('opera/') || ua.includes('opr/')) {
81
+ browserName = 'Opera';
82
+ const match = userAgent.match(/(Opera|OPR)\/([0-9.]+)/);
83
+ browserVersion = match ? match[2] : 'Unknown';
84
+ }
85
+ // Detect OS and Platform
86
+ let os = 'Unknown';
87
+ let platform = 'Unknown';
88
+ // Check mobile/tablet platforms first (before desktop OS detection)
89
+ if (ua.includes('iphone')) {
90
+ os = 'iOS';
91
+ platform = 'Mobile';
92
+ const match = userAgent.match(/OS ([0-9_]+)/);
93
+ if (match) {
94
+ const version = match[1].replace(/_/g, '.');
95
+ os = `iOS ${version}`;
96
+ }
97
+ }
98
+ else if (ua.includes('ipad')) {
99
+ os = 'iPadOS';
100
+ platform = 'Tablet';
101
+ const match = userAgent.match(/OS ([0-9_]+)/);
102
+ if (match) {
103
+ const version = match[1].replace(/_/g, '.');
104
+ os = `iPadOS ${version}`;
105
+ }
106
+ }
107
+ else if (ua.includes('android')) {
108
+ const isTablet = ua.includes('android') && !ua.includes('mobile');
109
+ platform = isTablet ? 'Tablet' : 'Mobile';
110
+ const match = userAgent.match(/Android ([0-9.]+)/);
111
+ os = match ? `Android ${match[1]}` : 'Android';
112
+ }
113
+ else if (ua.includes('windows nt')) {
114
+ os = 'Windows';
115
+ platform = 'Desktop';
116
+ if (ua.includes('windows nt 10.0'))
117
+ os = 'Windows 10/11';
118
+ else if (ua.includes('windows nt 6.3'))
119
+ os = 'Windows 8.1';
120
+ else if (ua.includes('windows nt 6.2'))
121
+ os = 'Windows 8';
122
+ else if (ua.includes('windows nt 6.1'))
123
+ os = 'Windows 7';
124
+ }
125
+ else if (ua.includes('mac os x') || ua.includes('macintosh')) {
126
+ platform = 'Desktop';
127
+ const match = userAgent.match(/Mac OS X ([0-9_]+)/);
128
+ if (match) {
129
+ const version = match[1].replace(/_/g, '.');
130
+ os = `macOS ${version}`;
131
+ }
132
+ else {
133
+ os = 'macOS';
134
+ }
135
+ }
136
+ else if (ua.includes('linux')) {
137
+ os = 'Linux';
138
+ platform = 'Desktop';
139
+ if (ua.includes('ubuntu'))
140
+ os = 'Ubuntu Linux';
141
+ else if (ua.includes('fedora'))
142
+ os = 'Fedora Linux';
143
+ else if (ua.includes('debian'))
144
+ os = 'Debian Linux';
145
+ }
146
+ return {
147
+ name: browserName,
148
+ version: browserVersion,
149
+ os: os,
150
+ platform: platform
151
+ };
152
+ }
153
+ /**
154
+ * Extract network information from request headers
155
+ */
156
+ static extractNetworkInfo(req) {
157
+ const networkInfo = {};
158
+ // Check for network hints (if available)
159
+ const connection = req.headers['connection'];
160
+ if (connection) {
161
+ networkInfo.connectionType = connection;
162
+ }
163
+ // Check for client hints (modern browsers)
164
+ const downlink = req.headers['downlink'];
165
+ const rtt = req.headers['rtt'];
166
+ const ect = req.headers['ect']; // Effective Connection Type
167
+ if (downlink) {
168
+ networkInfo.downlink = parseFloat(downlink);
169
+ }
170
+ if (rtt) {
171
+ networkInfo.rtt = parseInt(rtt, 10);
172
+ }
173
+ if (ect) {
174
+ networkInfo.effectiveType = ect;
175
+ }
176
+ return networkInfo;
177
+ }
178
+ /**
179
+ * Get basic geolocation info (placeholder - requires external service)
180
+ * In production, you would integrate with services like:
181
+ * - MaxMind GeoIP2
182
+ * - IP2Location
183
+ * - ipapi.co
184
+ * - ipgeolocation.io
185
+ */
186
+ static async getGeolocation(ipAddress) {
187
+ // Skip geolocation for local/private IPs
188
+ if (!ipAddress || ipAddress === 'unknown' || this.isPrivateIP(ipAddress)) {
189
+ return null;
190
+ }
191
+ try {
192
+ // Example using a free service (replace with your preferred service)
193
+ // Note: In production, use a paid service for better accuracy and rate limits
194
+ const response = await fetch(`http://ip-api.com/json/${ipAddress}?fields=status,country,regionName,city,lat,lon`);
195
+ if (!response.ok) {
196
+ return null;
197
+ }
198
+ const data = await response.json();
199
+ if (data.status === 'success') {
200
+ return {
201
+ country: data.country,
202
+ region: data.regionName,
203
+ city: data.city,
204
+ latitude: data.lat,
205
+ longitude: data.lon
206
+ };
207
+ }
208
+ }
209
+ catch (error) {
210
+ console.warn('Geolocation lookup failed:', error.message);
211
+ }
212
+ return null;
213
+ }
214
+ /**
215
+ * Comprehensive request analysis - combines all methods
216
+ */
217
+ static async analyzeRequest(req) {
218
+ const ipAddress = this.extractRealIP(req);
219
+ const userAgent = req.headers['user-agent'] || '';
220
+ const browserInfo = this.parseBrowserInfo(userAgent);
221
+ const networkInfo = this.extractNetworkInfo(req);
222
+ // Get geolocation asynchronously (with timeout)
223
+ let geoLocation = null;
224
+ try {
225
+ const geoPromise = this.getGeolocation(ipAddress);
226
+ geoLocation = await Promise.race([
227
+ geoPromise,
228
+ new Promise((resolve) => setTimeout(() => resolve(null), 2000)) // 2s timeout
229
+ ]);
230
+ }
231
+ catch (error) {
232
+ console.warn('Geolocation analysis failed:', error.message);
233
+ }
234
+ return {
235
+ ipAddress,
236
+ browserInfo,
237
+ networkInfo,
238
+ geoLocation
239
+ };
240
+ }
241
+ // Private helper methods
242
+ static isValidIP(ip) {
243
+ if (!ip)
244
+ return false;
245
+ // Remove IPv6 prefix if present
246
+ const cleanIP = ip.replace(/^::ffff:/, '');
247
+ // IPv4 validation
248
+ const ipv4Regex = /^(\d{1,3}\.){3}\d{1,3}$/;
249
+ if (ipv4Regex.test(cleanIP)) {
250
+ const parts = cleanIP.split('.');
251
+ return parts.every(part => {
252
+ const num = parseInt(part, 10);
253
+ return num >= 0 && num <= 255;
254
+ });
255
+ }
256
+ // IPv6 validation (basic)
257
+ const ipv6Regex = /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
258
+ if (ipv6Regex.test(cleanIP)) {
259
+ return true;
260
+ }
261
+ return false;
262
+ }
263
+ static isPrivateIP(ip) {
264
+ if (!ip || ip === 'unknown')
265
+ return true;
266
+ // Remove IPv6 prefix if present
267
+ const cleanIP = ip.replace(/^::ffff:/, '');
268
+ // Check for localhost
269
+ if (cleanIP === '127.0.0.1' || cleanIP === '::1' || cleanIP === 'localhost') {
270
+ return true;
271
+ }
272
+ // Check for private IPv4 ranges
273
+ const parts = cleanIP.split('.');
274
+ if (parts.length === 4) {
275
+ const first = parseInt(parts[0], 10);
276
+ const second = parseInt(parts[1], 10);
277
+ // 10.0.0.0/8
278
+ if (first === 10)
279
+ return true;
280
+ // 172.16.0.0/12
281
+ if (first === 172 && second >= 16 && second <= 31)
282
+ return true;
283
+ // 192.168.0.0/16
284
+ if (first === 192 && second === 168)
285
+ return true;
286
+ // 169.254.0.0/16 (link-local)
287
+ if (first === 169 && second === 254)
288
+ return true;
289
+ }
290
+ return false;
291
+ }
292
+ }
293
+ exports.RequestAnalyzer = RequestAnalyzer;
294
+ //# sourceMappingURL=RequestAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestAnalyzer.js","sourceRoot":"","sources":["../../../src/backend/utils/RequestAnalyzer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "enterprise-logging-system",
3
- "version": "1.1.36",
3
+ "version": "1.1.38",
4
4
  "description": "Enterprise logging system with idle time tracking for MongoDB/DocumentDB",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",