
Research
npm Malware Targets Telegram Bot Developers with Persistent SSH Backdoors
Malicious npm packages posing as Telegram bot libraries install SSH backdoors and exfiltrate data from Linux developer machines.
minipass-fetch
Advanced tools
An implementation of window.fetch in Node.js using Minipass streams
The minipass-fetch npm package is a light-weight implementation of the window.fetch API built on top of the minipass stream library. It is designed to be a smaller, stream-based alternative to the larger fetch implementations, allowing for efficient data handling and manipulation in Node.js environments.
Performing HTTP GET requests
This feature allows you to perform HTTP GET requests to retrieve data from a specified URL. The response can be processed as JSON.
const fetch = require('minipass-fetch');
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
Performing HTTP POST requests
This feature allows you to perform HTTP POST requests to send data to a server. You can include headers and a body in the request.
const fetch = require('minipass-fetch');
fetch('https://api.example.com/submit', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ key: 'value' })
})
.then(response => response.json())
.then(data => console.log('Success:', data))
.catch(error => console.error('Error:', error));
Streaming response data
This feature leverages the streaming capabilities of minipass-fetch to handle large amounts of data without buffering it all in memory at once.
const fetch = require('minipass-fetch');
const { PassThrough } = require('stream');
fetch('https://api.example.com/large-data')
.then(response => {
const stream = new PassThrough();
response.body.pipe(stream);
stream.on('data', chunk => console.log(chunk.toString()));
})
.catch(error => console.error('Error:', error));
node-fetch is a light-weight module that brings the Fetch API to Node.js. It is similar to minipass-fetch but does not focus on streaming data and may not be as minimal in size.
axios is a promise-based HTTP client for the browser and Node.js. It provides a more feature-rich API compared to minipass-fetch, including interceptors, automatic transforms for JSON data, and client-side protection against XSRF.
got is a human-friendly and powerful HTTP request library for Node.js. It offers advanced features like retries, streams, and convenient JSON handling, which can make it a more comprehensive alternative to minipass-fetch.
An implementation of window.fetch in Node.js using Minipass streams
This is a fork (or more precisely, a reimplementation) of node-fetch. All streams have been replaced with minipass streams.
The goal of this module is to stay in sync with the API presented by
node-fetch
, with the exception of the streaming interface provided.
Minipass streams are faster and more deterministic in their timing contract than node-core streams, making them a better fit for many server-side use cases.
See node-fetch
Differences from node-fetch
(and, by extension, from the WhatWG Fetch
specification):
https.request()
when making https
requests.FAQs
An implementation of window.fetch in Node.js using Minipass streams
The npm package minipass-fetch receives a total of 14,132,111 weekly downloads. As such, minipass-fetch popularity was classified as popular.
We found that minipass-fetch demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
Malicious npm packages posing as Telegram bot libraries install SSH backdoors and exfiltrate data from Linux developer machines.
Security News
pip, PDM, pip-audit, and the packaging library are already adding support for Python’s new lock file format.
Product
Socket's Go support is now generally available, bringing automatic scanning and deep code analysis to all users with Go projects.