https://github.com/litert/bencode.js
A bencode decode/encode library based on Node.js.
https://github.com/litert/bencode.js
bencode torrent
Last synced: 21 days ago
JSON representation
A bencode decode/encode library based on Node.js.
- Host: GitHub
- URL: https://github.com/litert/bencode.js
- Owner: litert
- License: apache-2.0
- Created: 2019-03-04T10:02:16.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2026-03-18T16:30:29.000Z (about 1 month ago)
- Last Synced: 2026-03-19T06:22:39.517Z (about 1 month ago)
- Topics: bencode, torrent
- Language: TypeScript
- Homepage: https://fenying.net
- Size: 377 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# LiteRT/Bencode
[](https://www.npmjs.com/package/@litert/bencode "Stable Version")
[](https://github.com/litert/bencode/blob/master/LICENSE)
[](https://nodejs.org/dist/latest-v8.x/)
[](https://github.com/litert/bencode.js/issues)
[](https://github.com/litert/bencode.js/releases "Stable Release")
A bencode decode/encode library based on Node.js.
## Requirement
- TypeScript v3.1.x (or newer)
- Node.js v8.0.0 (or newer)
## Installation
```sh
npm i @litert/bencode --save
```
## Usage
Encoding:
```ts
import * as libBencode from "@litert/bencode";
const enc = new libBEncode.BencodeEncoder();
const beData = enc.encode({ // Encode data into BEncode.
"name": "Angus",
"age": 18,
"friends": [
"Edith",
"Alex"
],
"scores": {
"math": 87
},
"randomBytes": Buffer.from('vsm/GvyGjZqUeuPa7ZP8h9ot8VRCe/6arpboI46EIlg=', 'base64')
});
/**
* Don't print as a UTF-8 string, because it's binary.
*/
console.log(beData);
```
Decoding:
```ts
import * as libBencode from "@litert/bencode";
const dec = new LibBencode.BencodeDecoder();
const beData = dec.decode('d4:name5:Angus7:friendsld4:name5:Editheee');
console.log(beData); // Output: { name: 'Angus', friends: [ { name: 'Edith' } ] }
```
## License
This library is published under [Apache-2.0](./LICENSE) license.