There is work to be done! There's a war to be won!

Sunday, 25 September 2011

FreeNAS+UPNP Server w/Transmission on PS3.

So I turn on the PS3, AV Receiver - Browse my UPNP / NAS box and fire-up some tunes or lay back and watch an .avi - I didn't want Windoze bloated OS, so chose FreeNAS with MediaTomb (UPNP Server) and Transmission (Torrent client)

Here's how:

1) Download FreeNAS (http://wiki.freenas.org/)
Rip to USB Flash Drive; we're not wasting any slots or drives to install an OS - we're booting-up from the Flash Drive baby. Minimum 1GB.

Useful resource: http://doc.freenas.org/index.php/Main_Page

2) Once you're up and running, note that filesystem is read-only, you'll need to mount / -rw in order to make changes later once ssh is setup.

3) GUI is up and running on 80 - I use https (freenas/freenas default user/pass ) - Change this and obviously don't open this to internet. (use ssh tunnel)

4) Configure ssh from GUI and change default passwords

See http://doc.freenas.org/index.php/Main_Page for extensive info.

5) Configure disks and snapshots as required (I've got a couple of 500GB disks mirrored and a couple of smaller 200GB dedicated disks for downloaded media). Setup shares (Win/UNIX/AFP available)

6) Build MediaTomb (http://www.freshports.org/net/mediatomb/) - UPNP Server.

Very easy to use GUI driven. Ports is probably the easiest way to build it - it will grab dependencies as necessary. I execute it from rc.conf - you can run it in daemon mode to test using something like:
mediatomb -c /mnt<directory_of_your_choice>.mediatomb/config.xml -u www -g www (I'm dont like running as root, so I use www). Configure config.xml - mine is pretty much out of the box, but I've included support for PS3 by editing:

    <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->

I also hacked the .xml when PS3 code 2.70 came out. Avi's would no-longer play :-(
<map from=“avi” to=“video/divx”/> did the trick. (re-import all avi's)


Useful resource (http://mediatomb.cc/pages/documentation)

The important stuff (i.e. what you're sharing) can be configured from the GUI (default port 49152)

7) Torrent client - Transmission
Useful to download torrents direct to NAS; then use UPNP Server to share it out :)
(http://www.freebsd.org/cgi/ports.cgi?query=transmission&stype=name&sektion=net-p2p) - Very cool, easy to use and GUI driven too - (default port 9091). I save media to a dedicated 'torrent' share only with specific www user/group privileges. Remember - legal torrents only people.
Config: /etc/rc.conf

# Transmission conf starts
transmission_enable="YES"
transmission_conf_dir="/<directory_of_your_share>"
transmission_watch_dir="/<directory_of_your_share>/mywatchdirectory"
transmission_download_dir=/<directory_of_your_share/mydownload_directory"
transmission_user="secureuser"
# Transmission conf ends

Here's some useful doco's on settings.json:
https://trac.transmissionbt.com/wiki/EditConfigFiles - Can do just about anything from here like powering a small planet.


Enjoy !
G.

No comments:

Post a Comment