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

filezilla-check

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

filezilla-check - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

181

cli.js

@@ -23,10 +23,2 @@ #!/usr/bin/env node

var CONCURRENT_REQUESTS = 10,
table = new Table({
head: ['Name', 'Ip', 'Status'],
colWidths: [60, 25, 25],
style: {
compact: true,
'padding-left': 1
}
}),
serverList = [],

@@ -40,5 +32,12 @@ timeout = 2000,

},
sortByKeys = ['ip', 'name', 'status'],
bar;
bar, sortKey;
var keys = [
{ key: 'name', name: 'Name' },
{ key: 'host', name: 'Ip', defaultSort: true },
{ key: 'status', name: 'Status' }
],
sortByKeys = _.map(keys, function (key) { return key.name.toLowerCase(); }),
defaultSort = _.get(_.find(keys, 'defaultSort'), 'name').toLowerCase();
program

@@ -48,3 +47,3 @@ .version(version)

.option('-t, --timeout <n>', 'Timeout in milliseconds', parseInt)
.option('-s, --sort <sort>', 'Sort by (ip|name|status) default:ip', 'ip')
.option('-s, --sort <sort>', 'Sort by (' + sortByKeys.join('|') + ') default:' + defaultSort, defaultSort)
.parse(process.argv);

@@ -57,2 +56,44 @@

function getIptoNumeric (host) {
var addrArray = host.split('.'),
num = 0;
for (var i = 0; i < addrArray.length; i++) {
var power = 3 - i;
num += ((parseInt(addrArray[i]) % 256 * Math.pow(256, power)));
}
return num;
}
function displayTable() {
_.each(keys, function (key) {
key.max = _.max(serverList, function(server) {
return ('' + server[key.key]).length;
})[key.key].length + 5;
});
var table = new Table({
head: _.pluck(keys, 'name'),
colWidths: _.pluck(keys, 'max'),
style: {
compact: true,
'padding-left': 1
}
});
_.each(_.sortBy(serverList, sortKey), function (server) {
var rule = [];
_.each(keys, function (key) {
rule.push(server[key.key]);
});
table.push(rule);
});
table.push([]);
var total = 'Total: ' + status.total + ', Open: ' + status.open + ', Closed: ' + status.closed;
table.push([total, '', '']);
console.log('\n' + table.toString());
}
function getServer(server, callback) {

@@ -77,10 +118,55 @@ portscanner.checkPortStatus(21, {

if (program.args.length !== 1) {
console.error('no sitemanager.xml');
exit();
function getServers () {
status.total = serverList.length;
bar = new ProgressBar(' Checking servers [:bar] :percent :etas', {
complete: '=',
incomplete: ' ',
width: 53,
total: serverList.length
});
async.eachLimit(serverList, CONCURRENT_REQUESTS, getServer, function(asyncErr) {
if (asyncErr) {
throw asyncErr;
}
displayTable();
});
}
function processSiteManagerFile (file) {
fs.readFile(file, function(err, data) {
if (err) {
throw err;
}
parser.parseString(data, function (parseErr, result) {
if (parseErr) {
throw parseErr;
}
var servers = result.FileZilla3.Servers[0].Server;
serverList = _.chain(servers)
.map(function (ser) {
var name = ser._.replace(/[ \t]+/g, '').replace(/\n/g, ''),
host = ser.Host[0].replace(/[ \t]+/g, '').replace(/\n/g, '');
return {
name: name,
host: host,
ip: getIptoNumeric(host)
};
})
.value();
getServers();
});
});
}
if (sortByKeys.indexOf(program.sort) === -1) {
console.error('Not a valid sort key');
exit();
} else {
sortKey = program.sort;
}

@@ -92,61 +178,8 @@

var file = program.args[0];
var sortKey = program.sort;
fs.readFile(file, function(err, data) {
if (err) {
throw err;
}
parser.parseString(data, function (parseErr, result) {
if (parseErr) {
throw parseErr;
}
var servers = result.FileZilla3.Servers[0].Server;
serverList = _.chain(servers)
.map(function (ser) {
var name = ser._.replace(/[ \t]+/g, '').replace(/\n/g, ''),
host = ser.Host[0].replace(/[ \t]+/g, '').replace(/\n/g, ''),
addrArray = host.split('.'),
num = 0;
for (var i = 0; i < addrArray.length; i++) {
var power = 3 - i;
num += ((parseInt(addrArray[i]) % 256 * Math.pow(256, power)));
}
return {
name: name,
host: host,
ip: num
};
})
.value();
status.total = serverList.length;
console.log();
bar = new ProgressBar(' Checking servers [:bar] :percent :etas', {
complete: '=',
incomplete: ' ',
width: 53,
total: serverList.length
});
async.eachLimit(serverList, CONCURRENT_REQUESTS, getServer, function(asyncErr) {
if (asyncErr) {
throw asyncErr;
}
_.each(_.sortBy(serverList, sortKey), function (server) {
table.push([server.name, server.host, server.status]);
});
table.push([]);
var total = 'Total: ' + status.total + ', Open: ' + status.open + ', Closed: ' + status.closed;
table.push([total, '', '']);
console.log('\n' + table.toString());
});
});
});
if (program.args.length !== 1) {
console.error('no sitemanager.xml');
exit();
} else {
var filename = program.args[0];
processSiteManagerFile(filename);
}
{
"name": "filezilla-checker",
"version": "0.1.1",
"name": "filezilla-check",
"version": "0.1.2",
"npm-shrinkwrap-version": "5.4.0",

@@ -5,0 +5,0 @@ "node-version": "v0.12.4",

{
"name": "filezilla-check",
"version": "0.1.1",
"version": "0.1.2",
"description": "Checking if the servers are up or not",

@@ -5,0 +5,0 @@ "main": "cli.js",

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