FileZilla FTP Server for XBMC, virtual directories and user groups

29/06/2015 – 23:30

I have been using FileZilla FTP server for years so it came quite naturally to also build my TV / HTPC infrastructure around its file services.

Some of the benefits of using FTP for serving files
* low system impact
* own permission system seperated from windows security system
* use of file service groups
* use of virtual directories (mounting all-over-the-place-folders to one virtual directory)
* bandwith and session mangement, scheduled
* easy to add on TLS encryption for secure access from the internet

I have already provided a short guide for implementing TLS encryption with FileZilla here:

This guide will only point to the necessary steps to set up:
* file service group
* virtual directories

instead of using single users I strongly suggest to always set up groups, and then add users, because you can easily add additional users with the same permission set. I have three groups: admin, ftp-users, tv-users

* create base directory for virtual dirs, for example c:/filezilla. It is empty and just a mounting point!
* start filezilla server interface
* select edit, groups
* select add, chosose a group name, I will use ‘ftp-testgroup’ from now on
* goto shared folders, add, choose c:/filezilla, leave the right at: Files (Read) and Dirs (List+Subdirs)
* add the first dir with content by clicking add, choose directory, ok. (For example I use ‘p:/tv-series’)
* select the directories line, and doubleclick in the free space beyond “Aliases”, enter c:/filezilla/tv-series. This will mount the folder p:/tv-series as c:/filezilla/tv-series
* add more folders in the same way, till you have your group ready, close the group settings
* select edit, users, add, choose a username, choose its group membership ftp-testgroup, click OK
* select password and set it!
* choose no folders, those come from the group membership.

Here is how it should look like

To use FTP as source in XBMC choose FTP, enter name or IP of the FileZilla server, the username and password you created, that’s it!

ESX5i Z77 DirectPath vt-d Asrock Z77 Pro3

28/04/2015 – 11:38

I assembled a Z77 based system around a Asrock Z77 Pro3, which I chose for its VT-d functionality and just installed ESX5i to check if it works:

Asrock Z77 Pro3 Bios v1.1
Intel i5-2400
ESX5i build 623860

Raspberry Pi, Raspbmc, NFS, MySQL

26/03/2015 – 23:05

Recently I acquired a Rasperry Pi device, mainly because I was never really satisfied with the implementations I had used before (24p stutter, problems with energy saving mode etc..). Some weeks ago a friend of mine had purchased an android-based USB stick with HDMI output, which he tried to use as media player, and that had me rethinking. Afer some research I ended up with the Pi, mainly because I learned from my friend’s android stick: it’s not the hardware that counts, its whether the software is optimized for the hardware and how seemless the user experience gets.

Using XBMC for years now I decided to give RASPBMC a try, a distribution specifically developed for the Pi, running XBMC only. I found it to run astoundishingly fluid, the only grief I had was that (because I exclusivly use 720p and 1080p files) the buffering when starting a video or jumping inside the video took quite some time (5 seconds)
All is not lost though. With a history as overclocker (soldered my first Athlon Slot A from 500MHz to 850MHz) I naturally looked for the headroom on the Pi. People reported 900-1000MHz instead of the standard 700MHz. I gave 880MHz a try, that was fine for a day, then the other day while watching a bluray file it got stuck, after reboot I had filesystem corruption on the SD card. >Reinstall
I found out that overclocking a setup with a SD card installation was prone to corruption on hard overclocks. Well, didn’t get that earlier. Installation to USB was the way to go people said, I tried that using a USB 3.0 8GB stick (60MB/s read, 25MB/s write), the system was much quicker booting and especially inside raspbmc fluidness increased.
880MHz was also just fine now!
For some time I sticked to “file mode”, navigating to directories with video files. Then i activated library mode – uuh, aah, that is slow. Thumbnail generation and sql load brought the Pi to its knees.

From earlier Windows/XBMC times I knew the DB part can be outssourced to a mysql server. Well, I already had one running (VM on HyperV host), so I added a advancedsettings.xml to the Pi, voila.
Library mode was now nearly as quick as file mode.

Still: RASPBMC added a option to install to NFS shares, and users reported that installation method to be even more responsive (and overclockable). I gave Services for UNIX under Windows server a try, it installed just fine, but I didn’t manage to boot it from the share (block init failed etc, VSync issues…). I then setup a FreeNAS VM on my HyperV host, added a 8GB VHD file (SSD based) to the machine, created a ZFS share and NFS export on it. Raspbmc installed and ran without problems on first try. I instantly took a ZFS snapshot of the state, and set daily ZFS snapshots to be done inside FreeNAS. Inside FreeNAs i can now add additional shares for further Pis, and have them root files all in one place while no more requiring a big or fast SD card or USB stick to run a Pi.


Logitech Media Server 7.7.2 running on Windows Server 2012 Core VM

21/02/2015 – 21:46

Just wanted to state the fact of LMS (Logitech Media Server) running on virtual instances of Windows 2012 Server Core. Running LMS on 2012 Core will give you VMs with under 6GB VHD and 360MB memory footprint each.

The quick steps:
* Create new VM, one CPU core suffices (LMS does only support one core), use dynamic memory, 256MB startup, maximum depends on your resources, but you won’t need more than 1024MB
* Install 2012 Server Core
* Use ‘sconfig’ for: network, name, RDP access
* connect via RDP
* Connect network shares using ‘net use DRIVELETTER: \\server\sharename’
* Copy LMS 7.7.2 to network share from your workstation
* Start LMS setup as usual
* Deactivate firewall or open port 9000 using the ‘netsh’ command
* From the command line navigate to c:\program files (x86)\Squeezebox\Server\Squeeboxcp.exe”, set LMS as service on system startup
* From your workstation browse: servername:9000, add needed shares (via webinterface)

Done! Use your superslim server backend!

Windows 2012 Server remote management:
* Activate Remote Desktop
* Activate Remote Management
* On management node issue powershell command as admin: ‘Set-Item wsman:\localhost\Client\TrustedHosts SERVERNAME -Concatenate -Force

The Password complexity is a Local Policy setting named “Passwords must meet complexity requirements” under Computer Configuration/Windows Settings/Security Settings/Account Policies/Password Policy.

In a Server Core installation there is no graphical user interface to set this policy.
Instead use secedit to import and export the security settings from a Full Installation of Windows Server 2008.
First export your security configuration using the following command:

secedit /export /cfg C:\securityconfig.cfg

Then open notepad.exe and edit the C:\securityconfig.cfg file.
Under [System Access] you should find PAssword complexity = 1
Change the value to 0 and save the file.

Then fire up the next command to import the configuration:

secedit /configure /db C:\Windows\security\new.sdb /cfg C:\securityconfig.cfg /areas SECURITYPOLICY

Windows 2012 Server Core, edit password complexity requirements in command line

20/02/2013 – 21:51
  • secedit /export /cfg X:\passcomp.cfg
  • Edit passcomp.cfg: “PasswordComplexity = 0”
  • secedit /configure /db C:\Windows\security\new.sdb /cfg X:\passcomp.cfg /areas SECURITYPOLICY

    Enable Remote Management:
    netsh advfirewall firewall set rule group=”Windows Management Instrumentation (WMI)” new enable=yes
    netsh advfirewall firewall set rule group=”remote event log management” new enable=yes