Merty's packages FAQ

DISCLAIMER: This page is a personal page, based on my own knowledge and findings about packages and Synology diskstations. In no way I'm affiliated with- or working for Synology. Nor can they be held responsible for anything on this page. Use of packages and this information is for your own risk. Don't blame me if something got screwed up because of the (mis-)interpretation this information.


Take a pick:

General
  1. Do I get support of Synology for the packages I install ?
  2. Do I loose support if I install those packages ?
  3. Can all packages be installed on all diskstations ?
  4. Can I use packages from other linux sources that have the extension '.spk' ?
Security
  1. What security risks are there to install packages ?
  2. Is it possible malicious code can destroy my diskstation ?
  3. Is it possible malicious code can delete my files?
  4. What can I do to prevent malicious/buggy packages?
  5. I don't trust you !
SABnzbd
  1. I found a bug in SABnzbd+
  2. SABnzbd+ doesn't work !
  3. What about directories/ where do my downloads go ?
  4. SABnzbd+ is running, but can't access it
  5. It is slow / much slower then my PC
  6. Can't install package, incorrect package format
Development
  1. What is the structure of a .spk file ?
  2. Why can't I run php in admin page ?
  3. What is the difference about 'user' and 'sytem' webserver
  4. How do I check if someone is logged in on the admin pages ?
  5. Can I create programs in java/C# to run on the diskstations ?
  6. How can I make my pages look and work like the other ones used in the admin server ?

General


1. Do I get support of Synology for the packages I install ?
    No, unless packages are provide by Synology themselves, which might come with their own terms.
    [back]
2. Do I loose support if I install packages ?
    Unknown. You might see it as 'modification', and therefore loose your right for support, as stated in the license terms. If you want to be sure, don't install packages other then the ones from Synology
    [back]
3. Can all packages be installed on all diskstations ?
    No. Only packages that target "architecture: All" in there INFO file. If programs are compiled from C, the target CPU might be different. Make sure your diskstation has the same CPU as the package is compiled for. Check wiki page about it. Also, some packages might depend on other modifications or packages, like toolchain installed via ipkg or alterations on config files of webservers or PHP.
    [back]
4. Can I use packages from other linux sources that have the extension '.spk' ?
    No. Other package formats are completely different and most of the times build for other platforms than the Diskstation. Even if the extension is the same, installation will fail.
    [back]

Security


1. What security risks are there to install packages ?
    Well, it depends on what the package is doing. The install scripts are run under 'root' rights. This means te installer scripts can do anything on your machine during the installation. Therefore, you have to be damn sure to trust the package you are installing.
    [back]
2. Is it possible malicious code can destroy my diskstation ?
    Not really, if you mean destroying the hardware or make it unusable, I cannot think of a way to do that. Even if everything is fucked-up, you still have the option to clean the firmware and reload it again
    [back]
3. Is it possible malicious code can delete my files?
    Yes, even non-malicious packages can have a security hole in it, giving it access to files or even deleting them
    [back]
4. What can I do to prevent malicious/buggy packages?
    Well for starters, don't download packages other then the official Synology website. Of course, most the packages on the internet don't do harm (including mine, of course). Check the website, if it is loaded with hacks, virusses and all, dont trust it. Check the official Synology forums or Wiki, if people are using them and if someone warns against it. Or, if you know about coding in Perl, Shell script and/or PHP, check the code yourself.Even if it is compiled, try to get the original source. The more people are trying to hide the sources or avoid explaining what the package is doing, the more you have to be cautious about it.
    [back]
5. I don't trust you !
    Nice, thanks. Well, you can always check the code inside my packages. Change extension from ".spk" to ".tar" and look what is inside. Don't forget to take a look into "package.tgz" also.
    [back]

SABnzbd+


1. I found a bug in SABnzbd+
    I'm sorry, but I didn't create SABnzbd+, I only made the installer, tools and scripts to run it on the diskstations. If it is not related to one of those, you probably better of asking or complaining about it at one of the SABnzbd+ forums. Try the SABnzbd+ website for more information.
2. SABnzbd+ doesn't work!
    I'm sorry, but that is not much information to understand what is happening. First of all, did you check the program installed properly ? Second, is there enough space on the disk(s) you are using ?. Remember that SABnzbd+ has to be started after installation, you know, that's where the 'start' button is for in the packagemanager. If it will not start, you probably have the wrong version downloaded. Mind you, a lot of Diskstations has different CPU/architectures, so there are different packages. Take the right package for the right version. Don't presume that if a name is almost the same, the package will work. The DS209j is different then the DS209 and the DS209+, for instance.

    Anyway, still not working ? Check the log. Yup, there is a log that will be shown in the package manager. Click on SABnzbd+ package, and then pick the the 'log' tab. That will show all available log information. Check for errors in it.

    Still no clue ? Ask on one of the Synology forums. Like the english or the dutch one. Check if other had the same problem, and if not, post it there - in the right group please -. Don't ask me, I don't have time to sort all configuration/installation problems out, unless you think it a bug in my software.

