
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
A node library for encoding and decoding bencoded data, according to the BitTorrent specification.
bencode.js uses indutny/bn.js as Integer because JavaScript support only 53-bit precise integers :(
npm install bencode.js
var bencode = require('bencode.js')
var data = {
string: new Buffer('Hey there!'),
integer: new bencode.BN(42),
dict: { key: new Buffer('dict-key-string') },
list: [ new bencode.BN(1), new Buffer('str'), new bencode.BN(5), {}, [] ]
}
console.log(bencode.encodingLength(data))
// 90
var encoded = bencode.encode(data)
console.log(encoded.toString())
// d4:dictd3:key15:dict-key-stringe7:integeri42e4:listli1e3:stri5edelee6:string10:Hey there!e
console.log(bencode.decode(encoded))
// { dict: { key: <Buffer 64 69 63 74 2d 6b 65 79 2d 73 74 72 69 6e 67> },
// integer: <BN: 2a>,
// list: [ <BN: 1>, <Buffer 73 74 72>, <BN: 5>, {}, [] ],
// string: <Buffer 48 65 79 20 74 68 65 72 65 21> }
Torrent file for benchmark: Fedora-Live-MATE_Compiz-x86_64-23.torrent
$ cd benchmark
$ npm i
...
$ npm start
decode
33,311 op/s » bencode
34,559 op/s » bencode.js
23,026 op/s » bencoding
33,448 op/s » dht_bencode
546 op/s » bncode
27,194 op/s » dht
encode
11,413 op/s » bencode
11,562 op/s » bencode.js
6,444 op/s » bencoding
8,108 op/s » dht_bencode
5,586 op/s » bncode
10,278 op/s » dht
MIT
FAQs
bencode encoder/decoder
We found that bencode.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
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.