Introducing sanguinews

After I’ve added newsmangler’s support to my script, I was thinking that I don’t like newsmangler that much. It has no SSL support and it should be a major turn down for anyone, who is security conscious. I don’t want to send my password in a plain text. What about you?

But I didn’t want to learn python just be able to fix this thing myself. I decided to write something similar, but in ruby. And this way sanguinews was born. Feel free to test it and leave some feedback.

Installation is simple. First install nzb library:

gem install nzb

And you will need one other gem:

gem install parseconfig

Then get the latest code from the github:

git clone

Copy sample.conf to your home directory:

cp sample.conf ~/.sanguinews.conf

Adjust it as needed and run. It accepts pretty much the same options as newsmangler does. It should be compatible with the latest version of my script – v0.85.

If you notice any bug – just leave a comment here or on the github.

P.S. If you are unfamiliar with git, you need to be aware that you need to run git pull inside the projects directory to update the code. Something like this:

cd sanguinews && git pull

16 thoughts on “Introducing sanguinews”

  1. Hey,
    that is awesome. I’m currently bypassing that ssl problem for newsmangler with stunnel4. Works so far but its not a stable solution i think. I’m using a modified version of NM where you can perform a headercheck to test your files on the server for completeness. It uses the nzb for that… Could you implement something like that?

    1. Ah and a option where you can specific a custom config file path would be nice.
      Like sanguinews.rb -c /home/…./sample.conf /path/to/folder/for/upload

    2. Currently I am planning to improve the performance of sanguinews a little bit more. It got better, but SN is still behind NM here. Mostly, because I yencode file and then upload, and only after that I move to the next one. So, I am planning to start yencoding next file as soon as the previous one is ready. It should solve the performance issue. After that, I would like to have some status bar implemented. Your suggestion is also a valid one and I will think about it.

        1. I am spawning a thread for encoding already and posting is done by a different set of threads. But as you say, I need to split the whole encoding/processing part even more. Set joins on uploading, but start yencoding a next part as soon as previous file is ready. I will write a class for file objects first, to be able to do this more easily, because at the moment this part of the code is little bit messy.

  2. Since you compared it to newsmangler, I was wondering if it can post to Multiple newsgroups? I’ll try it out when i get home later.

  3. Hi there,

    I’ve done some post with sanguinews.
    Tested it with pureusenet and newsxs.
    Post seems complete on these servers and search engines (binsearch, nzbclub) but I do get lots of reports of broken parts on easynews, usenetserver and some other american based servers.
    I’ve tried reducing the line count to 3000 but this didn’t work.
    Any suggestions?

    1. Hi Roland. Are you using header checking mode? Broken parts can be there because of overloaded servers. Have you tried to upload to these servers with other tools? Are you getting different results?

      1. Hi, there I didn’t use header checking.
        From a windows pc I use Jbinup.
        I’ve actually did a repost of a posting with sanguinews with jbinup.
        With a Jbinup I didn’t get any reports back of broken parts.
        Strange thing is that it only happens with certain servers (usenetserver, easynews…).
        I gonna do a new post tomorrow with header checking on.
        I will let you know how this turns out.


  4. Hi there,

    I’ve tried header checking with both newsxs and pureusenet with both servers i get the messages “….server is lagging”.
    So no checking is possible.
    Any other suggestions?

    1. It’s a normal message telling you that header checking failed and the program will try to re-upload the missing part.

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you human? *