Simple Way To Usenet - Readme ============================= Requirements : php5 compiled with at least those features : crypt iconv sockets sqlite tidy xml xmlreader xmlrpc xmlwriter a patched hellanzb v0.13 (see under) a php-cgi enabled webserver with modrewrite enabled a Newzbin.com account (note that nzb upload will works without) Install : Extract archive to folder. Make cache folder writable by vhost user Edit config/hellarpc.opt.php to define the connection information of the hellanzb daemon(s). Edit config/file_repo.opt.php to define your hellanzb destination folders. Edit config/db.opt.php to define your database information. Edit config/newzbinv2.opt.php to define your Newzbin account information. You also need to patch your hellanzb-0.13 daemon Why ? Swun allow client to upload theyr nzb files and as the hellanzb is not allways on the same machine, Swun use the Newzbin.com DirectID api to transfert those nzb to the hellanzb daemon. In order to do this, you need the change the url used by the hellanzb daemon to fetch the nzb files. How? In Gentoo you can find hellanzb libs under /usr/lib/pythonX/site-packages/Hellanzb/, where X is your python version In NewzbinDownloader.py @Line 30 replace url = 'http://v3.newzbin.com/dnzb/' by the url of your swun, for example : url = 'http://swun.example.org/dnzb/' @Line 102 replace reactor.connectTCP('v3.newzbin.com', 80, self.downloader) by reactor.connectTCP('swun.example.org', 80, self.downloader) In NZBLeecher/NZBModel.py Comment the lines 40 and 41 This will remove a check on the gived ids but this is needed to handle multiple DirectID source. I do this by prefixing ids with n zeros, n define ids type ;) In order to have the browser page kept up-to-date with the content of the hellanzb's repo. you need to enable the EXTERNAL_HANDLER_SCRIPT feature of hellanzb. if hellanzb daemon is local you can call rpcbrw_update.php Hellanzb.EXTERNAL_HANDLER_SCRIPT = 'php /path/to/swun/scripts/rpcbrw_update.php $rpcid' If hellanzb is on a remote host, you can use the update page (request must come from hellanzb host) Hellanzb.EXTERNAL_HANDLER_SCRIPT = 'wget http://swun.example.org/browse/update/$rpcid'