Configuration

Configuration guide for UMS

General configuration

image-1615445607022.png

Network settings

image-1615445695543.png

Advanced HTTP and system settings

Security and privacy

UMS is a DLNA server. Now DLNA is a protocol that doesn't have any real notion of a "user". You don't have to "logon" to your TV for example. This leads to that all renders gets access to the same data. This might not be what you want. For example if you have two folders kids_safe and kids_unsafe you might want restrict the renders in the kids room to only have access to the kids_safe folder. UMS provides a number of methods to control the access. 

UMS 4+

ip_filter = 192.168.1.4, 192.168.1.32

folders
vfolders
plugins
web
recent
new_media
hide_set

The value is option dependent. The last 4 are boolean values. for folders and virtualfolders it is a list of folders. for plugins it's a list of allowed plugins

Example

folders = 
hide_video_settings = false
192.168.1.1.folders = c:\\child_safe
192.168.1.1.plugins = SafePlugin
192.168.1.1.hide_set = true
192.168.1.1.recent = true

This will for IP address 192.168.1.1:

All other renders will use the "global" settings i.e. see all folders, and the Server Settings and all Plugins.

Note that the plugin list (a comma separated list) is which plugins are ALLOWED and case sensitive. To allow all plugins except on you have to list all except the one that shouldn't be there (If you have plugins A,B,C,D and want to allow access to A,C,D then add 192.168.1.1.plugins = A,C,D).

If an option is not present it will fallback to the "global" config or if that isn't present to the default value.

192.168.1.1.name=.*private.*

will remove all folders/files which has the word private in it.

192.168.1.1.file=c:\\tst.*

will remove all files that have c:\tst in their path etc.

If no rule are set in the "UMS.deny" file, the files/folders will be added.

hide_recently_played_folder =true
hide_new_media_folder =true
hide_video_settings =true
hide_transcode_folder =true
hide_empty_folders =true
hide_media_library_folder =true
hide_live_subtitles_folder =true

To hide the Web folder, you will need to untick Enable external network in General Configuration tab from the advanced GUI mode or change the `external_network =' value to false in your UMS.conf file.
This will have the side effect that the automatic Plugin system and the updater won't work.
The change(s) made from the GUI will be effective after a restart.

UMS 5+

.*private.*,1234

Will force you to enter a code if the folder/media contains the word "private" and the correct code is 1234. The code then stays valid for 4 hours (if you don't change that time).

#----------------------------------------------------------------------------
# Custom Device profile
# See DefaultRenderer.conf for descriptions of all possible renderer options
# and UMS.conf for program options.

# Options in this file override the default settings for the specific Sony Bravia EX device(s) listed below.
# Specify devices by uuid (or address if no uuid), separated by commas if more than one.

device = uuid:7744ff6c-541f-48a8-0878-05fdebf240db
server_name = Kid Stuff
folders = c:\kids\stuff, c:\kids\otherstuff

External API

The external API enables programs to access or trigger UMS functionalities with a HTTP call.

How to enable the external API

Edit UMS.conf and configure an api_key like this

api_key = secret_password

The secret_password must have a minimum of 12 chars.

How to use

If the external API is enabled, the API is accessible with a POST call to /api/COMMAND

Implemented commands

rescan
Intention Rescans the complete library
URI /api/rescan
POST BODY NONE
POST BODY example / description This command needs no body content
Available since 10.4.2

Attention: This can be slow for large libraries

Example:

curl -w "%{http_code}\n" -H "api-key: secret_password" http://localhost:5001/api/rescan
rescanFileOrFolder
Intention Rescans a partial subtree of the file system.
URI /api/rescanFileOrFolder
POST BODY PATH_TO_SCAN
POST BODY example / description example: "/music/pop/Madonna". Path must be the root or a subfolder of a shared path.
Available since 10.4.2

Example:

curl -d "PATH_TO_SCAN" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/rescanFileOrFolder

HTTP return codes

204 success
401 invalid api key
503 external api is not enabled. Set a api_key in UMS.conf with a length of 12 or more chars