diff --git a/Dockerfile b/Dockerfile
index 229fcde..81a0df1 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:21-alpine
+FROM node:22-alpine
ARG GIT_REPO=https://github.com/iptv-org/epg.git
ARG GIT_BRANCH=master
ENV CRON_SCHEDULE="0 0,12 * * *"
@@ -22,7 +22,7 @@ RUN apk update \
&& npm install pm2 -g \
&& mkdir $(echo "${BIN_FOLDER}/${EPG_FOLDER}") -p \
&& git -C $(echo "${BIN_FOLDER}") clone --depth 1 -b $(echo "${GIT_BRANCH} ${GIT_REPO}") \
- && cd $WORKDIR && npm install && npm update \
+ && cd $WORKDIR && npm install && npm update \
&& rm .eslintrc.json \
&& rm -rf .github \
&& rm -rf .git \
diff --git a/README.md b/README.md
index 66ad2cd..16fa6e8 100644
--- a/README.md
+++ b/README.md
@@ -42,7 +42,7 @@ This the list of the provided custom fixes :
|------------------|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| movistarplus.es | [davidclaeysquinones](https://github.com/davidclaeysquinones) | [PR](https://github.com/iptv-org/epg/pull/2440) pending approval |
| orangetv.es | [fraudiay79](https://github.com/fraudiay79) and [davidclaeysquinones](https://github.com/davidclaeysquinones) | PR not submitted |
-| pickx.be | [davidclaeysquinones](https://github.com/davidclaeysquinones) and [BellezaEmporium](https://github.com/BellezaEmporium) | [PR](https://github.com/iptv-org/epg/pull/2480) merged since commit [296d616](https://github.com/iptv-org/epg/commit/296d6162ecbeb1b3c3e392845187d30624d50aa2) |
+| pickx.be | [davidclaeysquinones](https://github.com/davidclaeysquinones) and [BellezaEmporium](https://github.com/BellezaEmporium) | [PR](https://github.com/iptv-org/epg/pull/2520) pending approval |
| telenet.tv | [davidclaeysquinones](https://github.com/davidclaeysquinones) | [PR](https://github.com/iptv-org/epg/pull/2429) merged since commit [fd382db](https://github.com/iptv-org/epg/commit/fd382db08da7a96150928b8dcfef115e29e661d3) |
| web.magentatv.de | [klausellus-wallace](https://github.com/klausellus-wallace) | [PR](https://github.com/iptv-org/epg/pull/2458) merged since commit [61afe09](https://github.com/iptv-org/epg/commit/61afe090b6e7892cc5426457d960e9452222f885) |
@@ -151,4 +151,6 @@ Sometimes a new version of this image will be bound to the same source commit. T
- 1.0.29
[12-11-2024](https://github.com/iptv-org/epg/commit/581f5e0ca94bd6d05c33f53951df078d702b2510)
- 1.0.30
- [12-16-2024](https://github.com/iptv-org/epg/commit/b9bbd32d354315eb292e3b82da09785e575a9781)
\ No newline at end of file
+ [12-16-2024](https://github.com/iptv-org/epg/commit/b9bbd32d354315eb292e3b82da09785e575a9781)
+- 1.0.31
+ [12-16-2024](https://github.com/iptv-org/epg/commit/7237a62d94c5691f7f467b334f846efce93b08ff)
Fix for Pickx.be + mayor program updates
\ No newline at end of file
diff --git a/channels.xml b/channels.xml
index 2f4c8bd..8dbe229 100644
--- a/channels.xml
+++ b/channels.xml
@@ -1,5 +1,6 @@
- 24 Horas
+ VRT 1
+
\ No newline at end of file
diff --git a/fixes/pickx.be/pickx.be.config.js b/fixes/pickx.be/pickx.be.config.js
index ee02dd1..8a1f29a 100644
--- a/fixes/pickx.be/pickx.be.config.js
+++ b/fixes/pickx.be/pickx.be.config.js
@@ -1,4 +1,4 @@
-// credit for this fix goes to davidclaeysquinones for his PR on https://github.com/iptv-org/epg/pull/2430 and to BellezaEmporium for his PR on https://github.com/iptv-org/epg/pull/2480
+// credit for this fix goes to davidclaeysquinones for his PR on https://github.com/iptv-org/epg/pull/2430, https://github.com/iptv-org/epg/pull/2520 and to BellezaEmporium for his PR on https://github.com/iptv-org/epg/pull/2480
const axios = require('axios')
const dayjs = require('dayjs')
@@ -141,57 +141,43 @@ module.exports = {
function fetchApiVersion() {
return new Promise(async (resolve, reject) => {
try {
+ // you'll never find what happened here :)
// load pickx bundle and get react version hash (regex).
// it's not the best way to get the version but it's the only way to get it.
- // find bundle version
- const minBundleVer = "https://www.pickx.be/minimal-bundle-version"
- const bundleVerData = await axios.get(minBundleVer, {
- headers: {
- Origin: 'https://www.pickx.be',
- Referer: 'https://www.pickx.be/'
- }
+ const hashUrl = 'https://www.pickx.be/nl/televisie/tv-gids';
+
+ const hashData = await axios.get(hashUrl)
+ .then(r => {
+ const re = /"hashes":\["(.*)"\]/
+ const match = r.data.match(re)
+ if (match && match[1]) {
+ return match[1]
+ } else {
+ throw new Error('React app version hash not found')
+ }
+ })
+ .catch(console.error);
+
+ const versionUrl = `https://www.pickx.be/api/s-${hashData}`
+
+ const response = await axios.get(versionUrl, {
+ headers: {
+ Origin: 'https://www.pickx.be',
+ Referer: 'https://www.pickx.be/'
+ }
})
- if (bundleVerData.status !== 200) {
- console.error(`Failed to fetch bundle version. Status: ${bundleVerData.status}`)
- reject(`Failed to fetch bundle version. Status: ${bundleVerData.status}`)
+ if (response.status === 200) {
+ apiVersion = response.data.version
+ resolve()
} else {
- const bundleVer = bundleVerData.data.version
- // get the minified JS app bundle
- const bundleUrl = `https://components.pickx.be/pxReactPlayer/${bundleVer}/bundle.min.js`
-
- // now, find the react hash inside the bundle URL
- const bundle = await axios.get(bundleUrl).then(r => {
- const re = /REACT_APP_VERSION_HASH:"([^"]+)"/
- const match = r.data.match(re)
- if (match && match[1]) {
- return match[1]
- } else {
- throw new Error('React app version hash not found')
- }
- }).catch(console.error)
-
- const versionUrl = `https://www.pickx.be/api/s-${bundle.replace('/REACT_APP_VERSION_HASH:"', '')}`
-
- const response = await axios.get(versionUrl, {
- headers: {
- Origin: 'https://www.pickx.be',
- Referer: 'https://www.pickx.be/'
- }
- })
-
- if (response.status === 200) {
- apiVersion = response.data.version
- resolve()
- } else {
- console.error(`Failed to fetch API version. Status: ${response.status}`)
- reject(`Failed to fetch API version. Status: ${response.status}`)
- }
+ console.error(`Failed to fetch API version. Status: ${response.status}`)
+ reject(`Failed to fetch API version. Status: ${response.status}`)
}
} catch (error) {
console.error('Error during fetchApiVersion:', error)
reject(error)
}
})
-}
\ No newline at end of file
+}
diff --git a/start.sh b/start.sh
index 9e381f3..cc6781b 100644
--- a/start.sh
+++ b/start.sh
@@ -26,8 +26,8 @@ fi
sed -i -E "s/(https:\x2f\x2fiptv-org.github.io\x2fapi)/$api_url/g" $work_dir/scripts/core/apiClient.ts
-pm2 --name epg start npm -- run serve
-npm run grab -- --channels=channels.xml --maxConnections=$max_connections --days=$days --gzip
+pm2 --name epg start npm run serve
+npm run grab --- --channels=channels.xml --maxConnections=$max_connections --days=$days --gzip
ln -s $work_dir/guide.xml /public/guide.xml
ln -s $work_dir/guide.xml.gz /public/guide.xml.gz
-npm run grab -- --channels=channels.xml --cron="$chron_schedule" --maxConnections=$max_connections --days=$days --gzip
\ No newline at end of file
+npm run grab --- --channels=channels.xml --cron="$chron_schedule" --maxConnections=$max_connections --days=$days --gzip
\ No newline at end of file