Parental Control for Plex on Synology

Many years ago, Parental Control was already a native feature of my previously favorite Media Library Manager: Media Browser - reason why, since I am using Plex (mainly because Plex Media Server runs on my Synology), the lack of efficient support for such Control has been really frustrating. A solution has fortunately been developed by iSh0w, early in 2014, as a plugin named "L0ck". This plugin is now really pretty mature!

NB.: two days after this post, Plex released native Parental Control as part of their new Plex Home feature... But this is not yet available for Samsung so L0ck still makes sense for me.

[EDIT 12/2015] Later in 2015, a new version of Plex for Samsung has been released, which support user accounts (and hence, Parental Control).

Click to Read More

The only solution currently suggested by Plex to prevent Kids watching inadequate content is to create dedicated Plex Accounts for the kids and only share with those accounts the adequate content. This is totally inconvenient, especially when sharing the same player device such as a TV or a Tablet. Indeed, parents may not forget to "disconnect" the device from their account. Next, kids need to be able to connect with a login/password, which is far from easy for the youngest ones. Definitively, Plex is missing a a true Parental Control!

L0ck plugin for Plex, although(*) not yet the very best solution, should be loved by the thousands of users who voted for such a feature!

(*) You have to re-Lock the libraries before quitting your Plex Client. Libraries are not automatically re-locked after x hours or when Plex Client is restarted... Also, when unlocked, libraries are visible for all the Plex Clients, possibly for other devices that would start Plex! Next, the plugin is unl0cking/l0cking all the Controlled libraries at once (If there is a trick to protect distinct subsets of libraries with distinct passwords, I didn't find it yet). Finally, restarting the Plex Client is usually required... But still, this is better than nothing or much better than Plex's suggested approach.

Here is how to install this plugin for Plex on Synology:

  1. Disable the "authentication on local networks" on your Plex Media Server (if enabled)
    1. Go to your Plex Server Administration page http://<YourSynology>:32400/web/index.html#!/settings/server
    2. Click on the entry "Connect"
    3. Click on the button "Show Advanced"
    4. Disable "Require authentication on local networks"
  2. Go to the "L0ck" page to download the Plugin customized to lock/unlock some of your Libraries with a password
    1. Type the local IP (LAN) of your Synology
    2. Click "Search For Section(s)!"
    3. Select the section(s) you would like control access to.
    4. Enter next Password. Ex.: 4 digits
    5. And click on "Generate Plugin!"
    6. Finally click on "Download plugin!" on download a zip with your customized plugin (This is not working with all browsers! Use Chrome).
  3. Deploy the plugin into Plex's plugin folder after customization for Synology
    1. Unzip the archive downloaded at step 2..F into a temp folder
    2. Open within notepad++ the file <YourTemp>\L0ck.bundle\Contents\Resources\l0ck_support\l0ck.sh
    3. Search and Replace "/var/lib/plexmediaserver" with "/volume1/Plex" and Save the file.
    4. Open next the file <YourTemp>\L0ck.bundle\Contents\Resources\l0ck_support\unl0ck.sh
    5. Search and Replace "/var/lib/plexmediaserver" with "/volume1/Plex" and Save the file.
    6. NB.: No need to change the __init__.py as mentioned on L0ck's webpage.
    7. Finally Move the folder L0ck.bundle into the hidden Shared folder \\<YourSynology>\Plex\Library\Application Support\Plex Media Server\Plug-ins\
  4. Grant access for plex onto the plugin
    1. Open a Telnet console onto your Synology
      1. Run "telnet" from Windows
      2. Type: open <YourSynology>
    2. Login as 'root' with your admin password
    3.  Execute the following commands
      1. cd /volume1/Plex/Library/Application\ Support/Plex\ Media\ Server/Plug-ins
      2. chown -R plex:users L0ck.bundle
      3. cd L0ck.bundle/Contents/Resources/l0ck_support
      4. chmod a+x l0ck.sh
      5. chmod a+x unl0ck.sh
      6. chmod a+x sqlite3
  5. Re-enable the "authentication on local networks" on your Plex Media Server (if it was enabled)
  6. Restart now your Plex Clients and go to the "Channels" where you should see the L0ck" Icon:
L0ck Plugin

L0ck Plugin

Et voilà ;)

NB 1: By default, the libraries to be "controlled" are all unlocked. So, enter the plugin and L0ck them.

NB 2: The display is not the same within Plex Home Theater and Plex Web Client. E.g.: in the Plex Home Theater (for Windows), you see both the icon "L0ck" and "Unl0ck". In the Plex Web Client, instead, you see only the "L0ck" icon. In the Plex Home Theater, when you click on "L0ck", nothing seems to happen while in the Plex Web Client, you see an "Locked" icon replacing the "Lock" icon. But you will quickly find your path...

NB 3: Once your have clicked on "L0ck", you have to restart your Plex Home Theater or refresh your browser if using Plex Web Client. On the opposite, with Plex for Samsung, I don't have to quit and restart Plex after Unl0cking/L0cking my libraries, even if e.g. unl0cking via the Web Client...

NB 4: To Unlock the libraries with the Plex Web Client (where the "unl0ck" icon is missing), go to the "Channels" page and enter the "L0ck" channel. Then type your password in the Search box and simply hit "enter".

NB 5: Once a movie started from an unl0cked Controlled library, the libraries can be rel0cked immediately. This is not stopping the movie as you could see when playing a movie within Plex Home Theater and re-locking the libraries via a Web Plex Client. So, based on that finding, I have customized the L0ck plugin to add a new button: "Short Unlock". This one unl0cks the libraries for 2 minute and then re-locks them automatically. If you are interested in such a feature, you can simply add the following line in unlo0ck.sh, before the last line (with "exit;"):

(sleep 120 ; sh ./l0ck.sh) &amp;amp;amp;amp;

I have submitted this idea to the creator of the plugin (See here). So far, adding a new button does not offer the best user experience with the Plex Web Client due to some technical limitation...

For additional Info: read the FAQ.

On Synology, L0ck plugin's log file is named "com.plexapp.plugins.l0ckunl0ck.log" and located in \\<YourSynology>\Plex\Library\Application Support\Plex Media Server\Logs\PMS Plugin Logs. It has better be opened with notepad++.

Here is the thread about the release version of the plugin. And here is the thread about the development of the plugin...

4 thoughts on “Parental Control for Plex on Synology

Leave a Reply

Your email address will not be published. Required fields are marked *