Skip to content

Feature Request: Support for Custom CDM API Providers (Beyond Decrypt Lab) #26

@didisumard1

Description

@didisumard1

Is your feature request related to a problem? Please describe.
Currently, Unshackle only supports Decrypt Lab as the CDM API provider. I would like to be able to use my own custom CDM API endpoint for greater flexibility and control over the decryption process.

Describe the solution you'd like
Add support for custom CDM API providers with the following features:

  • Configurable API endpoint URL in the configuration file
  • Support for different authentication methods (API keys, tokens, secrets)
  • Flexible API request/response format configuration
  • Support for custom challenge and license paths
  • Ability to specify device information (device_type, system_id, security_level)
  • Support for legacy API formats

Example configuration format:

remote_cdm:

  • name: "CHROME"
    device_name: "ChromeCDM"
    device_type: "CHROME"
    system_id: 34312
    security_level: 3
    host: "https://"
    secret: "your-secret-key"
    challenge_path: "/get-challenge"
    license_path: "/get-keys"
    legacy: true
    drm_type: "Widevine"
    path: "{data_dir}/key_store.db"

Describe alternatives you've considered
Currently, the only option is to use Decrypt Lab, which limits flexibility for users who have their own CDM infrastructure or prefer to use different CDM API providers.

Additional context
This feature would allow users like me to:

  • Use self-hosted CDM API solutions
  • Connect to custom CDM services with different endpoint structures
  • Have better control over the decryption process
  • Reduce dependency on a single external service
  • Improve privacy and security by keeping decryption keys within their own infrastructure
  • Use existing CDM APIs that follow similar patterns to the example above

Thank you for considering this feature request!

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions