New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

node-fauxmo

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-fauxmo - npm Package Compare versions

Comparing version 0.0.4 to 0.0.5

index.js

2

package.json
{
"name": "node-fauxmo",
"version": "0.0.4",
"version": "0.0.5",
"description": "Make fake WeMo devices. Another Node.JS port of fauxmo, borrowing heavily from fauxmojs",

@@ -5,0 +5,0 @@ "main": "src/index.js",

@@ -6,3 +6,3 @@ 'use strict';

const util = require('util');
var ip = require('ip');
const ip = require('ip');
const os = require('os');

@@ -14,3 +14,3 @@

let response = function(ip) {
let response = function(ipaddr) {
let deviceresp = [];

@@ -24,3 +24,3 @@ let responses = [];

'EXT:',
'LOCATION: http://' + ip + ':' + devices[i].port + '/setup.xml',
'LOCATION: http://' + ipaddr + ':' + devices[i].port + '/setup.xml',
'OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01',

@@ -58,6 +58,12 @@ '01-NLS: ' + serial(devices[i]) + '',

let findAddress = function(network) {
let interfaces = os.networkInterfaces().Ethernet;
for(let i = 0; i <= interfaces.length - 1; i++) {
if(ip.cidr(interfaces[i].cidr)==network) {
return interfaces[i].address;
let interfaces = os.networkInterfaces();
let keys = Object.keys(interfaces);
//console.log(util.inspect(keys));
for(let i = 0; i <= keys.length - 1; i++) {
//console.log(interfaces[keys[i]]);
for(let j = 0; j <= interfaces[keys[i]].length - 1; j++) {
//console.log(interfaces[keys[i]][j].address);
if(getMask(interfaces[keys[i]][j].address, interfaces[keys[i]][j].netmask) == network) {
return interfaces[keys[i]][j].address;
}
}

@@ -67,2 +73,7 @@ }

var getMask = function(ipaddr, subnet) {
let mask = ip.mask(ipaddr, subnet);
return mask;
}
module.exports.startSSDPServer = function(fauxMo) {

@@ -86,3 +97,3 @@ devices = fauxMo.devices;

//console.log('Search request from ' + util.inspect(rinfo));
//console.log(ip.cidr(rinfo.address + '/24'));
//console.log(getMask(rinfo.address, '255.255.255.0'));
let search = parseHeaders(msg);

@@ -92,3 +103,4 @@ if(search) {

if(ipaddress == '0.0.0.0') {
srcip = findAddress(ip.cidr(rinfo.address + '/24'));
srcip = findAddress(getMask(rinfo.address, '255.255.255.0'));
//console.log('Search request from ' + util.inspect(rinfo));
} else {

@@ -113,3 +125,16 @@ srcip = ipaddress;

udpServer.setMulticastTTL(128);
udpServer.addMembership('239.255.255.250', ipaddress);
//console.log(ipaddress);
if(ipaddress=='0.0.0.0') {
let interfaces = os.networkInterfaces();
let keys = Object.keys(interfaces);
for(let i = 0; i <= keys.length - 1; i++) {
for(let j = 0; j <= interfaces[keys[i]].length - 1; j++) {
if(interfaces[keys[i]][j].family=='IPv4'){
udpServer.addMembership('239.255.255.250', interfaces[keys[i]][j].address);
}
}
}
} else {
udpServer.addMembership('239.255.255.250', ipaddress);
}
} catch (err) {

@@ -122,4 +147,19 @@ //debug('udp server error: %s', err.message);

try {
udpServer.bind(1900, function() {
udpServer.setMulticastInterface(ipaddress);
udpServer.bind(1900, ipaddress, function() {
if(ipaddress=='0.0.0.0') {
let interfaces = os.networkInterfaces();
let keys = Object.keys(interfaces);
for(let i = 0; i <= keys.length - 1; i++) {
for(let j = 0; j <= interfaces[keys[i]].length - 1; j++) {
if(interfaces[keys[i]][j].family=='IPv4'){
console.log('Adding multicast membership for ' + interfaces[keys[i]][j].address);
udpServer.setMulticastInterface(interfaces[keys[i]][j].address);
}
//udpServer.setMulticastInterface(keys[i]);
}
}
//udpServer.setMulticastInterface(ipaddress);
} else {
udpServer.setMulticastInterface(ipaddress);
}
});

@@ -129,2 +169,2 @@ } catch (err) {

}
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc