Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/node_modules/multicast-dns/ |
#!/usr/bin/env node
var mdns = require('./')()
var path = require('path')
var os = require('os')
var announcing = process.argv.indexOf('--announce') > -1
if (process.argv.length < 3) {
console.error('Usage: %s <hostname>', path.basename(process.argv[1]))
process.exit(1)
}
var hostname = process.argv[2]
if (announcing) {
var ip = getIp()
mdns.on('query', function (query) {
query.questions.forEach(function (q) {
if (q.name === hostname) {
console.log('Responding %s -> %s', q.name, ip)
mdns.respond({
answers: [{
type: 'A',
name: q.name,
data: ip
}]
})
}
})
})
} else {
mdns.on('response', function (response) {
response.answers.forEach(function (answer) {
if (answer.name === hostname) {
console.log(answer.data)
process.exit()
}
})
})
mdns.query(hostname, 'A')
// Give responses 3 seconds to respond
setTimeout(function () {
console.error('Hostname not found')
process.exit(1)
}, 3000)
}
function getIp () {
var networks = os.networkInterfaces()
var found = '127.0.0.1'
Object.keys(networks).forEach(function (k) {
var n = networks[k]
n.forEach(function (addr) {
if (addr.family === 'IPv4' && !addr.internal) {
found = addr.address
}
})
})
return found
}