Automated torrent download/interface/streamer


33 posts   Page 1 of 2   1, 2
by ajph » Wed Jan 23, 2013 9:58 am
Hi,

I thought I'd finally sign up and share my first raspberry pi project.

Firstly, I must say I do not endorse or condone the use or development of such a device, and have never used it myself :)

So basically....
- My raspi hosts a web-app I made that serves as a front-end to popular torrent sites. You can search or return a list of the top seeded movies.
- Clicking on one of the results brings up some basic information; seeders, leechers, a details link, and a download button.
- Pressing the download button starts the Pi downloading the torrent.
- The Downloads tab shows progress/completion of downloads
- Once the download is complete, it is moved to the Libraries directory and is available for streaming via DLNA.
- The libraries directory shows a list of completed downloads, remaining space on storage, and allows the user to delete items.

Technically...
- The Pi runs lighttpd, php, rtorrent & miniDLNA
- All requests to/from torrent sites is via a custom PHP API I wrote that parses the sites' HTML and returns data in JSON.
- This request for JSON results is done via JQuery and AJAX. The user interface is one page - everything is updated dynamically.
- The Downloads tab data is populated by a PHP ajax request that returns data in JSON, that uses a class I wrote to control rTorrent via XML-RPC. This class can list current downloads & start new ones from a provided .torrent file URL.
- When downloads are complete, they are moved them into a directory that is monitored by miniDLNA.
- The Library class works similarly to the rest
- And finally it's all wrapped up nicely in twitter bootstrap's CSS.

It's incredibly stable - been up and running perfectly for a couple of weeks now. Can simultaneously download as many as 5 (maybe more) torrents and stream to 2 devices.
Future plans are to make it download torrent chunks sequentially/contiguously so streaming is possible. Possibly make an interface on the device itself using QT5 (already experimenting with this).

Check out the screen captures from my iPhone:

http://liv3d.com/rpi/tbox/search.png
http://liv3d.com/rpi/tbox/downloads.png
http://liv3d.com/rpi/tbox/library.png
http://liv3d.com/rpi/tbox/library2.png


Hope this gives you some ideas :)
Posts: 5
Joined: Wed Jan 23, 2013 8:16 am
by ski522 » Wed Jan 23, 2013 1:15 pm
I take it you already own these movies and so you're not breaking the law?
Posts: 394
Joined: Sun Sep 30, 2012 2:22 pm
by ajph » Wed Jan 23, 2013 1:21 pm
ski522 wrote:I take it you already own these movies and so you're not breaking the law?


As I said, I've never used the device myself. The screenshots were taken on my iPhone by a friend on his private island.
Posts: 5
Joined: Wed Jan 23, 2013 8:16 am
by jffking82 » Thu Jan 24, 2013 5:33 pm
Hi very nice project indeed can you release a sd card image of that ??? (in torrent format) ;)
Posts: 2
Joined: Sat Dec 29, 2012 1:02 am
by southpaw » Thu Jan 24, 2013 7:10 pm
Nice project mate, not that i condone the use of torrents for piracy like yourself,
You even made it on to hackaday
Posts: 48
Joined: Wed Nov 30, 2011 2:23 pm
by Nexy » Thu Jan 24, 2013 7:18 pm
I'd highly recommend adding OpenVPN or proxying your torrents through a third party or something to your list. This exposes your filesharing to anyone who'd care to see, using your IP address, which is not something I'd recommend. It's not difficult to tunnel your torrent traffic through a VPN, I did a writeup of my seedbox using deluged and openvpn:

viewtopic.php?f=26&t=13024&p=137550#p137550

It was written back in July though so it may be even easier nowadays.
Posts: 72
Joined: Sun Oct 09, 2011 9:03 pm
by nibzo1 » Thu Jan 24, 2013 8:01 pm
Cool project. I was using torrent flux for a while before i repourpoused the pi again. this sounds great tho. Are you sharing your creation by any chance. I second a vpn as I don't like my downloads/IP in the public domain
Posts: 2
Joined: Thu Jan 24, 2013 7:54 pm
by ajph » Thu Jan 24, 2013 8:53 pm
Hey, thanks for the comments.

I'm currently working on adding PPTP VPN support. I'll consider releasing it as an image when I get that working.
Posts: 5
Joined: Wed Jan 23, 2013 8:16 am
by Nexy » Thu Jan 24, 2013 9:04 pm
I like the idea, PPTP should do the job just fine. :D
Posts: 72
Joined: Sun Oct 09, 2011 9:03 pm
by vonpupp » Thu Jan 24, 2013 9:16 pm
Nice project, congrats!

Could you consider releasing the code (i.e github) and the instructions (i.e wiki / readme) on how to build by our own. I have several services running already on my Pi, and I would like those functions too without giving up on what I already have.

