ServeConfig
class ServeConfig(val devices: Map<String, <Error class: unknown class>>, val users: Map<String, ServeUser>, val forcePrivacyMode: Boolean = false, val serverHeader: String = DEFAULT_SERVER_HEADER)
What a ktvineCdm route serves: which devices exist, and who may use them.
A device's private key never leaves the server, which is the point of running one — many clients can share one device without ever holding it.
Parameters
devices
device name (as it appears in the URL) to the loaded Device
users
secret key to the user it authenticates
forcePrivacyMode
reject a challenge whose session has no service certificate set
serverHeader
sent as Server; pywidevine's client refuses a server whose header does not name a pywidevine serve version it supports