{"id":25939332,"url":"https://github.com/axinom/drm-proxy-mode-sample","last_synced_at":"2025-10-11T10:36:19.079Z","repository":{"id":229924415,"uuid":"749755909","full_name":"Axinom/drm-proxy-mode-sample","owner":"Axinom","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-29T10:34:47.000Z","size":27,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-30T09:44:11.429Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Axinom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-29T10:33:42.000Z","updated_at":"2024-02-07T04:58:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"7debc775-c209-4f58-99c5-2e9ee6ae68c3","html_url":"https://github.com/Axinom/drm-proxy-mode-sample","commit_stats":null,"previous_names":["axinom/drm-proxy-mode-sample"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Axinom/drm-proxy-mode-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axinom%2Fdrm-proxy-mode-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axinom%2Fdrm-proxy-mode-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axinom%2Fdrm-proxy-mode-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axinom%2Fdrm-proxy-mode-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Axinom","download_url":"https://codeload.github.com/Axinom/drm-proxy-mode-sample/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axinom%2Fdrm-proxy-mode-sample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006841,"owners_count":26084206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-04T04:16:40.647Z","updated_at":"2025-10-11T10:36:19.074Z","avatar_url":"https://github.com/Axinom.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Axinom DRM Proxy Mode\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Node.js Version](https://img.shields.io/badge/node-%3E%3D%2012-brightgreen.svg)](https://nodejs.org/)\n[![NPM Version](https://img.shields.io/npm/v/npm.svg)](https://www.npmjs.com/)\n\n## Description\n\nIn the proxy mode, the Entitlement Service acts as a License Service Proxy to the Player (hence the name). The player sends a License Request to the Entitlement Service. Having received the request, Entitlement Service first authorizes it. If access can be granted, it generates an Entitlement Message. Then it forwards the License Request, which it received from the client device, together with the Entitlement Message to the License Service. In response it receives the DRM License and forwards it to the requesting Player. In between, Entitlement Service has another chance to deny the request.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Usage](#usage)\n\n## Installation\n\n```bash\n# Clone the repository\nhttps://github.com/COUNTZERO-DEV/drm-proxy.git\n\n# Navigate to the project directory\ncd drm-proxy\n\n# Install dependencies\nnpm install\n```\n\n## Configuration\n\n- Rename .env.template to .env and add values\n- Add entries to videos.json in below format\n\n```javascript\n{\n\t\t\"id\": \"\",\n\t\t\"keys\": [\n\t\t\t{\n\t\t\t\t\"keyId\": \"\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"keyId\": \"\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"keyId\": \"\"\n\t\t\t}\n\t\t]\n\t}\n\n```\n\n- Update the `manifestUri` and `id` parameters in public \u003e index.html\n\n```javascript\nconst id = '3af89f70-7b5e-4ece-b12a-87d550661b5a'\nconst manifestUri =\n\t'https://855a9fc3487ea8637e749dd9.blob.core.windows.net/video-output/6AF6FsgTSeyjQqQdoBp2pt/dash/manifest.mpd'\n```\n\n## Usage\n\n- Run web server\n\n```bash\nnpm run start\n```\n\n- navigate to http://localhost:3000 to access the player.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxinom%2Fdrm-proxy-mode-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxinom%2Fdrm-proxy-mode-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxinom%2Fdrm-proxy-mode-sample/lists"}