Update fetchServerIP
This commit is contained in:
1 parent
cc6e256ca4
commit
d5921f19e7
3 files changed
+41
-42
No files matched your search
@@ -9,7 +9,7 @@ const isLocalIP = require('./utils/isLocalIP.js');
|
|||||||
const { reportedIPs, loadReportedIPs, saveReportedIPs, isIPReportedRecently, markIPAsReported } = require('./services/cache.js');
|
const { reportedIPs, loadReportedIPs, saveReportedIPs, isIPReportedRecently, markIPAsReported } = require('./services/cache.js');
|
||||||
const log = require('./utils/log.js');
|
const log = require('./utils/log.js');
|
||||||
const axios = require('./services/axios.js');
|
const axios = require('./services/axios.js');
|
||||||
const serverAddress = require('./services/serverAddress.js');
|
const serverAddress = require('./services/fetchServerIP.js');
|
||||||
const config = require('./config.js');
|
const config = require('./config.js');
|
||||||
const { version } = require('./package.json');
|
const { version } = require('./package.json');
|
||||||
const { UFW_LOG_FILE, ABUSEIPDB_API_KEY, SERVER_ID, GITHUB_REPO } = config.MAIN;
|
const { UFW_LOG_FILE, ABUSEIPDB_API_KEY, SERVER_ID, GITHUB_REPO } = config.MAIN;
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
const { networkInterfaces } = require('node:os');
|
||||||
|
const axios = require('./axios.js');
|
||||||
|
const isLocalIP = require('../utils/isLocalIP.js');
|
||||||
|
const { REFRESHING_IP_ADDRESS } = require('../config.js').MAIN;
|
||||||
|
|
||||||
|
const ipAddrList = new Set();
|
||||||
|
|
||||||
|
const fetchIPv4Address = async () => {
|
||||||
|
try {
|
||||||
|
const { data } = await axios.get('https://api.sefinek.net/api/v2/ip');
|
||||||
|
if (data?.success && data?.message) ipAddrList.add(data.message);
|
||||||
|
} catch (err) {
|
||||||
|
console.warn('Error fetching IPv4 address:', err.message);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const fetchIPv6Address = () => {
|
||||||
|
try {
|
||||||
|
Object.values(networkInterfaces()).flat().forEach(({ address, internal }) => {
|
||||||
|
if (!internal && address && !isLocalIP(address)) ipAddrList.add(address);
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
console.warn('Error fetching IPv6 address:', err.message);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const fetchServerIPs = async () => {
|
||||||
|
ipAddrList.clear();
|
||||||
|
await fetchIPv4Address();
|
||||||
|
fetchIPv6Address();
|
||||||
|
};
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
await fetchServerIPs();
|
||||||
|
setInterval(fetchServerIPs, REFRESHING_IP_ADDRESS);
|
||||||
|
|
||||||
|
// console.debug(ipAddrList);
|
||||||
|
})();
|
||||||
|
|
||||||
|
module.exports = () => Array.from(ipAddrList);
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
const os = require('node:os');
|
|
||||||
const axios = require('./axios.js');
|
|
||||||
const isLocalIP = require('../utils/isLocalIP.js');
|
|
||||||
const { REFRESHING_IP_ADDRESS } = require('../config.js').MAIN;
|
|
||||||
|
|
||||||
const ipAddressList = new Set();
|
|
||||||
|
|
||||||
const fetchIPv4Address = async () => {
|
|
||||||
try {
|
|
||||||
const { data } = await axios.get('https://api.sefinek.net/api/v2/ip');
|
|
||||||
if (data?.success && data?.message) ipAddressList.add(data.message);
|
|
||||||
} catch (err) {
|
|
||||||
console.warn('Error fetching IPv4 address:', err.message);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const fetchIPv6Address = () => {
|
|
||||||
const networkInterfaces = os.networkInterfaces();
|
|
||||||
|
|
||||||
Object.values(networkInterfaces).forEach(interfaces => {
|
|
||||||
interfaces.forEach(details => {
|
|
||||||
const ip = details.address;
|
|
||||||
if (!details.internal && ip && !isLocalIP(ip)) ipAddressList.add(ip);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const fetchIPAddress = async () => {
|
|
||||||
ipAddressList.clear();
|
|
||||||
await fetchIPv4Address();
|
|
||||||
fetchIPv6Address();
|
|
||||||
};
|
|
||||||
|
|
||||||
(async () => {
|
|
||||||
await fetchIPAddress();
|
|
||||||
setInterval(fetchIPAddress, REFRESHING_IP_ADDRESS);
|
|
||||||
|
|
||||||
// console.debug(ipAddressList);
|
|
||||||
})();
|
|
||||||
|
|
||||||
module.exports = () => Array.from(ipAddressList);
|
|
||||||
Reference in new issue
Block a user