libnzbfetch is a cross platform c library to download files from usenet using a nzb file. The focus is to make it as efficient as possible. At this point it uses around 5 a 6% cpu (Core 2 duo 2.16) while downloading with +/- 13mbit.
It currently supports multiple servers with different priorities and SSL connections.
It is still in early development, to try it out use:
svn co http://libnzbfetch.googlecode.com/svn/trunk libnzbfetch
makeAn example client can be found in the example/ directory Python bindings to the library can be found in the bindings/python directory. An example of a python client can be found here
int main(int argc, char **argv)
if (argc < 4)
fetcher = nzb_fetch_init();
nzb_fetch_add_server(fetcher, argv, 119,
argv, argv, 2, 0);
nzb_file = nzb_fetch_parse( argv);
num_files = nzb_fetch_list_files(nzb_file, &files);
for (i = 0; i < num_files; i++)
printf("Adding %s to the queue\n", files[i]->filename);