Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
jimbly-tail-stream
Advanced tools
Continuous file tail as a stream. Handles file truncation, but not yet file rollover (old file being deleted/moved and a new file with the same name replacing it).
Somehow, despite searching, I failed to find this existing module before authoring my own. The only key difference is that this new module handles broken pipes slightly more elegantly, with some automatic cleanup and a manual close to prevent leaking of FSWatchers. Other than that, the existing module has a lot more functionality and robustness.
Use tail_stream.createReadStream
just like fs.createReadStream
except the
stream will not end but continue emitting data as the backing file grows.
// Pipe the tail stream to stdout
var tail_stream = require('tail-stream');
var stream = tail_stream.createReadStream('example.txt', {interval: 100});
stream.pipe(process.stdout);
For an example of using this to tail stream a file to an http request, see the example under Caveats.
Due to the Streams API in node, we do not know if our Readable stream was piped into something which has now been closed, and our TailStream will stay active (leaving the program running and also with an active FSWatcher which may be consuming significant CPU) unless explicitly closed. We automatically recover if the stream was not at the end of the file we're streaming or if the file we're streaming continues to be modified, but a stale, unchanging file will leave a FSWatcher (due to an outstanding Readable Stream ._read call) unless explicitly closed.
Example:
require('http').createServer(function (req, res) {
var stream = require('tail-stream').createReadStream('example.txt');
stream.pipe(res);
res.on('end', function() {
stream.close();
});
}).listen(1337, '127.0.0.1');
FAQs
Continuous file tail to stream
We found that jimbly-tail-stream 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 researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.