====== fun_plug ======
**fun_plug** is the name of a script that will run after the DNS323 has booted (see [[howto:fun_plug]]).
The fonz fun_plug (ffp) is a fun_plug script plus a collection of applications compiled and packaged by fonz.
The system uses the DNS-323 fun_plug capability to hook your own start procedures to the startup.
To get started, read the README for current information.
**Homepage**: [[http://ffp.inreto.de/ffp/]]
====== Version 0.7 ======
The 0.7 funplug works mostly the same as 0.5, so most of the information below remains valid for 0.7.
**Homepage**: [[http://ffp.inreto.de/ffp/0.7/]]
**Uli's mirror**: [[http://funplug.wolf-u.li/mirrors/s/0.7/]]
===== Sub versions =====
The actual sub version can be found in /ffp/etc/ffp-version. There are 2 (well, maybe 3) different ones. Which one you needs depends on kernel support.
==== arm ====
The arm version needs EABI support in the kernel. This support is mainly found on newer NASses/firmwares.
==== oabi ====
The oabi version (also called oarm/0.7.1) needs the old-fashioned OABI support in the kernel.
==== oarm ====
The oarm version (oarm/0.7.0) needs the old-fashioned OABI support in the kernel.
This FFP version is deprecated, use oabi instead
===== Installation =====
**Uli's Howto**: [[http://wolf-u.li/4523/hdd-installation-des-fun_plug-auf-nas-geraeten/]] (German)
**pizzards Tutorial (based on Ulis HowTo)**: [[http://dns323.kood.org/forum/viewtopic.php?pid=45488#p45488]] (English)
==== Devices =====
^ Vendor ^ Model ^ ffp Variant ^ Additional information ^
| Conceptronic | CH3SNAS | oabi | |
| Conceptronic | CH3MNAS | arm | |
| D-Link | DNS-323 | oabi | |
| | DNS-313 | oabi | |
| | DNS-343 | arm | |
| | DNS-320 | arm | http://dns323.kood.org/dns-320#setting_up_ffp |
| | DNS-320L | arm | |
| | DNS-321 | arm | |
| | DNS-325 | arm | |
| Zyxel | Firmware 4.40 and newer | arm | [[http://zyxel.nas-central.org/wiki/FFP-stick|FFP Stick]] [[http://zyxel.nas-central.org/wiki/FFP_as_zypkg|zypkg]] |
| | Older firmwares | oabi | [[http://zyxel.nas-central.org/wiki/FFP-stick|FFP Stick]] |
| TDC | Homebox | oabi | [[http://zyxel.nas-central.org/wiki/FFP-stick|FFP Stick]] |
| Medion | P89626/P89630 | arm | [[http://zyxel.nas-central.org/wiki/FFP-stick|FFP Stick]] |
| Acer Aspire | easystore NAS | arm | |
| Lacie | Networkspace 2 | arm | http://forum.nas-central.org/viewtopic.php?f=236&t=6093 |
| Iomega,Lenovo| ix2-200 CE | arm | [[http://iomega.nas-central.org/wiki/Application:FFP|FFP Application]] |
| | ix4-200 CE | arm | [[http://iomega.nas-central.org/wiki/Application:FFP|FFP Application]] |
| | Home Media CE | arm | [[http://iomega.nas-central.org/wiki/Application:FFP|FFP Application]] |
| | EZ Media & Backup center| arm | [[http://iomega.nas-central.org/wiki/Application:FFP|FFP Application]] |
| | ix2-dl | arm | [[http://iomega.nas-central.org/wiki/Application:FFP|FFP Application]] |
===== slacker Sites =====
^ Repository ^ Owner ^ Variant ^ Site name ^ URL ^
| ffp core | fonz | oarm | s | [[rsync://ffp.inreto.de/ffp/0.7/oarm/packages]] |
| || arm | s | [[rsync://ffp.inreto.de/ffp/0.7/arm/packages]] |
| || oabi | s | [[rsync://ffp.inreto.de/ffp/0.7/oabi/packages]] |
| Transmission & Automatic | KyleK | arm | kylek | [[http://kylek.duckdns.org:31337/files/ffp/0.7-arm]] |
| || oabi | kylek | [[http://kylek.duckdns.org:31337/files/ffp/0.7-oabi]] |
| Midnight commander, htop, iftop, ... | Mijzelf | oarm | mz | [[http://downloads.zyxel.nas-central.org/Users/Mijzelf/FFP-Stick/packages/0.7/oarm]] |
| || arm | mz | [[http://downloads.zyxel.nas-central.org/Users/Mijzelf/FFP-Stick/packages/0.7/arm]] |
| || oabi | mz | [[http://downloads.zyxel.nas-central.org/Users/Mijzelf/FFP-Stick/packages/0.7/oabi]] |
| Node Openssl, ... | Memiks | arm | memiks | [[http://ffp.memiks.fr/pkg/]] |
| | Memiks | oabi | memiks | [[http://ffp.memiks.fr/pkg/oarm/]] |
| Gettext, MiniDLNA, Nano, Nzbget, ... | R0b1n | arm | R0b1n | [[https://docs.google.com/open?id=0B9vh__F8PIvdQ2lLUkRRaXhHVnM
]] |
| [[http://funplug.wolf-u.li/0.7/arm/packages/PACKAGES.txt|Various Packages]] | Uli | arm | uli | [[rsync://funplug.wolf-u.li/0.7/arm/packages]] |
| [[http://funplug.wolf-u.li/0.7/oabi/packages/PACKAGES.txt|Various Packages]] | Uli | oabi | uli | [[rsync://funplug.wolf-u.li/0.7/oabi/packages]] |
| | barmalej2 | arm | br2 | [[http://downloads.zyxel.nas-central.org/Users/barmalej2/ffp/0.7/arm/packages/]] |
| | picard | arm | pi | [[http://fr32k.de/FFP/packages/0.7/arm/]] |
==== Configuring sites definitions ====
=== Grapically ===
Announcement of uwsiteloader: [[http://nas-tweaks.net/373/uwsiteloader-tool-to-download-the-sites-definitions-for-packages-of-the-fun_plug-0-7/|English]] / [[http://wolf-u.li/4554/uwsiteloader-tool-zum-download-der-sites-definitionen-fuer-pakete-des-fun_plug-0-7/|German]]
wget http://wolf-u.li/u/441 -O /ffp/bin/uwsiteloader.sh
chmod a+x /ffp/bin/uwsiteloader.sh
uwsiteloader.sh
=== Manually ===
To add a site to your slacker configuration, copy+paste site name and URL to your /ffp/etc/funpkg/sites file. Run "slacker -U" to download the latest package lists. To search packages of a specific site, add the site name to your query (e.g. "slacker -a s:avahi" to search for avahi from site "s").
====== Version 0.5 ======
==== Links ====
**Homepage**: [[http://ffp.inreto.de/ffp/0.5/]]
* README: [[http://ffp.inreto.de/ffp/0.5/README.txt]]
* ChangeLog: [[http://ffp.inreto.de/ffp/0.5/ChangeLog.txt]]
* Packages:
* [[http://ffp.inreto.de/ffp/0.5/PACKAGES.html]]
* [[http://ffp.inreto.de/ffp/0.5/packages/]]
* Sources:
* Check out source tree from subversion: svn co svn://ffp.inreto.de/svn/dns323/funplug/trunk funplug
* See funplug/sources/README.txt for instructions
**Uli's Site**: [[http://ffp.wolf-u.li/]]
* [[http://nas-tweaks.net/82/installing-and-uninstalling-packages-and-activation-and-deactivation-of-daemons-in-fonz-fun_plug/|Package-HOWTO]]
* Announcement of the Repository: [[http://wolf-u.li/2146/ulis-paket-repository-fuer-das-conceptronic-ch3snas-bzw-d-link-dns-323/|German]] & [[http://nas-tweaks.net/82/installing-and-uninstalling-packages-and-activation-and-deactivation-of-daemons-in-fonz-fun_plug/#Downloading_packages|English]]
----------------------
==== Installation ====
For installation instructions, please follow the links for your device. Also, read the sections on the root user and shells. If the installation does not work as expected see the Troubleshooting section below.
* **DNS-323, DNS-321, DNS-343, CH3MNAS and CH3SNAS**
* [[http://nas-tweaks.net/40/installation-of-the-fonz-funplug-0-5-for-ch3snas-ch3mnas-dns-323-and-many-more/|nas-tweaks.net]] by Uli and PeterH
* [[http://www.inreto.de/dns323/fun-plug/0.5/README.txt|inreto.de]] by fonz
* German: [[http://wolf-u.li/1426/fun_plug-05-auf-dem-conceptronic-ch3snas-bzw-d-link-dns-323-installieren/|wolf-u.li]] by Uli
* **DNS-320, DNS-325**
* [[http://nas-tweaks.net/40/installation-of-the-fonz-funplug-0-5-for-ch3snas-ch3mnas-dns-323-and-many-more/|nas-tweaks.net]] by Uli and PeterH
* [[http://wolf-u.li/3779/installation-des-fonz-fun_plug-0-5-auf-dem-d-link-dns-320-sharecenter-pulse/|wolf-u.li (German)]] by Uli
* [[http://wiki.dns323.info/dns-320#setting_up_ffp|DNS-320 Installation help]]
* **DNS-313**
* [[http://dns323.kood.org/forum/t2008-HOWTO%3A-DNS-313-fun_plug-dummies-them%29.html|dns323.kood.org/forum]] by Bronek
* [[http://forum.tim-international.net/viewtopic.php?f=12&t=73|tim-international.net]] by tim
* **Zyxel NSA-220**
* Firmware 2.30 [[http://forums.nas-central.org/viewtopic.php?f=131&t=411|nas-central.org]] by Mijzelf
* Firmware 2.20 [[http://forums.nas-central.org/viewtopic.php?f=131&t=191|nas-central.org]] by Mijzelf
* German: [[http://www.zyxelforum.de/alle-infos-zu-funplug-und-ffp-stick-t640,highlight,ffp.html|zyxelforum.de]] by ZyXEL Deutschland Support (May 2009)
* German: [[http://zyxelforum.de/vorgehensweise-nsa-220-und-einsatz-ffp-0-5-fun-plug-per-usb-t128.html|zyxelforum.de]] by Klaus König (Sep 2008)
* **ZyXEL NSA-220, NSA-220+, NSA-210, NSA-221, NSA-310 and NSA-320, TDC Homedisk, Medion Life P89626/P89630 (FFP 0.6 for the Medion)**
* [[http://zyxel.nas-central.org/wiki/FFP-stick |nas-central.org]] by Mijzelf
* **Linksys WRT 350N**
* [[http://www.linksysinfo.org/forums/showthread.php?t=57932|www.linksysinfo.org]] by Sconk
* **Raidsonic IB-4220-B**
* [[http://forum.nas-portal.org/showthread.php?t=3259|nas-portal.org]]
* **MRT 35HD-Dual-NAS-E**
* [[http://forum.nas-portal.org/showthread.php?p=26891|funplug starten oder skript ausführen]] (German)
* **PCI MZK-NAS01SG / MZK-NAS02SG**
* [[http://tungchingkai.blogspot.com/2008/12/pci-mzk-nas01sg-mzk-nas02sg-modding.html|PCI MZK-NAS01SG / MZK-NAS02SG modding]] by CK
* **Acer Aspire EasyStore**
* [[http://dns323.kood.org/forum/viewtopic.php?id=4229|Acer Aspire EasyStore Fun_plug]] by octocom
* [[http://dns323.kood.org/forum/viewtopic.php?id=5003|Acer Aspire EasyStore & fonz fun-plug step-by-step howto]]
==== Telnet Access ====
If installation was successful, a telnet server has been started. It does not ask for user name and password, and directly starts a root shell.
**Note:** Because fun_plug enables telnet access without a password, it would be exceptionally foolhardy to expose your DNS-323 to the public internet at this point.
A telnet client utility is available by default in Windows XP and in most Linux distributions. On Cygwin, it is provided by the inetutils package. Windows Vista includes a telnet client which is disabled by default but can be enabled easily in //Control Panel -> Programs -> Programs And Features -> Turn Windows features on or off -> Telnet Client//.
See "The root user" below for more information.
==== Upgrading from 0.3/0.4 ====
The recommend upgrade method is to reinstall. Except for the fun_plug script, 0.5 will not overwrite any files of your 0.3/0.4 funplug. After successful installation of 0.5, you can cleanup your 0.3/0.4 files:
rm -rf /mnt/HD_a2/fun_plug.d
==== Upgrading packages ====
If you want to upgrade packages, use
cd /path/to/new/packages
funpkg -u package-file.tgz
This will install the new version and remove any now obsolete files from the old version.
**WARNING**: Before any other packages, you should upgrade the funpkg package itself (funpkg -u funpkg-...tgz). This ensures that additional functions become available that some recent packages may need during installation. After this, you should check for an updated uclibc package.
**WARNING**: Any configuration files, start scripts, etc will be overwritten with the versions in the new package. If you want to keep your changes, you need to backup your custom files and restore them after the upgrade. A simple way to create backups of your config files and start scripts is:
cd /ffp
mkdir my-etc my-start
cp -ar etc/* my-etc
cp -ar start/* my-start
If you want to restore one or more files, e.g. the ssh config files:
cd /ffp
cp -ar my-etc/ssh etc
Not all packages overwrite existing config files. Some install new versions as "*.new" files (e.g. /ffp/etc/profile.new). It's up to you to remove existing config files and rename the new versions (remove .new from the file name, e.g. cd /ffp/etc; mv profile.new profile). Be sure to keep a backup old versions and to merge your custom changes, first.
To find any pending *.new files, you can use find:
cd /ffp/etc
find -name \*.new
To compare an old version with the new file, you can use diff:
diff profile profile.new
Finally, to replace the config file with the new version, use mv:
mv profile.new profile
==== Upgrading ffp itself ====
From Fonz, the developer: There's nothing in the install tarball (fun_plug.tgz) that's not in a package. The simplest way to stay current is to install all the main packages ( http://www.inreto.de/dns323/fun-plug/0.5/packages/ ).
I suggest to keep a local copy of the packages using rsync (don't forget --delete). Then use 'funpkg -i *.tgz' and 'funpkg -u *.tgz' to install and upgrade.
Sometimes, there's special care needed (like with the ffp-scripts package). Before upgrading packages, you should have a look at the ChangeLog ( http://www.inreto.de/dns323/fun-plug/0.5/ChangeLog.txt ) for specific instructions.
Currently, the ffp-base package needs special attention. It contains all the busybox links, and conflicts at least with coreutils. If you have coreutils installed, ffp-base will overwrite many of the coreutils programs with links to busybox. I therefore recommend to not upgrade ffp-base unless you have a specific reason to do so.
-----------------------
==== The root user ====
'root' is the system administrator on Linux. A lot of tasks require root permissions, it's essential to have a working root account.
The firmware comes with a disabled root account that cannot login the 'normal' way. For this reason, the funplug starts an
open telnet server that circumvents the normal login procedure to provide a root shell directly.
To fix the root account, you should run pwconv to update /etc/shadow, set a password and change the shell. NOTE: We'll store the password with **''store-passwd.sh''** once we check a few things in later steps:
pwconv
passwd
usermod -s /ffp/bin/sh root
If you omit the usermod command, login will start the shell configured for root in /etc/passwd. Usually, this is the firmware shell /bin/sh (requires unlock code, type 5784468 and press Enter). For more information on shells, see the 'Shells' section below.
Before saving your changes, you should run additional checks on the password and group files. Some firmware versions duplicate the ftp user, and now is a good time to fix this, too.
pwck
grpck
You may ignore warnings about missing home directories and invalid group names. If asked to remove a duplicate user, say 'yes' to remove **one** of them. Rerun the commands to check that it's fixed.
Test your changes with the login program:
login
If that worked, save the password files to flash memory:
store-passwd.sh
To enable login for telnet, edit the telnetd.sh start script and remove the '-l /ffp/bin/sh' option. You can do this from the command line like this:
cd /ffp/start
sed -i '/flags/ s@^@#@' telnetd.sh
Restarting telnet while logged in via telnet requires special care (the telnet session will be aborted!):
cd /tmp
nohup sh /ffp/start/telnetd.sh restart
Alternatively, you can disable telnet and start the SSH server instead. First, test ssh login:
cd /ffp/start
sh sshd.sh start
Login from a remote host now (as root, of course). If it works, disable telnet and enable sshd permanently:
cd /ffp/start
chmod a-x telnetd.sh
chmod a+x sshd.sh
**Reactivating telnet**. If for some reason, sshd stops working or the root password is lost, the minimal fun_plug.tgz created by bq041 can re-enable password-less telnet: http://dns323.kood.org/forum/p19176-Today-23%3A27%3A18.html#p19176
**root without password**. If you want to use the normal login to benefit from the better environment, but don't want to set a real password for root, you can remove root's password (login won't even ask for a password, then):
usermod -p '' root
This can easily be added to a start script. **WARNING**: ssh does not allow root to login without a password.
-------------------------------------------
==== Shells ====
User login shells are stored in /etc/passwd. The default shell in /etc/passwd for all users is /bin/sh. The configured login shell is started when a user connects via telnet (with username and password) or ssh.
/bin/sh is included in the firmware. On D-Link and Conceptronic devices, you need to type the unlock code 5784468 and press Enter to get a prompt. The environment of /bin/sh does not include any ffp extensions (see also /ffp/etc/profile)!
ffp provides two alternative shells:
* /ffp/bin/sh - the busybox ash shell (like /bin/sh, but a more recent version, and without unlock code)
* /ffp/bin/bash - the popular bourne-again shell (must be installed manually using funpkg, download from [[http://www.inreto.de/dns323/fun-plug/0.5/PACKAGES.html#bash|inreto.de]])
The root user can change login shells using chsh (or usermod) for all users:
chsh -s /ffp/bin/sh username
Remember to run 'store-passwd.sh' to make the changes permanent.
By default, only root can change login shells. You can allow each user to change his login shell himself by granting root permissions to the chsh program. As root, run:
chmod u+s /ffp/bin/chsh
To change their login shells, non-root users can now run:
chsh -s /ffp/bin/sh
or, if bash has been installed:
chsh -s /ffp/bin/bash
Many scripts will refer to "#!/bin/sh", especially if those scripts are intended to work in various environments (applies to Optware and others). However, the shell in DNS323 is limited (ex.: doesn't support pattern replacement such as ${var/${original_string}/${replacement_string}} nor simple expressions such as $( ( + 1 )) ). You then have 3 options:
1) Manually edit all your scripts.
2) Redirect /bin/sh
ln -fs /ffp/bin/sh /bin/sh
3) Redirect the entire Busybox (this will take care of /bin/sh, but also any other references to Busybox tools in /bin).
mv /bin/busybox /bin/busybox-dns323 ; ln -fs /ffp/bin/busybox /bin/busybox
-------------------------------------------
==== Basic configuration ====
During startup, various scripts are run that you can enable, disable, and modify to your needs.
Scripts to start, stop, and restart various network servers and a few other functions are stored in **/ffp/start/**. The scripts that are marked 'executable' will be run automatically at startup. To activate a script, e.g. mediatomb.sh, run:
chmod a+x /ffp/start/mediatomb.sh
To remove the 'executable' flag, run:
chmod a-x /ffp/start/mediatomb.sh
Example configuration files for some services are included in **/ffp/etc/examples**.
Before the scripts in /ffp/start, **/ffp/etc/fun_plug.local** is run, if present and executable. You can use fun_plug.local for any commands you want to run during startup that don't fit in real start scripts. Examples:
* adjust clock ticks to reduce drift
* set your timezone
* remove firmware cronjobs
* ...
/ffp/etc/examples/ contains an example fun_plug.local script. Note that you should set the PATH yourself early in in fun_plug.local. The fun_plug.local function was added in version 2008-08-11 of the fun_plug script.
-----------------------------------------
==== Contributed Packages, Help, Howtos, Guides, Discussions ====
**AFP (netatalk), Bonjour (avahi)** [[http://www.noulakaz.net/weblog/2009/11/02/installing-avahi-and-afp-on-the-dns-323/|Installing Avahi and AFP on the DNS-323 by Avinash Meetoo]]
**BackupPC**: [[:howto:backuppc|backup software suite with a web-based frontend]]
* Windows, UNIX & Linux clients are supported.
* [[wp>Backuppc|ikipedia description]]
**Cleanboot** (Proper shutdown):
[[http://dns323.kood.org/forum/t1828-cleanboot-DNS-323-CH3SNAS.html|cleanboot 1.0 for DNS-323 / CH3SNAS by pof]]
**curl**:
* [[http://dns323.kood.org/forum/viewtopic.php?id=2291|curl by KyleK]]
* [[http://dns323.kood.org/forum/viewtopic.php?pid=22043|curl and other pkgs by boilerjt]]
**duplicity**
[[http://www.drak0.com/2008/06/09/dns323-duplicity-encrypted-offsite-backup-bliss/| duplicity for the dns323 by drak0]]
**Fan Control**
[[http://nas-tweaks.net/85/installation-and-configuration-of-fanctl-for-fonz-fun_plug/|How to control the fan speed by Uli and PeterH]]
**Firefly**:
[[http://dns323.kood.org/forum/t1897-Firefly-package-%28with-flac%29.html|ffp 0.5 Firefly package (with ogg and flac) by Delekhan]]
**FUSE** (File System in User-Space)
[[http://dns323.kood.org/forum/t1874-Fuse-packages-fonz-fun_plug.html|Fuse packages for fonz fun_plug by pof]]
**lftp**:
[[http://dns323.kood.org/forum/t1939-Addons-fonz%27s-fun_plug-experimental.html|Addons to fonz's fun_plug 0.5 experimental by SweMart]]
**lighttpd with webdav**
[[http://ianalis.is-a-geek.org/blog/2009/06/02/building-webdav-enabled-lighttpd-for-dns-323|Building webdav-enabled lighttpd for DNS-323 by ianalis]]
**llink**
[[http://www.drak0.com/2008/08/07/the-best-llink-so-far-llink-210-for-the-dns323/| llink-2.1.0 for the dns323 by drak0]]
**Mediatomb**
[[http://dns323.kood.org/forum/t3098-[REL]-MediaTomb-0.12.0-1899.html|MediaTomb 0.12.0 SVN 1899 by boilerjt]]
**Mediatomb on DNS-313**
[[http://dns323.kood.org/forum/p20125-Today-14%3A07%3A22.html#p20125|Musicpal streaming Music from my DNS-313 by gary]]
**Musicbrowser**
[[http://dns323.kood.org/forum/viewtopic.php?id=1132|Light-weight web based music browser / streamer by mingoto]]
**MySQL**:
[[http://81.216.140.39/dns-323/mysql_and_php/|packages for Fonz Funplug 0.5. by forre]]
**nano editor**:
[[http://nas-tweaks.net/CH3SNAS:Tutorials/nano|CH3SNAS:Tutorials/nano by Uli]]
**PHP/MySQL**:
[[http://81.216.140.39/dns-323/mysql_and_php/|packages for Fonz Funplug 0.5. by forre]]
**Polipo Web Proxy**:
[[http://dns323.kood.org/forum/t2091-Polipo-proxy-funplug.html| Polipo - proxy for funplug 0.5 by rejong]]
**ProFTPD**:
[[http://dns323.kood.org/forum/t1939-Addons-fonz%27s-fun_plug-experimental.html|Addons to fonz's fun_plug 0.5 experimental by SweMart]]
**Python**:
[[http://www.plord.co.uk/funplug/0.5/|Python 2.6.4 by plord]](and many other packages)
**Roku Digital Video Player - Music Streamer**:
[[http://dns323.kood.org/forum/viewtopic.php?id=5388|How-To by OneCaribou]]
**Squeezecenter**: There are three alternatives that Yannick summarized accurately in the [[http://forums.slimdevices.com/showpost.php?p=362937&postcount=65|slimdevices forums]] [[http://forums.slimdevices.com/showpost.php?p=381951&postcount=92|slimdevices forums]]
* You can use the Squeezecenter packages from ffp-0.5 (needs some manual configuration, see [[http://bfg100k.blogspot.com/2009/05/setting-up-squeezecenter-on-dns-323.html|Setting up SqueezeCenter on DNS-323]] in Sidney's blog)
* or the Squeezecenter-only funplug based on ffp-0.5, available at [[http://www.inreto.de/dns323/squeezecenter-funplug/|inreto.de]]
* or follow Yannick's DIY guide at [[http://forums.slimdevices.com/showthread.php?t=52664|slimdevices.com]].
* **BTW**: Yannick's DIY guide has a very good step-by-step proceedure for MySQL installation
**Samba Web Administration Tool (SWAT)**
[[http://dns323.kood.org/forum/t2874-Enabling-SWAT.html|Enabling SWAT]]
**smartmontools**:
[[http://dns323.kood.org/forum/t2024-SMART-monitoring-tools-DNS-323%3F.html|SMART monitoring tools on DNS-323?]]
**SSH with denyhosts**
[[http://dns323.kood.org/forum/t2077-DenyHosts-Fonz.html|DenyHosts for Fonz ffp 0.5 by forre]]
**start/usbdisk.sh** (Mount external USB disk):
* [[http://dns323.kood.org/forum/viewtopic.php?pid=12400#p12400|I also had to modify the usbdisk.sh by bq041]]
* [[http://dns323.kood.org/forum/t1957-script-mounting-devices.html|New script for mounting USB devices by bq041]]
* [[http://dns323.kood.org/forum/t1963-fonz-addon%3A-Script-mount-drives.html|fonz addon: Script to mount all USB drives by diamond187]]
**Subversion svnserve**:
[[http://alpha-mas.blogspot.com/2008/07/diy-turn-your-nas-into-subversion.html|DIY: Turn your NAS into a Subversion Server by mas-tech-talk]]
**sudo**:
[[http://dns323.kood.org/forum/t1939-Addons-fonz%27s-fun_plug-experimental.html|Addons to fonz's fun_plug 0.5 experimental by SweMart]]
**Time Machine, OS X, AppleTalk**:
[[http://dns323.kood.org/forum/t2598-HOWTO%3A-(10.5.4)-Time-Machine-DNS-323.html|HOWTO: Mac OS X (10.5.4) Time Machine and the DNS-323 by TimN]]
**Transmission** (Bittorrent):
* [[http://linux.yes.nu/ffp-0.5/packages/]]
* [[http://dns323.kood.org/forum/t1805-Transmission-Clutch-CH3SNAS-DNS-323.html|Transmission & Clutch on CH3SNAS/DNS-323 by KyleK]]
* [[http://dns323.kood.org/forum/t2291-%5BREL%5D-Automatic-funplug-0.5.html|Automatic for funplug-0.5 by KyleK]]
**unrar**:
[[http://linux.yes.nu/ffp-0.5/packages/]]
**UPS support with nut**:
[[howto:nut_ups|NUT (Network UPS Tool)]]
**wget**
* [[http://nas-tweaks.net/3/installation-of-wget-on-fun_plug-0-5-for-ch3snas-ch3mnas-dns-323-and-many-more/|wget - Tutorial on nas-tweaks.net]] (English)
* [[http://wolf-u.li/1960/wget-fuer-das-conceptronic-ch3snas-bzw-d-link-dns-323/|wget für das Conceptronic CH3SNAS bzw. D-Link DNS-323 by Uli]] (German)
**Build scripts**:
* [[http://dns323.kood.org/forum/p12883-Today-23%3A05%3A54.html#p12883|Which script builds the current fun_plug distro?]]
* [[http://linux.yes.nu/ffp-0.5/|nomego's build scripts and packages]]
**funplug on DNS-313**: [[http://dns323.kood.org/forum/t2008-HOWTO%3A-DNS-313-fun_plug-dummies-them%29.html|HOWTO: DNS-313 & fun_plug for dummies by Bronek]]
**funplug on Zyxel NSA-220**:
* [[http://forums.nas-central.org/viewtopic.php?f=131&t=191|FFP on NSA-220 in 8 easy steps. by Mijzelf]]
* [[http://dns323.kood.org/forum/t2542-fun_plug-ZyXEL-NSA-220..html|fun_plug on ZyXEL NSA-220 by Mijzelf]]
---------------------------------------------------
==== Troubleshooting ====
* [[http://dns323.kood.org/forum/t2703-fun_plug-enabling-telnet-access.html|fun_plug 0.5 not enabling telnet access]]
* The two installation files are fun_plug and fun_plug.tgz, all lower case, the former without extension. Some systems (e.g. OSX) seem to silently rename the fun_plug script to fun_plug.sh or fun_plug.txt. This will not work, you must remove any extension. Mac Os X 10.6.2 uncompress the fun_plug.tgz automatic , you must compress the tar before copy to the Volume
* DNS-313: Older firmware versions start their own telnet server that conflicts with ffp. Upgrade to the latest firmware.
* DNS-343: Firmware 1.03+ support only. FW less than 1.03 will have symbolic link errors. 1.03beta70 is confirmed to work.
* First disk in left bay: If you put the first disk in the left bay, and later added a second disk in the right bay, internal paths are swapped. Two options:
* Try installing ffp on Volume_2
* Remove second disk and move first disk to right bay. Boot with only one disk and install ffp. Power off and re-add second disk to left bay. (Confirmed on a DNS-321. Works as described.)
* Problems with (anonymous) ftp access (duplicate FTP user): see [[http://dns323.kood.org/forum/p21400-Today-20%3A49%3A09.html#p21400|FTP Broken and ffp woes by halfsoul]]
* [[http://dns323.kood.org/forum/t3567-loading-DNS-323.html|FFP not loading on DNS-323]]
* Various problems after upgrading the packages [[http://dns323.kood.org/forum/viewtopic.php?pid=29557]]
* FFP relies on the "ps" that is in /ffp/bin/ps. However, if you are a fan of Optware, you will likely want to install procps (which gives a "ps" much closer to the standard) and have your path with Optware first. If you do this, make sure to edit /ffp/etc/ffp.subr and put replace the call to "ps" with /ffp/bin/ps.
* If you are using a Mac OS X to setup: On Mac OS X the fun_plug is automatically renamed to fun_plug.sh. Change it's name back to fun_plug when uploading.
* On the Mac, using the GUI, select Get Info, and change the name of the file there, if it doesn't take when you do it from the Finder.
* On the Mac, using the Terminal, navigate to where you stored the fun_plug file, and change the permissions to executable (chmod a+x), then upload to Volume_1.
----------------------------
==== Lighttpd Web Server ====
Before starting lighttpd, you need to create a config file. To get started, just copy the example config and create the essential directories:
cd /ffp/etc
cp examples/lighttpd.conf .
cd /mnt/HD_a2
mkdir -p www/logs www/pages
sh /ffp/start/lighttpd.sh start
For detail regarding server security see [[http://dns323.kood.org/forum/t793-Request-secure-setup-info-lighttpd.html]]
This will start the web server on port 8080. Copy your web files to the www/pages directory. Log files are written to www/logs.
== PHP ==
To enable PHP, you need to install the php package and use the lighttpd.conf-with-php example config:
funpkg -i /path/to/php-xxxxx.tgz
cd /ffp/etc
cp examples/lighttpd.conf-with-php lighttpd.conf
sh /ffp/start/lighttpd.sh restart
== Port 80 ==
The example config files start lighttpd on port 8080, because the default HTTP port 80 is used by the administration interface (goahead web server). Using a little trick, you can move goahead to port 81 and run lighttpd on port 80: http://dns323.kood.org/forum/t246-Change-http-port.html
To setup your lighttpd for port 80, disable the server.port directive in lighttpd.conf, and activate the kickwebs.sh and lighttpd.sh start scripts:
cd /ffp/etc
sed -i '/server.port/ s/^/#/' lighttpd.conf
cd /ffp/start
chmod a+x kickwebs.sh lighttpd.sh
After reboot, lighttpd should run on port 80. To manually activate the changes, run (in quick succession):
cd /ffp/start
sh kickwebs.sh start
sh lighttpd.sh restart
Note that the above will kill the goahead web server process. It will restart automatically, but this may take a few minutes.
---------------------------------------------------
==== OpenSSH Secure Shell Server ====
To start openssh, just run:
sh /ffp/start/sshd.sh start
On the first start, it will create the essential key files (may take a minute or two).
SSH sessions will start into the shell configured for the user in /etc/passwd. This defaults to the firmware's busybox shell /bin/sh (enter 5784468 to get a shell prompt).
As root, you can manually change the login shell for user bob:
chsh -s /ffp/bin/bash bob
If you receive
WARNING: Your password has expired. You must change your password now and login again!
messages on login, try if running 'pwconv' (as root) fixes it. See also:
[[http://dns323.kood.org/forum/p13142-2008-04-08-12%3A59%3A43.html#p13142]]
To make your changes permanent, you can store the updated passwd and shadow files to flash memory (TEST YOUR CHANGES BEFORE DOING THIS!!):
store-passwd.sh
To set sshd to run at startup: (TEST YOUR CHANGES BEFORE TURNING OFF telnetd):
chmod a+x /mnt/HD_a2/ffp/start/sshd.sh
To turn off telnetd: (TEST YOUR CHANGES BEFORE TURNING OFF telnetd):
chmod -x /mnt/HD_a2/ffp/start/telnetd.sh
Alternatively, you can store your modified passwd and shadow files in /ffp/etc/ and copy them to /etc on every startup. There's not start script included for this, yet.
---------------------------------------------------
==== NTP Network Time Protocol ====
Before starting ntpd, you need to create a config file. To get started, just copy and edit the example config:
cd /ffp/etc
cp examples/ntp.conf .
vi ntp.conf
Unless you live in Germany, you should change the four server entries. If in doubt, remove '.de' from each line:
server 0.pool.ntp.org iburst
...
See also: http://www.pool.ntp.org/use.html
On my DNS-323, the clock drift is too large for ntpd and needs additional changes. The start/adjtimex.sh script is included to fix clock drift by adjusting the ticks value.
cd /ffp/start
chmod a+x adjtimex.sh ntpd.sh
sh adjtimex.sh start
sh ntpd.sh start
Check synchronization status with
ntpq -p
ntpd will write a drift file /ffp/etc/ntp.drift (may take a few hours until it's written the first time). If it contains 500 or -500, your clock drift is still too large for ntpd.
**WORDS OF WARNING**
* ntpd may interfere with fan control. For details, see http://dns323.kood.org/forum/viewtopic.php?pid=28017
* [[http://dns323.kood.org/forum/viewtopic.php?id=6157|ntpd seems incompatible with (some versions of?) DNS-313]]
-------------------------------------
==== Mediatomb UPnP Media Server ====
The included mediatomb server will search media files in /mnt/HD_a2/home/media. If you have you files in a different location, edit /ffp/start/mediatomb.sh and change the media_dir variable.
Start mediatomb with:
sh /ffp/start/mediatomb.sh start
To make it automatically start after reboot:
cd /ffp/start
chmod a+x mediatomb.sh
The mediatomb configuration web interface starts on port 49152:
http://bob:49152/
The mediatomb config.xml is in /ffp/var/mediatomb/
To allow mediatiomb to read accents and special chars you have to modify the file config.xml in /ffp/var/mediatomb/ :
after the line : ""
add the lines :"
UTF-8
UTF-8
UTF-8
"
Then you have to delete the file "mediatomb.db" always in /ffp/var/mediatomb/ and restart your mediatomb with the following command:
sh /ffp/start/mediatomb.sh restart
----------------------------------------
==== NFS Network File System ====
Two NFS servers are included:
* UNFS3 is a user-space NFS server that does not require kernel support
* NFS-utils contains required utilities to activate a kernel NFS server (Kernel-level NFS support is available on the CH3SNAS, and not on the DNS-323 unless you install your own kernel). More information can be found in the Linux NFS-HOWTO at http://nfs.sourceforge.net/nfs-howto/
To start unfs3, run:
sh /ffp/start/unfsd.sh start
To start the kernel-level NFS server:
sh /ffp/start/nfsd.sh start
On the first start, a default ''exports'' file is created in /ffp/etc (and a symlink in /etc).
Note that the exports file differs slightly between unfsd and nfsd. Before switching NFS servers, you should remove the exports file.
--------------------------------------------
==== Uninstalling fun_plug ====
http://dns323.kood.org/forum/viewtopic.php?id=3030
----------------------------------------
====== Versions 0.3/0.4 ======
==== Help, Howtos, Guides, Discussions ====
There's a lot of useful information in the forum and in various blogs. If you find a good guide, please add it to the list.
**Backup**:
* [[http://dns323.kood.org/forum/t2125-DNS-323-Rsync-Time-Machine%21.html|DNS-323 Rsync Time Machine! by raid123]]
* [[http://dns323.kood.org/forum/t1150-Tutorial%3A-Backup-Everything-from-once-night.html|Tutorial: Backup Everything from Vol A to Vol B once a night by Chumby]]
* [[http://backupnetclone.sourceforge.net/|BackupNetClone (BNC) by Benjamin L. Brown]]
* [[http://www.penoycentral.net/technology/windows-backup-using-dlink-dns-323/|Windows backup using DLINK DNS-323 by penoycentral.net]]
**Bittorrent**:
* [[http://bfg100k.blogspot.com/2008/01/bittorent-on-dns-323.html|bittorent on the DNS-323]]
* [[http://dns323.kood.org/forum/t531-torrent-clients-DNS-323.html|torrent clients for DNS-323 by shadowandy]]
**Cleanboot** (Proper shutdown):
[[http://dns323.kood.org/forum/t1828-cleanboot-DNS-323-CH3SNAS.html|cleanboot 1.0 for DNS-323 / CH3SNAS by pof]]
**DynDNS**:
[[http://81.170.249.146/~hps/dns323/inadyn/|Utilities for D-link DNS-323 NAS]]
**File System Checks**:
[[http://dns323.kood.org/forum/t1708-Modified-fun_plug-disk-maintenance.html|Modified fun_plug for disk maintenance by skydreamer]]
**FUSE** (File System in User Space):
[[http://dns323.kood.org/forum/viewtopic.php?pid=12289|Fuse packages for fonz fun_plug by pof]]
**Lighttpd** (Web Server):
[[http://www.shadowandy.net/_html/archives/2008/03/turning_on_authentication_in_l.html|Turning on authentication in lighttpd by shadowandy]]
**Llink** (Media Streamer):
[[http://dns323.kood.org/forum/t1507-Compiled-working%3A-llink%2C-media-streamer-Syabas-based-mp%27s.html|Compiled & working: llink, media streamer for Syabas based mp's by hps]]
**MediaTomb** (UPnP A/V Server)
[[http://dns323.kood.org/forum/t1390-Compiled-working%3A-Mediatomb%21.html|Compiled & working: Mediatomb! by HaydnH]]
**Midnight commander MP** (File Manager)
[[http://dns323.kood.org/forum/t823-Midnight-commander.html|Midnight commander by jules]]
**Munin** (Lightweight monitoring system)
[[http://wiki.dns323.info/howto:munin_monitoring|How to set up Munin monitoring]]
**MySQL**:
[[http://dns323.kood.org/forum/t1737-MySQL-DNS-323.html|MySQL on DNS-323 by petter]]
**Ncurses** (Terminal library):
[[http://www.bitmuse.com/funplug/]]
**NFS** (Network File System):
[[http://dns323.kood.org/forum/t1871-Req%3A-Full-instruction-install-DNS-323.html|Full instruction s on how to install NFS on my DNS-323 by moquilok]]
**OpenVPN** (Virtual Private Networks):
[[http://dns323.kood.org/forum/t1495-Compiled-Working%3A-OpenVPN.html|Compiled & Working: OpenVPN by HaydnH]]
**SSH**:
* [[http://techblog357.blogspot.com/2007/08/enable-ssh-on-d-link-dns-323-using.html|Enable SSH on the D-Link DNS-323 using funplug-0.3]]
* [[http://dns323.kood.org/forum/p10503-2008-02-07-16%3A27%3A37.html|ssh connect with public key]]
**Subversion**:
* [[http://dns323.kood.org/forum/t1242-Subversion-1.4.5-fonz-fun_plug-AVAILABLE....html|Subversion 1.4.5 for fonz fun_plug 0.3 NOW AVAILABLE... by petasis]]
* [[http://dns323.kood.org/forum/t1417-Subversion-1.4.6-fonz-fun_plug-AVAILABLE....html|Subversion 1.4.6 for fonz fun_plug 0.3 NOW AVAILABLE... by petasis]]
**timezone.sh**:
[[http://techblog357.blogspot.com/2007/08/dns-323-time-sycodenc-with-funplug-03.html|DNS-323 Time Sync with funplug-0.3 timezone.sh]]
**UnRAR**:
[[http://bfg100k.blogspot.com/2008/03/unrar-for-dns-323.html|unrar for the DNS-323]]
**USB Storage**:
[[http://dns323.kood.org/forum/viewtopic.php?pid=3221#p3221|Attaching USB Storage to the DNS-323 for Linux Newbies & Dummies by DNS323-Talker]]
====== Other Sites ======
There are a number of blogs with helpful articles on the DNS-323 and fun_plug (listed in no particular order):
* [[http://www.github.com/twyatt/dns-323|ffp Simple Quickstart Guide]]
* [[http://www.shadowandy.net/tag/d-link|shadowandy]]
* [[http://bfg100k.blogspot.com/search/label/NAS%20Project|Writings on the wall]]
* [[http://techblog357.blogspot.com/search?q=dns-323|Tech Blog 357]]
* [[http://ultramookie.com/search.php?search=dns-323|ultramookie]]
* [[http://blog.ocliw.com/index.php?submit=Search&s=dns-323|what fools these mortals be!]]
* [[http://www.penoycentral.net/index.php?s=dns-323|penoycentral.net]]
* [[http://dns323.blogspot.com/|Various Information regarding DNS-323]]
* [[http://www.drak0.com/|www.drak0.com - My blog, My place to bitch!]]
* [[http://dns323.kood.org/forum/index.php|DSM-G600, DNS-323 and TS-I300 Hack Forum]]
* [[http://wolf-u.li/nas/|wolf-u.li]] (German)
* [[http://christian.samsel.name/index.php?s=dns-323&searchbutton=+Such%21+|(christian.)samsel.name]] (German)
* [[http://martinrein.de/wordpress/?s=DNS+323|martinrein.de ]] (German)
* [[http://www.horto.ca/index.php?s=dns-323|horto.ca]]
* [[http://blog.strav.net/index.php/2009/01/13/dns-323-info?blog=5|I've got 4 (Strav's blog)]]
* [[http://www.aroundmyroom.com/tag/ch3snas/|Dennis' aroundmyroom blog]]
* [[http://code.google.com/p/dns323-builds/|recipes how to compile certain open source projects on the D-Link DNS323]]
A related blog focusing on fun_pluggable-NAS-Devices can be found at
* [[http://nas-tweaks.net]] (English)
ffp in the news
* [[http://www.h-online.com/newsticker/news/item/DIY-NAS-from-D-Link-737653.html]]
* [[http://www.openpr.de/news/275898/Grenzenloser-Musikgenuss-D-Link-NAS-Storage-DNS-323-und-DNS-343-kompatibel-mit-Logitech-SqueezeboxTM.html|Grenzenloser Musikgenuss - D-Link NAS Storage DNS-323 und DNS-343 kompatibel mit Logitech SqueezeboxTM]] (German, Squeezecenter-Funplug, D-Link press release)