23 lines
No EOL
613 B
JavaScript
23 lines
No EOL
613 B
JavaScript
const { axios } = require('../services/axios.js');
|
|
const { IP_REFRESH_INTERVAL } = require('../config.js');
|
|
const log = require('./log.js');
|
|
|
|
let address = null; // Holds the IP address
|
|
|
|
const fetchIPAddress = async () => {
|
|
try {
|
|
const { data } = await axios.get('https://api.sefinek.net/api/v2/ip');
|
|
if (data?.success) {
|
|
address = data.message;
|
|
} else {
|
|
log('error', 'Failed to retrieve your IP');
|
|
}
|
|
} catch (err) {
|
|
log('error', `Error fetching your IP: ${err.message}`);
|
|
}
|
|
};
|
|
|
|
|
|
setInterval(fetchIPAddress, IP_REFRESH_INTERVAL);
|
|
|
|
module.exports = { fetchIPAddress, getAddress: () => address }; |