Thanks a lot!
Posts: 1
Joined: Thu Jan 24, 2013 6:29 pm
by nibzo1 » Thu Jan 24, 2013 9:29 pm
nibzo1 wrote:Cool project. I was using torrent flux for a while before i repourpoused the pi again. this sounds great tho. Are you sharing your creation by any chance. I second a vpn as I don't like my downloads/IP in the public domain


nice one dude i will keep this thread. keep up the good work man
Posts: 2
Joined: Thu Jan 24, 2013 7:54 pm
by ajph » Thu Jan 24, 2013 9:52 pm
vonpupp wrote:Nice project, congrats!

Could you consider releasing the code (i.e github) and the instructions (i.e wiki / readme) on how to build by our own. I have several services running already on my Pi, and I would like those functions too without giving up on what I already have.

Thanks a lot!


I never like re-imaging my SD just to gain some functionality, I usually mount them and take out the stuff I want -- it's just the quickest way to release something.

I'll look at releasing the code - would anyone here consider contributing to the project?
Posts: 5
Joined: Wed Jan 23, 2013 8:16 am
by vairav » Fri Jan 25, 2013 1:37 am
I'm interested to contribute to this project.
I'm a newbie to Raspberry Pi, but I have worked on a couple of open-source projects earlier.

Great work by the way!
Posts: 1
Joined: Fri Jan 25, 2013 1:22 am
Location: Sunnyvale, CA
by genecyber » Sat Jan 26, 2013 3:08 am
ajph wrote:
vonpupp wrote:Nice project, congrats!

Could you consider releasing the code (i.e github) and the instructions (i.e wiki / readme) on how to build by our own. I have several services running already on my Pi, and I would like those functions too without giving up on what I already have.

Thanks a lot!


I never like re-imaging my SD just to gain some functionality, I usually mount them and take out the stuff I want -- it's just the quickest way to release something.

I'll look at releasing the code - would anyone here consider contributing to the project?

I would contribute for sure, I've been doing something similar using a virtual machine and an NAS, I love the idea of the custom interface though, I've been using utorrent's webui.
Posts: 4
Joined: Sat Jan 26, 2013 3:05 am
by bramhummel » Sun Jan 27, 2013 7:33 pm
really good job it sounds awesome
i would love to have a download link!
Posts: 1
Joined: Sun Jan 27, 2013 7:30 pm
by bakedbrain » Sat Feb 02, 2013 1:36 am
Releasing this would be awesome. :roll:
Posts: 5
Joined: Mon Jan 28, 2013 7:58 pm
by JohnerH » Mon Feb 04, 2013 3:24 pm
Amazingly this is what I am planning to do with my first RPi (I should be getting it next month).

The security element of this has made me raise an eyebrow though.

I like to maintain my browsing and/or download as private as possible, whilst maintaining any subscriptions to services down a minimal/non-existence (ie.: vpn's).

Doesn't rtorrent provide encryption in itself?

J
Posts: 4
Joined: Thu Jan 31, 2013 2:25 pm
by l0rdraiden » Fri Feb 15, 2013 9:10 am
Do you have any estimate date to release the image?
Are you guys still working on this?

Thanks for the effort
Posts: 5
Joined: Fri Oct 19, 2012 3:45 pm
by RaspberryPiNZ » Wed Feb 27, 2013 4:10 am
Please release this code on GITHub or something similar. The best way to find contributors is to let people use it and figure out how they'd like to add value/features. :)

The screen grabs look great and this has real value not just in a pirating capacity! :)
Posts: 1
Joined: Wed Feb 27, 2013 3:59 am
by rblockmon » Sat Mar 16, 2013 3:48 pm
Can you post up a tutorial on how to do this, please? Great project!
Posts: 14
Joined: Wed Jan 23, 2013 2:56 pm
by ryanpdg1 » Thu Apr 04, 2013 11:03 pm
I'm very interested in this, especially your webapp
Is it on Github yet?
Posts: 3
Joined: Sun Apr 15, 2012 11:09 pm
by grievsa93 » Sun Apr 07, 2013 10:21 pm
I would love to see a img or the scripting released for this!
You could also get yourself a nice reputation for doing this!

Hopefully we'll see a post linked to a image or tutorial!

Good Job!
Posts: 3
Joined: Sun Apr 07, 2013 10:16 pm
by bobybx » Tue Apr 16, 2013 3:40 pm
Interested too :)
Posts: 6
Joined: Tue Apr 09, 2013 2:46 pm
Location: Bordeaux, France
by AlexG » Tue Jul 02, 2013 4:37 pm
Can you release this? I would happily contribute.
Posts: 2
Joined: Sun Jun 30, 2013 6:41 pm
by IYellowSnowI » Wed Jul 24, 2013 9:52 pm
I was also wondering if you were going to do a release or if you could post the contents of your SD card. This is a really good idea and you executed it really well, and I would love to see a release of some sort, even if it's just a zipped file with the contents of the SD card! Thanks :)
Posts: 1
Joined: Wed Jul 24, 2013 9:46 pm