Install FUPPES for Streaming Media to XBox 360 and iPhone
On Saturday I went on a treasure hunt for a UPnP / DLNA server that would work with Deena’s iPhone, the XBox 360, and my Nokia N900. I wanted to be able to get our large music collection to every device in the house without any fuss, and I figured out how to do that with FUPPES. Here is a copy and paste style install guide for getting everything setup and running using Ubuntu Linux as the media server (FUPPES supports other operating systems as well).
Prequisites
We first need to grab a bunch of prerequisite software for building FUPPES on Ubuntu. Make sure you have the multiverse enabled in your repositories and run this:
sudo apt-get install ffmpeg build-essential \ libavutil-dev libavformat-dev libavcodec-dev \ subversion libtool automake autoconf \ libsqlite3-dev libpcre3-dev libxml2-dev libtwolame-dev \ libffmpegthumbnailer-dev libmagickwand-dev libsimage-dev \ libtaglib-cil-dev libtaglib-ocaml-dev \ libmp3lame-dev
Installation
Wait for all of those to install; it will probably take a while. Then we actually download and build FUPPES from trunk:
svn co https://fuppes.svn.sourceforge.net/svnroot/fuppes/trunk fuppes cd fuppes autoreconf -vfi ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --enable-lame --enable-twolame --enable-transcoder-ffmpeg make sudo make install sudo ldconfig
Now we have FUPPES installed and ready to go. We just need to setup our configuration file and install it as a startup service, and we should be ready to rock.
Configuration
We need to setup the ports for the Web server, the interface for FUPPES to run on, the folders where you keep media, and what devices/folder structures we want to use. I found it easiest to setup and use the XBox 360 built-in configuration for folders and devices. Using that profile has worked for all of my devices thus far.
First we open up /var/lib/fuppes.cfg with the editor of your choice. In, this case with nano:
sudo nano /var/lib/fuppes/fuppes.cfg
There we will find several areas of interest, starting with the folders we want FUPPES to look in for media:
<shared_objects>
<!--dir>/mnt/music</dir-->
<!--itunes rewrite-path="C:\Music|/c/music">/mnt/music/itunes.xml</itunes-->
<dir>/mnt/media/music</dir>
</shared_objects>
We added a single folder, /mnt/media/music. You can add any others that you keep media in. It will search recursively, so it will also look in subfolders.
Now we will setup up the network and Web server:
<network>
<!--empty = automatic detection-->
<interface>eth0</interface>
<!--empty or 0 = random port-->
<http_port>8080</http_port>
<!--list of ip addresses allowed to access fuppes. if empty all ips are allowed-->
<allowed_ips>
<!--These are examples of what data you can put between the ip tags where (* => anything, [x-y] => range)-->
<!--<ip>192.168.0.1</ip>-->
<!--<ip>192.168.0.[20-100]</ip>-->
<!--<ip>192.168.0.*</ip>-->
<!--<ip>192.*.[0-2].[40-*]</ip>-->
</allowed_ips>
</network>
This sets FUPPES up to listen on eth0 and create a Web server at 8080. It also allows any IP address access. If you wish to restrict this, feel free to add an <ip> entry to the <allowed_ips> section.
Now we will set up the devices and folders. Still in fuppes.cfg, skip down to the section starting with <vfolders enable=”false”> and change it to:
<vfolders enabled="true">
<vfolder name="default" enabled="false" />
<vfolder name="xbox" enabled="true" />
</vfolders>
Save and exit editing the file, and we should pretty much be ready to go. We just need to setup FUPPES to run as a service.
Install as a Service
In order to run FUPPES non-interactively, and not as root for security purposes, we need to create the fuppes user, assign permissions, create an init.d script to start it as fuppes, and insert it into the startup routines. I have posted the init.d script I am using so that you can just paste the following lines in to do all that work:
sudo adduser --system --home /var/lib/fuppes \ --shell /bin/sh --group --no-create-home fuppes sudo chown -R fuppes:fuppes /var/lib/fuppes sudo wget --output-document=/etc/init.d/fuppesd \ http://carsongee.com/files/fuppesd.txt sudo chmod +x /etc/init.d/fuppesd sudo update-rc.d fuppesd defaults 60
Startup and Initialization
We are now ready to start the service and visit the Web page it creates in order to have it start indexing the content added to the <shared_objects> section:
sudo /etc/init.d/fuppesd start
After that starts up (you will see a bunch of text as I can’t figure out how to make the current version silent), open a Web browser and go to the IP and port number specified in the configuration file. You should see something like:
If you get that screen we are pretty much good to go, just make sure it sees your media by going to the browse link on the left. If nothing shows up, you can add shared objects by clicking on the bottom Configuration link, clicking add shared object, and browsing to the folder or iTunes file you want to share. After doing that you will want to click on the Options link and select rebuild database.
You probably will want to run that rebuild database command regardless, and if it is anything like my music collection, it will take well over 24 hours to build. I would also note that there are settings for PS3 if you have one. It also has a default-transcoding-enabled “device” that will automatically convert file formats on your disk to the most common types on the fly (i.e. OGG/Vorbis to MP3 over the network).
Clients
With this setup I have this going by default on my Nokia N900/n95, and my XBox picked it up right away. In order to get this to work on the iPhone I downloaded the free UPnP app from Promise (I love those guys) called SmartStor Fusion Stream. It doesn’t have the best features but it does the trick of getting our 70+ GiBs of music playing on the phone around the house.
Head on over to the FUPPES Wiki or leave a comment if you want help setting anything up or have any problems with the guide.

Comments
1 pablo says...
dont get makefile ubuntu 11.10 checking build systema type ... configure: error: /bin/bash ./config.sub --enable -lame failed2 pablo says...
dont get makefile [solved] ubuntu 11.10 but now:.. ifuppes: /lib/configuration/Pathfinder.cp:56 .....'m_instance != __null' failed. ty!!3 Jose says...
Hi!,, I've just installed Fuppes, but my 'fuppes.cfg' doesn't have vfolder section. How Could I config my acces from Xbox. I can see fuppes from my Xbox but I can't check out any files, however I can see my files from my Pc (Windows 7). Thank you in advance .4 Miiiau says...
propecia http://propecia3424.realpillstablets.com - cheapest propecia