PDA

View Full Version : vBulletin NNTP Daemon


chrome
06-04-2002, 05:05 PM
(Moderators: I know this isn't a vBulletin hack. This is a stand alone peice of software FOR vBulletin. I figured this was the best place for it .. )

What is vNNTPD

This software attempts to provide a stand-alone NNTP daemon that connects to a vBulletin back-end database.

Put simply, your vBulletin database is a large store of articles and groups, and vNNTPD attempts to translate between vBulletin's format and the NNTP protocol that your newsreader client can understand, allowing you to browse your vBulletin server as if it is just another Usenet server.

What this software is NOT

This is NOT a gateway to Usenet style NNTP newservers such as that written by Gilby and fastforward.

Their work can be found:

Gilby's NNTP Gateway
https://vborg.vbsupport.ru/showthread.php?s=&threadid=35247

fastforward's Usenet Gateway
https://vborg.vbsupport.ru/showthread.php?s=&threadid=22599

vNNTPD 0.1 implements NEWSREADER funcionality for vBulletin users.

Interestingly enough, however, if we were to implement the full NNTP RFCs, we'd be able to plug this nntp server into a Usenet server and push groups down from usenet, probably ;)

I'm more concerned about providing newsreader access.

Disclaimer

This software is ALPHA. That means it might not work at all, or it might destroy your vBulletin database, or it might APPEAR to work, but then turn your grandmother into a toad!

Only use this if you *know what you are doing* and are not running it against your production vBulletin environment. This is a work in progress and needs further development to be useful, and indeed, to be safe to use.

What has been implemented

A lot of the RFC977 protocol, most of which has been superceded now. Basic functions work, however, such as LIST and NEWNEWS, etc.

Some of the RFC2980 protocol extensions which are needed for most modern newsreaders.

Support for Mozilla and XNews newsreaders is now functional - you can connect and browse groups with these newsreaders, and download posts. Outlook Express does NOT work, and I've not figured out why yet. I need to check that the output i'm giving back in an XOVER is the same as normal news servers.

What needs to be done

Authentication. This might be tricky, seeing as you can have pretty much any character you like in a vBulletin username. I'd like this to be modular so that we can plug in any authentication mechanism we like. Some sites have to hack vBulletin code to integrate their auth systems with vBulletin, I'd rather not do that.

Posting. Once authentication works.

Intelligent reformatting of posts to be nicer for newsreaders. vBulletin doesn't store the articles wrapped to 80 characters, for example, so before spitting it out to the client, we should wrap it. We should also do something with vbcode tags, such as quote and b etc. I'd like to see it intelligently reformat replies.

Email gateway. Currently, because we dont want to use real email addresses in the From: field of a posting, it places the vBulletin username as the 'name' and then user2323@forums.whaterver.org as the email address. What would be cool is a gateway that took the user2323@forums.whatever.org emails, and translated them to the user's REAL address or to vBulletin Private Messages. Kind of like a anonymous remailer. Its a kind of bonus, free email address, when you sign up to a forum.

Full implementation of the RFCs. I'd like to do this, as I think it would be useful. You never know what newsreaders are going to try and connect. Also, if we implement the server specific commands, we automatically get a NNTP gateway for free, without doing the import/export work that the other two hacks do at the moment. A remote newserver would see a vBulletin server as just another NNTP server, and push news to it. I don't know how feasable this is :)

Outlook Express. This is the most common newsreader out there. I need to get this working.

... and loads more. There is just so much we can do with this. We could even have it so that your private message folders show up as newsgroups, one for each user on the system, and if you want to send a private message .. just post in their 'newsgroup' .. :) Tres cool, no?

How to Contribute

I don't want any testers. Sorry, its not in any kind of state to be tested. Don't email me to tell me X or Y doesn't work. Its probably because I've not gotten that far yet. Sorry, I only started working on this on saturday.

If you're a perl programmer, and can help then email me, at chrome@stupendous.net and let me know that you're interested. Feel free to hack about the code, base something new off it, whatever.

If you want to help me complete *this* code, however, I'm willing to set up a CVS repository.

Why in god's name ... ?

vBulletin is a great product. It has an excellent interface. I love it to peices. However, there are a lot of users out there that refuse to use vBulletin forums just because they have to use a web browser to use it. They complain they would rather use a NNTP newsreader.

So, I thought, why not? At the heart of vBulletin is a structure that is not entirely unlike that of usenet. Well, you have groups, and you have posts. Thats pretty similar. (Don't point out the lack of threading to me, I know, oh god, I know.)

The code is unfinished. It doesn't work with all newsreaders, and you cannot post with it.

I decided to release it now, instead of later when I have more features implemented, because I am moving country and jobs in a few days and have no idea when I'll be able to work on this. I figured, "set the code free" and see if anyone else wants to take it on.

Yes, its a silly idea, but like all silly ideas, it'd probably work wonderfully if it was ever done right. I'm not sure if perl is the right answer, and I'm not sure if I'm a very good coder, but here it is. I hope someone finds it interesting, if not useful.