Files
jsowell-charger-web/jsowell-ui/node_modules/multicast-dns/cli.js
Lemon f5e6e29f00 Merge branch 'dev-zza' into dev
# Conflicts:
#	jsowell-ui/.env.development
#	jsowell-ui/.env.staging
#	jsowell-ui/bin/build-sit.bat
#	jsowell-ui/bin/build.bat
#	jsowell-ui/src/api/adapayMember/adapayMember.js
#	jsowell-ui/src/api/pile/merchant.js
#	jsowell-ui/src/router/index.js
#	jsowell-ui/src/views/financial/financeDetail.vue
#	jsowell-ui/src/views/financial/merchant.vue
#	jsowell-ui/src/views/homeIndex/homeIndex.vue
#	jsowell-ui/src/views/login.vue
#	jsowell-ui/src/views/pile/basic/detail.vue
#	jsowell-ui/src/views/pile/station/components/SiteInfo.vue
#	jsowell-ui/src/views/pile/station/detail.vue
#	jsowell-ui/src/views/pile/station/orderReport.vue
2025-06-03 14:26:37 +08:00

65 lines
1.3 KiB
JavaScript

#!/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
}