{"id":101,"date":"2003-11-22T21:12:59","date_gmt":"2003-11-22T20:12:59","guid":{"rendered":"http:\/\/wp.devco.net\/?p=101"},"modified":"2009-10-09T17:31:41","modified_gmt":"2009-10-09T16:31:41","slug":"gmaneorg_nntp_2_rss_converter","status":"publish","type":"post","link":"https:\/\/www.devco.net\/archives\/2003\/11\/22\/gmaneorg_nntp_2_rss_converter.php","title":{"rendered":"gmane.org NNTP 2 RSS converter"},"content":{"rendered":"
Ever since I started using<\/a> Sharpreader<\/a> I have been missing out on some feeds I used to read. Newzcrawler<\/a> has the ability to read NNTP and show it in the same style interface as RSS feeds which is really nice for reading mailing lists via gmane.org<\/a>‘s SMTP to NNTP service. At the moment in version 1.1 no caching or intelligent retrieval of articles exist, future versions will retrieve only articles that are new since the previous poll and the resulting RSS file will only contain these entries, this will conserve bandwidth and CPU time. It also seems that XML::RSS does not handle all special characters in the bodies correctly so posts with accented characters fail validation, I will either cater for these in my code or contact the XML::RSS authors to see if they can fix it. The resulting RSS feed can be seen here<\/a> and can be previewed here<\/a> in my RSS Previewer<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":" Ever since I started using Sharpreader I have been missing out on some feeds I used to read. Newzcrawler has the ability to read NNTP and show it in the same style interface as RSS feeds which is really nice for reading mailing lists via gmane.org‘s SMTP to NNTP service. At the moment I read […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","footnotes":""},"categories":[7],"tags":[121,42],"_links":{"self":[{"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/posts\/101"}],"collection":[{"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/comments?post=101"}],"version-history":[{"count":1,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/posts\/101\/revisions"}],"predecessor-version":[{"id":891,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/posts\/101\/revisions\/891"}],"wp:attachment":[{"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/media?parent=101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/categories?post=101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devco.net\/wp-json\/wp\/v2\/tags?post=101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
\nAt the moment I read FreeBSD Stable<\/a>, FreeBSD Security Announce<\/a>, NT Bugtraq<\/a> and Bugtraq<\/a> through this gmane.org so you can understand that it was rather traumatic to loose this ability.<\/p>\n
\nI spent hours looking for something to convert newsgroups to RSS feeds and came across one promising project<\/a> but it has some limitations – it does not do full bodies and its a PHP script so it does the NNTP download at the time you request it which means even coding in Body support would no doubt make it very slow to respond.
\nI set out writing my own gmane specific implementation using Perl<\/a> using News::NNTPClient<\/a>, XML::RSS<\/a> and DateTime::Format::W3CDTF<\/a>.
\nYou can get the full perl source here<\/a> and be sure to satisfy the required modules above, they are all in the FreeBSD Ports Tree<\/a>.
\nI run the script from a crontab entry regularly and it outputs RSS feeds. Currently the major features are:<\/p>\n\n
\nA sample execution for the gmane.comp.security.ntbugtraq<\/a> group looks like this:<\/p>\n\n
gmane2rss.pl -n 25 -g gmane.comp.security.bugtraq -s \"Bugtraq\" -c rip-blog@devco.net -o bugtraq.xml<\/pre>\n<\/blockquote>\n