3. What about directories/ where do my downloads go ?
    First of all, SABnzbd uses by -default- a download directory under the directory it runs in or under the home directory of the user (if not running as deamon). In the case of my SABnzbd package, default will be /var/packages/sabnzbd/target/sab/downloads/. SABnzbd is made for a wide range of computer environments which do have their own directory structures and security the user should know about. Don't expect the program 'knows' about shares and Synology Diskstations. All directories used as default values are internal directories of the diskstation, not accessible from the "outside" via shares. Therefore, it is recommended to change the directory settings after installation to a share / directory of your choice. In SABnzbd, go to config->folders and fill in at least "Completed Download Folder" field.

    So, how to find the 'real' directory for the share you are using ? Simple, all shares do map to a structure like / + volume name + / + share name (+ directories under this share). Volume names can be volume1,volume2, ... volume5 . If you don't know which share resides on which volume, check the 'Privileges' -> 'Shared Folders' info in the Web Admin page. Example: I have a 'Downloads' share on the volume 'volume1' and in the downloads share I do have a directory 'SABdownloads', the correct directory to fill in will be : /volume1/Downloads/SABdownloads .

4. SABnzbd+ is running, but can't access it
    Well, you have not properly configured SABnzbd+ or you have to check your firewall or network settings. By default, SABnzbd+ will listen to port 9200 on all available network interfaces of your NAS.
5. It is slow / much slower then my PC
    Oh sure it is. Mind you, Do not compare a Synology Diskstation with a PC. A PC does have gigs of memory, fast network controllers and very,very fast CPU, when compared with a Synology diskstation. On top of that, SABnzbd+ is running on an interpreter, python, who consumes a lot of CPU and memory resources. So yes, It can be faster, but it will always be slower then a PC. If you need speed, use the on-board downloader of Synology or install it on your own PC or server.

    There are several options to speed up a bit or to prevent spending all CPU cycles on SABnzbd. Use the ionice and nice features of SABnzbd+, use more or less connections. Don't use SSL. Check the SABnzbd+ forums for more "speed" tips.

6. Can't install package, incorrect package format
    Let me guess: you have a Mac and or you have downloaded the file via Safari webbrowser ?. In this case, the file is already unzipped - twice - . The first time ".zip" is ok, it should return a .spk file, however, in some cases, this file will also be unpacked (.spk file format is actually also a compressed file). You don't want to unpack .spk files. So, the best thing to do is use another program to download the package, like firefox.

Development


1. What is the structure of a .spk file ? 2. Why can't I run PHP files in admin page ?
    Because it is admin pages are running on the 'system' webserver. This webserver is not configured to use PHP module by default. However, you can use the 'old' cgi mechanism. You can create files with an '.cgi' extension that will be executed and output of the program will be send back to the browser.Or install the PHP page on the 'user' server, which have PHP enabled by default.
    [back]
3. What is the difference about 'user' and 'sytem' webserver
    Main difference is that the system webserver is for everything you have to do to administrate the diskstation. The user webserver is the one you get when enabling "webservices".
    The 'system' is running under root rights. Therefore, scripts do have access to all files and directories. Installing scripts that don't need those rights, might jeopardies the security of your system.CGI is enabled, but PHP is not included.
    The 'user' is running under user 'nobody' rights. Therefore, scripts don't have access to all files and directories. But, PHP is included, as well as MySQL access (if running). This is the perfect solution for user web sites and programs. Note that the rights of filereading or executing programs is further limited in de PHP.ini file by default.
    [back]
4. How do I check if someone is logged in on the admin pages ?
    Execute the program "/usr/syno/synoman/webman/modules/authenticate.cgi" from within you cgi or nph script. If the person calling your script is logged in, it will return (in the standard output) the username we are logged in. The program will base this check on the HTTP_COOKIE and REMOTE_ADDR environment variables, set by the apache webserver, therefore, make sure when calling this program, these variables are set in the environment.
    [back]
5. Can I create programs in java/C# to run on the diskstations ?
    Well, for running java you have to have a JVM, and maybe even an application server, installed on your machine. Same goes for C#, it is linux-like environment, not an Microsoft Windows, therefore, you have to find mono for diskstation. At present none of them do have a port to the diskstation as far as I'm aware.
    [back]
6. How can I make my pages look and work like the other ones used in the admin server ?
    Synology uses, at least up till firmware 7.22, the ajax/javascript library "Extjs" with the version of 1.1.1 and the "theme" "xtheme-aero". Mind you that the latest version isn't installed by default and don't have this theme anymore.
    [back]


If you have any questions, remarks or just want to say thanks, mail me at merty@xs4all.nl. Can't promise I can answer all my email, but at least I will read it.