[RELEASE] Google Reader one-click host streaming and NZB downloader addon
#1
Thumbs Up 
NEW: Send NZB files from feed items to the SABnzb addon. Tested with nzb.su, nzbindex.nl, medianzb.


Install my repository to install this addon and keep it updated:
repository.googlecode.daledude.zip

Google Reader Direct DownLoad Video Streamer

Dharma addon to browse through a Google Reader account and stream any hotfile download links found on the resulting feed page or send an NZB file to the SABnzb addon. I prefer to use Google Reader instead of having to deal with each sites individual feeds, like rlslog/rlsbb/scnrls, plus searching feed history is nice.

REQUIREMENTS:
* Google Reader account.
* Premium hotfile account or SABnzbd addon for NZB downloading.
* Feeds need to be in at least one folder/category in Google Reader because this script gets a list of folders as the initial index and then drills down from there. You can use an existing Reader account as this script won't effect any of your feeds.
* For multipart rar streaming you must create/modify userdata/autoexec.py. See README.txt.

NZB HANDLING:
If an nzb file is found when you select a feed item it will automatically be sent to the SABnzb addon. If the feed has images attached (nzb.su) then they will be used just like usual. When adding rss feeds from sites such as nzbindex or binsearch be sure to add ".nzb" to the search query. This will mostly ensure that the returned results will only be the nzb posts.

MULTIPART RARS:
To stream multipart rars you must create, or add a line to, the autoexec.py file in the userdata folder. See the autoexec.py file provided with this module which you may copy or use as an example. Restart XBMC to have it loaded. Then go to the GReader DDL addon settings and enable the REDIRECT SERVER. If you receive a REDIRECT SERVER CONNECT error when browsing feeds then try changing the port number which is also in the addon settings. When selecting an archive the script will need to read the directory from each file which can take some time depending on the number of rars in the set. Also when selecting a video within the archive XBMC will need to read data from each of the files again so be patient.

KNOWN ISSUES:
*For rars: XBMC will check each rar again before it plays. There is no indicators for this other than "working...". Can take a few seconds.
*For rars: XBMC will sometimes fail to start the video and get stuck with "working..." and require a restart of the program.

TODO:
*Mark individual items as read, unread, starred, etc.
*Customize # feed items to display. Currently hard coded at 100 max.
*Browse all latest, starred, shared, read and friends feeds.
*Browse a whole folder's feeds instead of drilling down per feed.
*Download context menu. Maybe integrate with jdownloader or some other queueing program.
*Allow filtering items. Maybe integrate with TVRage script.
*Add more premium hosters like rapidshare, megaupload, etc. But I don't want to buy premium accounts to do this. If someone is trusting enough to let me use theirs for development PM me.

WINDOWS:
I did development on Windows but I only use XBMC on Linux for regular use. During development I had alot of problems with "URLError: <urlopen error (8, 'EOF occurred in violation of protocol" errors when trying to connect to https. It will give this error the first time but then work ok for awhile.

THANKS:
Unbehagen for the hotfile code.
Asktherelic.com for the python greader api code.
Marko Kreen for rarfile.py.
Reply
#2
New v1.0.1 adds searching ability and context menu to Mark Feed Read. Hack around unicode feeds by not displaying them. Hope to get some help with handling unicode data.
Reply
#3
New v1.0.2. Fixed search bugs. Show feed content in Movie Information dialog.
Reply
#4
New v1.0.3. Better hotfile link finding. Handle feeds that use iframes such as katz.
Reply
#5
New v1.1.0. Streams multirar videos (requires autoexec.py). If hotfile links are in the RSS feed then change color of title to white to stand out (does not mean there are no hotfile links on the actual website page the rss feed points to. this is just for convenience). Misc bug fixes.

With the multipart rar streaming support you can now use hotfile specific feeds from forums like hotfile-zone or hotfile-forum.
Reply
#6
New v1.1.1. Bug fixes for multipart rar regex. Fix handling single file rars. Added "informative" progress dialogs. Sort multipart rars for sites that don't already (freshswap). Fix iframe handling for sites that use them (katz). Small performance enhancements. Remove unnecessary debug code. Preparing for other ddl services using jdownloader.
Reply
#7
it seems we are working on fairly similar things, especially streaming from one-click-file-hosters.

you mention in your to-do:
*Add more premium hosters like rapidshare, megaupload, etc.

check out this:
http://forum.xbmc.org/showthread.php?tid=89960
i'm developing it anyway for my icefilms addon.
i'll post an update there when its in a useable state.

