0.1.1 • Published 8 years ago

yencer v0.1.1

Weekly downloads
5
License
MIT
Repository
github
Last release
8 years ago

Yencer

Yencer encodes and decodes yEnc data

Install

$ npm install yencer

Todo

  • yEnc encoding
  • Multipart support
  • Buffer/String issues

Examples

Get the Yencer class

var Yencer = require('yencer');

Decode a stream

Here I read out a usenet article stored to disk, including headers. Yencer will take care of it.

var fs = require('fs'),
    stream = Yencer.decodeStream();

// Stream the article file into the decoder
fs.createReadStream('/tmp/test.ntx').pipe(stream);

// Stream the decoder output into a new file
stream.pipe(fs.createWriteStream('/tmp/decoded-file'));

Decode an article

Here I read out a usenet article stored to disk, including headers. Yencer will take care of it.

// Get the buffer to the file
var buffer = fs.readFileSync('/tmp/test.ntx');

// Decode the buffer, which returns a YencFile object
var result = Yencer.decodeArticle(buffer);

// Inspect the object
console.log(result);

    // { buffer: <Buffer ff d8 ff 64 ... >, // The thing you want
    //   info:                              // Info from the yEnc headers
    //    { part: 1,
    //      total: '1',
    //      line: 128,
    //      filesize: 315836,
    //      name: '1024x768_1283625878864.jpg',
    //      begin: 1,
    //      end: 315836,
    //      partsize: 315836,
    //      pcrc32: '72182d81' },
    //   ybegin: true,               // If there was a ybegin line
    //   ypart: true,                // If there was a ypart line
    //   yend: true,                 // If there was a yend line
    //   intact: true,               // If the checksums matched
    //   checksum: '72182d81',       // The decoded checksum
    //   index: 315836,              // Last written index
    //   size: 315836 }              // Supposed filesize
0.1.1

8 years ago

0.1.0

9 years ago