FFP as zypkg
What it is
The fonz fun_plug is a collection of applications compiled and packaged by fonz, and many (third party) packages are available, including ssh(d), lighttpd, rsync(d), buildtools, editors], midnight commander, transmission, nzbget, openvpn and many more.
In addition to the FFP-stick, it's also possible to install FFP using the build-in package manager. It's actually quite simple, the only action needed is to use another repository. The default one (ftp://ftp2.zyxel.com/) is mirrored by ZyXEL Germany, and they also added the FFP package.
To let your NAS use another repository, just put a file called web_prefix in \\<nas>\admin\zy-pkgs\ with as contents the url of the repository. For the ZyXEL Germany repository this is ftp://ftp.zyxel-tech.de/2.new_mirror/ You can also download the web_prefix file here
At the moment (Februari 2014) for firmware 4.70 you need to use the bèta repository ftp://ftp.zyxel-tech.de/
After that, go to the packages menu in the webinterface, and click 'Retreive list from Internet'. Now ffp should be in the list. If it is not in the list, you may just download the FFP file (for example ffp_0.7_arm_003.zkpg) to your NAS drive into the folder /admin/zy-pkgs. The web interface will see it and enable installation.
The web_prefix file should have exactly that name. No capitals, no extension. In Windows an extension like .txt might be hidden. When there is some default program (like notepad) attached to the file, it *has* an extension!
When web_prefix doesn't seem to work, it might be a DNS issue. If you can't open ftp://ftp.zyxel-tech.de/2.new_mirror/ in an ftp client or web browser, when in the same network as the NAS, your DNS may fail. In that case you can try to put a static DNS in your network (router) or your NAS. 184.108.40.206 (Google) is a good one. If you think Google knows already enough of you, you can try OpenDNS (220.127.116.11 and 18.104.22.168)
Sometimes it just doesn't work. In that case you can try to login over telnet, and inject the web_prefix a level deeper.
echo ftp://ftp.zyxel-tech.de/2.new_mirror/<NAS-TYPE>/4.40/zypkg/ >>/etc/package_src_url
where you have to exchange <NAS-TYPE> by your nas type. Have a look at the ftp server if you want to know which types are available. BTW, this is volatile. After a reboot you'll have to re-apply this, if you want to re-use the 'retrieve list form internet' button.
You can also copy just everything from ftp://ftp.zyxel-tech.de/2.new_mirror/<NAS-TYPE>/4.40/zypkg/ to \\<YOUR-NAS>\admin\zy-pkgs\
When ffp is installed, it should have created a logfile in \\<nas>\admin\zy-pkgs\ffp\. On my NSA325 the first logfile looks like this:
Rotating logfiles... Try to determine NAS type... according to /zyxel/mnt/info/modelid: AA03->NSA325 type NSA325, fw NSA325_4.50(AAAJ.0) Starting /usr/local/zy-pkgs/ffproot/after_booting.sh version 20120924 at Sat Oct 20 23:41:05 GMT 2012... Which FFP version to use? Is OABI supported?...yes. Is EABI supported?...yes, choosing FFP 0.7/arm Will try to download fun_plug.tgz (version 0.7/arm) http://ffp.inreto.de/ffp/0.7/arm/fun_plug.tgz If the script stops here, downloading the tarball from ffp.inreto.de failed. ping ffp.inreto.de... ffp.inreto.de found. Downloading fun_plug.tgz... pwd /usr/local/zy-pkgs/ffproot/ffp fun_plug.tgz is downloaded Delete some DNS-323 specific stuff...done Try to create a /ffp symlink...done To chroot or not to chroot...FFP 0.7/arm, no Change root shell Change admin shell Generate helper file 1 /tmp/.ffpstick/helper.inc...done Generate helper file 2 /tmp/.ffpstick/helper.inc...done Generate convenience symlink /mnt/HD_a2 ln: /mnt/HD_a2/sysvol: File exists exec /ffp/etc/rc * /ffp/start/SERVERS.sh inactive * /ffp/start/portmap.sh inactive * /ffp/start/nfsd.sh inactive * /ffp/start/LOGIN.sh inactive * /ffp/start/telnetd.sh ... WARNING: telnetd: Already running * /ffp/start/sshd.sh ... Generating public/private rsa1 key pair. Your identification has been saved in /ffp/etc/ssh/ssh_host_key. Your public key has been saved in /ffp/etc/ssh/ssh_host_key.pub. The key fingerprint is: ca:28:0b:ad:96:57:02:42:4a:86:b6:aa:28:42:d0:1b root@NSA325 The key's randomart image is: +--[RSA1 2048]----+ |. | |.= | |*.. | |+oE | |+ .o S | |.o.. + . | |= + + o | |== + | |= o | +-----------------+ Generating public/private dsa key pair. Your identification has been saved in /ffp/etc/ssh/ssh_host_dsa_key. Your public key has been saved in /ffp/etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: 02:0d:5c:7e:80:72:7a:11:ec:d6:1c:8a:e2:ad:c5:be root@NSA325 The key's randomart image is: +--[ DSA 1024]----+ | oo+o | | . *+.. | | *.=o.. | |. o =.o. | |..oo . S | | . + . | | + | | . . | | E. | +-----------------+ Generating public/private rsa key pair. Your identification has been saved in /ffp/etc/ssh/ssh_host_rsa_key. Your public key has been saved in /ffp/etc/ssh/ssh_host_rsa_key.pub. The key fingerprint is: 87:ca:35:5a:0c:3d:f1:7a:d0:d5:61:9c:62:c0:d5:17 root@NSA325 The key's randomart image is: +--[ RSA 2048]----+ | ...oo+oE.| | . +..o.= .| | . + o. . . | | o = | | S o | | . = + | | + | | | | | +-----------------+ Generating public/private ecdsa key pair. Your identification has been saved in /ffp/etc/ssh/ssh_host_ecdsa_key. Your public key has been saved in /ffp/etc/ssh/ssh_host_ecdsa_key.pub. The key fingerprint is: c7:b8:de:b1:6a:42:25:09:05:33:18:fe:73:2d:32:df root@NSA325 The key's randomart image is: +--[ECDSA 256]---+ | .o+o. | | .. .o | | . . . | | . o..o | | = ooS o | | *.o o | | .. E . | | .... o | | oo.o | +-----------------+ Starting /ffp/sbin/sshd * /ffp/start/rsyncd.sh inactive * /ffp/start/kickwebs.sh inactive * /ffp/start/lighttpd.sh inactive * /ffp/start/inetd.sh inactive * /ffp/start/fp_master.sh inactive
Subsequent logs are shorter.
zypkg 4, 2013-11-24
- The FFP tarball is now embedded in the zypkg. This discharges ffp.inreto.de (at expense of ZyXEL), and gives the opportunity to offer an FFP version which is adapted for a ZyXEL nas. Further the 'installing progress counter' in the packages menu behaves more intuitively
- Added hardware recognition for the NSA325v2.
zypkg 3, 2012-10-20
- In addition to the root shell, now also the admin shell is changed to /ffp/bin/sh for unchrooted installations.
- The postrm script now detects an upgrade, and is supposed to keep the old contents.
- A bug in the webinterface solved.
- Solved a small bug in the script logging, which caused some litter in /tmp/
- Patched this bug in FFP 0.7. The patch will only be supplied on a fresh install of FFP.
zypkg 2, 2012-09-04
- Instead of hijacking /etc/profile, now the root shell is changed in /etc/passwd for unchrooted installation. This should solve this issue.
- User 'user' is removed (for chrooted installations). It seems nobody uses it, and at least one person has had an intruder on that account.
- Added some clean 'disable' functionality for the zypkg version.
- Cleaned up the logfile, as some messages were read as errors by users.
- Cleaned up unneeded directories for unchrooted installations. after_booting.sh will create them when needed.
- Added an /etc/mtab symlink, df and others needed that
- When /ffp/etc/ffp.version fails, /ffp/etc/ffp_version is used for chroot/no chroot decisions.
- Added a webinterface (no thrills, just some basic information/instructions)
zypkg 1, 2012-08-24
- Initial release.