i've also been trying to work out context menus, so i'm going to try using some of your code
Reply
#8
New v1.2.1. Using rarfile.py library to find videos in archives. Makes archive streaming *much* more reliable. Should display a notice if passworded archives or archives within archives are detected. Fixed more rar regex matching. Added DEBUG boolean to cut down on debug output.
Reply
#9
v1.2.2. Made httpserver.py threaded. Added status of what file/volume is being processed in multirars.

v1.2.4. Validate links in parallel for speed up. Created repository for easier updating to XBMC clients.
Reply
#10
NOTICE: IF YOU DOWNLOADED MY REPOSITORY FILE BEFORE 1/30/2011 THEN PLEASE DOWNLOAD, UNINSTALL AND INSTALL IT AGAIN. Just the repository and not the addon. Google Downloads are stupid and you probably tried to install a non working old version.
Reply
#11
I have a question about how this handles multipart RAR downloading. Let's assume you have a video split across 4 RAR files: does it begin downloading all of the parts at once, and then once the first is finished you tell XBMC to play the first? Or how do you handle this? I've been thinking about implementing streaming from usenet, but I believe spiff told me there wasn't support for playing RARs that didn't have all parts completed yet.
Reply
#12
maruchan Wrote:I have a question about how this handles multipart RAR downloading. Let's assume you have a video split across 4 RAR files: does it begin downloading all of the parts at once, and then once the first is finished you tell XBMC to play the first? Or how do you handle this? I've been thinking about implementing streaming from usenet, but I believe spiff told me there wasn't support for playing RARs that didn't have all parts completed yet.

I've not had to dive into the specifics of how xbmc handles rars, but from my understanding it will automagically stream multipart rars over it's supported protocols. i.e. http, ftp, smb, etc. The catch, in my case, is that xbmc requires the base path to all be the same. So I created a simple http server that my script calls and feeds it the hotfile.com urls where all the paths use hashes so the base paths are different. In return the http server sends me back transformed urls pointing to itself. I read the rars with rarfile.py looking for any video files. Then I give xbmc these transformed, and uniform, urls (in the form of the rar:// protocol to the specific video file) and it connects to my http server which in turn sends a 302 (redirect) response with the original hotfile.com url. Luckily xbmc can be tricked in this way. Then xbmc will read a bit off each rar before it starts to play the video. I don't know if it's reading the rar headers or getting the sizes. It only seems to take a few seconds. So from my perspective there isn't any downloading. My part in any of this is just sending xbmc a rar:// url to the first rar file and an http redirect and then I'm out of the loop. Quite trivial.

I've seen you post in that nzb streamer thread. I've mulled nntp streaming over a little as an interest. I'm thinking of getting an account when my hotfile subscription runs out. I was thinking that the better, but harder, way to handle nzb/nntp streaming would be to write an http-to-nntp proxy. Unless your news service offers that already then you can probably use my redirect method. I'm interested in collaborating on such a project for the fun factor.
Reply
#13
v1.3.1
- Fixed unicode error issues. Sick of the listitem unicode crap!

v1.3.0
- Can send NZB items to the SABnzb addon (required). Tested and works with nzb.su, nzbindex.nl, medianzb. Might work with others but I don't promote the nzb indexes that are a pain in the ass to get into greader. nzb.su seems to be the best so far since my existing code to scrape an image already works. I'll add imdb/tmdb scraping later. Hesitating until I lower the number of feed items shown which is currently 100 and could take forever for a listing!
Reply
#14
Hey I dont know what`s wrong but I cant get NZB download to work. I have nzb.su acct and feed (with &dl=1) but the feed is leading to their website instead of nzb file itself, any idea what can I do to fix it??
Reply
#15
ghostofdeath Wrote:Hey I dont know what`s wrong but I cant get NZB download to work. I have nzb.su acct and feed (with &dl=1) but the feed is leading to their website instead of nzb file itself, any idea what can I do to fix it??

How can you tell it's loading their web page instead of the nzb?

Make sure your using version 1.3.1 of this addon. Also make sure your SABnzb XBMC addon is installed and working properly with your SABnzbd setup.

If selecting a feed item from nzb.su in my greader addon doesn't popup a notification window from the SABnzb addon saying the nzb was added then paste the rss link your using in greader without your hash code. i.e. http://nzb.su/rss?t=5030&dl=1&i=12798. Notice the missing r=<long hash code>.

I could bypass the requirement for the SABnzb XBMC addon if that is causing your issue.

Let me know how it goes.
Reply

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Google Reader one-click host streaming and NZB downloader addon1