
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
torrent2magnet-js
Advanced tools
[](https://www.npmjs.org/package/torrent2magnet-js) [](https://github.com/tukideng/torrent2magnet-js/blob/master/LICENSE) [![do
Takes a buffer of torrent file and returns it's xt, dn, magneturi and more details.
Install via
npm install torrent2magnet-js
Use a torrent file buffer as input, and return an object with the following properties:
Name | Description | Example |
---|---|---|
success | Whether the result was parsed successfully | true/false |
infohash | Calculated over the contents of the info dictionary in bencode form | 9ECD4676FD0F0474151A4B74A5958F42639CEBDF |
magnet_uri | It consists of a set of parameters, the most commonly used parameter is xt, which is usually a URN formed by the content hash function value of a specific file | magnet:?xt=urn:btih:9ECD4676FD0F0474151A4B74A5958F42639CEBDF&dn=ubuntu-23.10.1-desktop-amd64.iso&xl=5173995520&tr=https://torrent.ubuntu.com/announce&tr=https://ipv6.torrent.ubuntu.com/announce |
dn | The name or folder name of the resource | ubuntu-23.10.1-desktop-amd64.iso |
xl | The size of the file in bytes | 5173995520 |
main_tracker | main tracker. The first element of tracker_list | 'https://torrent.ubuntu.com/announce' |
tracker_list | A list of tracker url | ['https://torrent.ubuntu.com/announce', 'https://ipv6.torrent.ubuntu.com/announce'] |
is_private | If the torrent file is private | true/false |
files | If the torrent file contains multiple files, this parameter returns the path and file size information of all files. | [{path: 'my-torrent', length: 124945}] |
import torrent2magnet from "torrent2magnet-js";
import fs from "fs";
const torrent_file = fs.readFileSync("./ubuntu.torrent");
const torrent_file_buffer = new Uint8Array(torrent_file); // Buffer.from(torrent_file);
const { success, infohash, magnet_uri, dn, xl, main_tracker, tracker_list, is_private, files } = torrent2magnet(torrent_file_buffer);
// success is a boolean value, if success is true, then the following values are valid
if (success) {
//...
}
<input type="file" accept=".torrent" (change)="uploadTorrent($event)" />
import torrent2magnet from "torrent2magnet-js";
uploadTorrent(event: any) {
const file = event.target.files[0];
const reader = new FileReader();
// bencode.decode need ArrayBuffer as input, so we need to use readAsArrayBuffer
reader.readAsArrayBuffer(file);
reader.onload = (file: any) => {
const buffer_content = new Uint8Array(file.target.result);
const { success, infohash, magnet_uri, dn, xl, main_tracker, tracker_list, is_private, files } = torrent2magnet(buffer_content);
if (success) {
//...
}
};
};
MIT
FAQs
[](https://www.npmjs.org/package/torrent2magnet-js) [](https://github.com/tukideng/torrent2magnet-js/blob/master/LICENSE) [![do
The npm package torrent2magnet-js receives a total of 5 weekly downloads. As such, torrent2magnet-js popularity was classified as not popular.
We found that torrent2magnet-js 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.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.