Fix WidevineCdm download (#578)

* implement new WidevineCdm extraction from crx3.

* fix widevinecdm folder.

* use m1k1o/go-crx3.
This commit is contained in:
Miroslav Šedivý
2025-09-14 17:27:28 +02:00
committed by GitHub
parent aeef3800f0
commit 14777501ee
5 changed files with 105 additions and 29 deletions
+6 -13
View File
@@ -1,6 +1,8 @@
ARG BASE_IMAGE=ghcr.io/m1k1o/neko/base:latest
FROM $BASE_IMAGE
COPY ./widevinecdm.sh /widevine.sh
#
# install neko chromium
RUN set -eux; \
@@ -12,19 +14,10 @@ RUN set -eux; \
CHROMIUM_DIR="/usr/lib/chromium"; \
ARCH=$(dpkg --print-architecture); \
if [ "${ARCH}" = "amd64" ]; then \
# https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/chromeos-lacros-arm64-squash-zstd-120.0.6098.0
apt-get install -y --no-install-recommends unzip; \
WIDEVINE_ARCH="x64"; \
WIDEVINE_VERSION=$(wget --quiet -O - https://dl.google.com/widevine-cdm/versions.txt | sort --version-sort | tail -n 1); \
wget -O /tmp/widevine.zip "https://dl.google.com/widevine-cdm/${WIDEVINE_VERSION}-linux-${WIDEVINE_ARCH}.zip"; \
mkdir -p "${CHROMIUM_DIR}/WidevineCdm/_platform_specific/linux_${WIDEVINE_ARCH}"; \
unzip -p /tmp/widevine.zip LICENSE.txt > "${CHROMIUM_DIR}/WidevineCdm/LICENSE"; \
unzip -p /tmp/widevine.zip manifest.json > "${CHROMIUM_DIR}/WidevineCdm/manifest.json"; \
unzip -p /tmp/widevine.zip libwidevinecdm.so > "${CHROMIUM_DIR}/WidevineCdm/_platform_specific/linux_${WIDEVINE_ARCH}/libwidevinecdm.so"; \
find "${CHROMIUM_DIR}/WidevineCdm" -type d -exec chmod 0755 '{}' \;; \
find "${CHROMIUM_DIR}/WidevineCdm" -type f -exec chmod 0644 '{}' \;; \
rm /tmp/widevine.zip; \
apt-get --purge autoremove -y unzip; \
apt-get install -y --no-install-recommends xz-utils; \
./widevine.sh "${CHROMIUM_DIR}/WidevineCdm"; \
rm -f /widevine.sh; \
apt-get --purge autoremove -y xz-utils; \
else \
echo "Widevine is not supported on ${ARCH}"; \
fi; \