First and foremost, NAS4Free is a storage system. In order to be a storage system that is useful (what good is storage if you can't get it to store or retrieve things?), it must include file transfer protocols (some of which are referred to as “streaming”, which is a fairly useless designation, in general).
This carves out a giant area that NAS4Free does. And it does those things expertly. ZFS creates a very stable storage platform. UFS can be used if you don't care about the integrity of your data, because it doesn't checksum the data, and it will gleefully return corrupted data to you as if it were 100% healthy.
Then the list of available protocols for reading, writing, and moving files is quite comprehensive. NFS, SSH/SSHFS/rsync, SMB and HTTP make up a very comprehensive and useful block. Bittorrent, as a long-running, random availability protocol adds some very useful flexibility. AFP and novelty protocols like UPnP or iTunes add some misguided but commonly requested stuff and round out the protocol set pretty completely.
That being said, there are a good number of things that NAS4Free is not. Further, the list of things that NAS4Free is not are things that are unlikely to ever be supported. So pestering anyone about adding them, or how to install them will fall on deaf ears and only cause annoyance to others by asking. Worse, asking how to install ANYTHING will likely red-flag you as someone that is probably beyond help.
Hint: NAS4Free is based on FreeBSD. It is NOT based on Linux. So, while some knowledge gained from learning to administrate a Linux system may apply, A LOT of how Linux works is completely invalid in dealing with NAS4Free. For almost every action in NAS4Free, using the CLI (SSH or connected screen/keyboard) is entirely the wrong method since the WebGUI is where configuration changes should be made. Furthermore, the “sudo” command, that many Linux people have grown accustomed to, does not exist. Asking why it isn't “installed by default” or why it “can't be installed” is likely to be met with groans and facepalms.
Among the things that NAS4Free is not, and should not ever be are the following items, which make up a non-complete list.
Usenet downloader - You should be using some other machine to do that. Using the NAS to store the results, through a mounted share, great. But NAS4Free isn't that. There are many low-cost, low-power solutions for little headless tasks like that. Pushing the NAS to do them is not wise.
Database server - Again, using another machine to run a database server, and storing the database data on the NAS, great. But NAS4Free is not intended to handle database serving duties. Again, many low-cost, low-power solutions exist to do this. Hey, it could even be your usenet downloader box…
- This includes the (misguidedly included) transcoding in UPnP. The processing power and ram of the NAS are supposed to be used for moving hard drive data to/from the network, and not mangling that data along the way for “compatibility” with woefully incompetent devices. If your device isn't compatible with your media, then either fix the media or fix the device. Transcode the data yourself, or get a media player that works right. And no, game consoles are not a good choice for playing media. Anyone that tells you otherwise is lying to you, possibly because they've been lied to them-self. Programs like Handbrake
make it really easy to transcode your videos into a format that competent devices can play. But it will require another machine to chug away at the video for a while, depending on the quality level you're demanding of it. But demanding transcoding from the NAS will only slow things down and make responsiveness worse.
Virtual Machine Host - Again, the processing power and ram of the NAS are supposed to be used for moving hard drive data to/from the network. Wasting your CPU time or memory on running virtual machines means that those resources are unavailable to other more important tasks, like making sure the data can get to/from the network in an expedient manner. In particular, if your NAS only had the recommended quantity of ram for the size of your ZFS storage to begin with, it is especially unwise to take any of that ram away. Even the setup, configuration, and especially troubleshooting of jails (which are virtual-machine-like), which are an included technology, are totally unsupported. So, when users set up a jail, and then break anything, no help will be provided for fixing the mess.
Just for the sake of completion, here's the following:
NAS4Free is not windows. Where windows has some things supported out of the box, and then has boatloads of things that require you to install drivers because MS is lazy, FreeBSD (like Linux) builds support for most hardware into the kernel or as kernel modules that are loaded automatically when/if the hardware is needed. What NAS4Free supports is what FreeBSD supports, and what FreeBSD doesn't support is just unsupported. Unlike the MS design, installing drivers (which are often binary blobs of black magic that nobody should trust in the first place) is not something any user should be doing. If the hardware is not supported, you should probably just swap it out for something that is supported and that works. Then wait for FreeBSD development to catch up to the hardware you want to use, and it is supported.
Yes, it may seem frustrating that your shiny new NIC or drive controller, or whatever won't work. But, installing drivers, especially closed-source-binary-blob-of-black-magic type drivers is entirely the wrong solution to the problem.