Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
High performance nodejs http/https static file handler,using c++ addon and libuv lib
ifile is a simple static http/https handler module, build with libuv and c++.
the module are also be used in express and flat.js framework.
With npm:
ifile module is supported windows, linux, mac.
Make sure, node-gyp has installed.
npm install ifile
From source:
git clone https://github.com/DoubleSpout/ifile.git
cd ifile
node-gyp rebuild
To include the module in your project:
var ifile = require('ifile');
##benchmark
to run 1000 times send jquery.1.7.1.min.js file:
nodejs: 166ms (with out any route handler and headers)
ifile : 159ms
gzip it and send
nodejs_gzip: 3555ms
ifile_gzip : 2588ms
var ifile = require('ifile')
ifile.add([
["/static",__dirname,['js','css','jpg']],
],function(req,res,is_static){
res.statusCode = 404;
res.end('404')
})
var http = require('http');
http.createServer(function (req, res) {
ifile.route(req,res);
}).listen(8124);
then request the 127.0.0.1:8124/static/xxx.js
if you have a file in __dirname/static/xxx.js then you will see it.
##API
ifile.add(routearray,not_match_callback);
ifile.route(req,res); route the request
routearray:
[ [request_url_prefix, static_folder [,support_extensions_array]], ... ]
example:
[
["/static",__dirname,['js','css','jpg']],
["/static2",__dirname],
["/skin","static",['js','css','jpg']] //static folder will be __dirname+'/'+static
]
not_match_function: if ifile not match the request,the not_match_function will be called.It has three parameters,req, res and is_static. for example if add ["/static2",__dirname] 1,request "/user/aaa" will call the not_match_function,and is_static param will be 0; 2,request "/static/not_exist_file" will call the not_match_function,and is_static param will be 1;
more example see /test/main.js
##expressjs example
var express = require('express');
var app = express();
var ifile = require("ifile");
ifile.add([
["/static",__dirname,['js','css','jpg']],
],function(req,res,is_static){
if(is_static){
res.statusCode = 404;
res.end('404')
}
else{
req._ifile_next();
}
})
app.use(function(req, res, next){
req._ifile_next = next;
ifile.route(req,res)
});
app.listen(3000);
FAQs
High performance nodejs http/https static file handler,using c++ addon and libuv lib
The npm package ifile receives a total of 3 weekly downloads. As such, ifile popularity was classified as not popular.
We found that ifile demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.