diff --git a/.github/ISSUE_TEMPLATE/1_streams_add.yml b/.github/ISSUE_TEMPLATE/1_streams_add.yml index dd7c86260..75d89b54f 100644 --- a/.github/ISSUE_TEMPLATE/1_streams_add.yml +++ b/.github/ISSUE_TEMPLATE/1_streams_add.yml @@ -41,11 +41,6 @@ body: - 'Not 24/7' - 'Geo-blocked' - - type: input - attributes: - label: Timeshift - placeholder: '0' - - type: input attributes: label: HTTP User Agent diff --git a/.github/ISSUE_TEMPLATE/2_streams_edit.yml b/.github/ISSUE_TEMPLATE/2_streams_edit.yml index de3afb11a..0231d30c0 100644 --- a/.github/ISSUE_TEMPLATE/2_streams_edit.yml +++ b/.github/ISSUE_TEMPLATE/2_streams_edit.yml @@ -46,11 +46,6 @@ body: - 'Geo-blocked' - '~' - - type: input - attributes: - label: Timeshift - placeholder: '0' - - type: input attributes: label: HTTP User Agent diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 415326ec2..470dcbaf0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -65,14 +65,13 @@ Please note that we only accept removal requests from channel owners and their o For a stream to be approved, its description must follow this template: ``` -#EXTINF:-1 tvg-id="CHANNEL_ID" tvg-shift="TIMESHIFT",CHANNEL_NAME (RESOLUTION) [LABEL] +#EXTINF:-1 tvg-id="CHANNEL_ID",CHANNEL_NAME (RESOLUTION) [LABEL] STREAM_URL ``` | Attribute | Description | Required | Valid values | | -------------- | ------------------------------------------------------------------------------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------- | | `CHANNEL_ID` | Channel ID. | Optional | Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). | -| `TIMESHIFT` | Indicates the shift of the program schedule. | Optional | `-2`, `-1`, `1`, `2` etc | | `CHANNEL_NAME` | Full name of the channel. May contain any characters except: `,`, `[`, `]`. | Required | - | | `RESOLUTION` | Maximum stream resolution. | Optional | `2160p`, `1080p`, `720p`, `480p`, `360p` etc | | `LABEL` | Specified in cases where the broadcast for some reason may not be available to some users. | Optional | `Geo-blocked` or `Not 24/7` | @@ -81,11 +80,18 @@ STREAM_URL Example: ```xml -#EXTINF:-1 tvg-id="ExampleTV.ua" tvg-shift="4",Example TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="ExampleTV.ua",Example TV (720p) [Not 24/7] https://example.com/playlist.m3u8 ``` -Also, if necessary, you can specify custom [HTTP User-Agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) and [Referrer](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) via the `#EXTVLCOPT` tag: +Also, if necessary, you can specify custom [HTTP User-Agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) and [HTTP Referrer](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) through additional attributes: + +```xml +#EXTINF:-1 tvg-id="ExampleTV.us" http-referrer="http://example.com/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)",Example TV +http://example.com/stream.m3u8 +``` + +or via `#EXTVLCOPT` tag: ```xml #EXTINF:-1 tvg-id="ExampleTV.us",Example TV @@ -131,6 +137,7 @@ To run scripts use the `npm run ` command. - `playlist:generate`: generates all public playlists. - `playlist:validate`: сhecks ids and links in internal playlists for errors. - `playlist:lint`: сhecks internal playlists for syntax errors. +- `playlist:test`: tests links in internal playlists. - `playlist:deploy`: allows to manually publish all generated via `playlist:generate` playlists. To run the script you must provide your [personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) with write access to the repository. - `readme:update`: updates the list of playlists in [README.md](README.md). - `report:create`: creates a report on current issues. diff --git a/package-lock.json b/package-lock.json index d34ae1d21..94161cfca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,8 +11,8 @@ "@eslint/eslintrc": "^3.3.0", "@eslint/js": "^9.21.0", "@freearhey/core": "^0.2.1", - "@octokit/core": "^4.2.1", - "@octokit/plugin-paginate-rest": "^7.1.2", + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.3", "@octokit/plugin-rest-endpoint-methods": "^7.1.3", "@octokit/types": "^11.1.0", "@types/cli-progress": "^3.11.3", @@ -21,12 +21,16 @@ "@types/numeral": "^2.0.3", "@typescript-eslint/eslint-plugin": "^8.18.1", "@typescript-eslint/parser": "^8.18.1", + "async-es": "^3.2.6", "axios": "^1.7.9", "chalk": "^4.1.2", "cli-progress": "^3.12.0", + "command-exists": "^1.2.9", "commander": "^8.3.0", + "console-table-printer": "^2.12.1", "eslint": "^9.17.0", "globals": "^16.0.0", + "iptv-checker": "^0.29.1", "iptv-playlist-parser": "^0.13.0", "jest-expect-message": "^1.1.3", "lodash": "^4.17.21", @@ -220,25 +224,25 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", + "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", "peer": true, "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.10" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz", + "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", "peer": true, "dependencies": { - "@babel/types": "^7.26.3" + "@babel/types": "^7.26.10" }, "bin": { "parser": "bin/babel-parser.js" @@ -470,14 +474,14 @@ } }, "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "peer": true, "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" @@ -511,9 +515,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "peer": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -529,10 +533,50 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "peer": true }, + "node_modules/@bundled-es-modules/cookie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==", + "dependencies": { + "cookie": "^0.7.2" + } + }, + "node_modules/@bundled-es-modules/statuses": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz", + "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==", + "dependencies": { + "statuses": "^2.0.1" + } + }, + "node_modules/@bundled-es-modules/tough-cookie": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz", + "integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==", + "dependencies": { + "@types/tough-cookie": "^4.0.5", + "tough-cookie": "^4.1.4" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", + "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", + "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", "cpu": [ "arm" ], @@ -541,13 +585,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", + "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", "cpu": [ "arm64" ], @@ -556,13 +600,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", + "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", "cpu": [ "x64" ], @@ -571,13 +615,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", + "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", "cpu": [ "arm64" ], @@ -586,13 +630,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", + "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", "cpu": [ "x64" ], @@ -601,13 +645,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", + "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", "cpu": [ "arm64" ], @@ -616,13 +660,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", + "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", "cpu": [ "x64" ], @@ -631,13 +675,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", + "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", "cpu": [ "arm" ], @@ -646,13 +690,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", + "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", "cpu": [ "arm64" ], @@ -661,13 +705,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", + "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", "cpu": [ "ia32" ], @@ -676,13 +720,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", + "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", "cpu": [ "loong64" ], @@ -691,13 +735,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", + "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", "cpu": [ "mips64el" ], @@ -706,13 +750,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", + "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", "cpu": [ "ppc64" ], @@ -721,13 +765,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", + "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", "cpu": [ "riscv64" ], @@ -736,13 +780,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", + "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", "cpu": [ "s390x" ], @@ -751,13 +795,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", + "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", "cpu": [ "x64" ], @@ -766,13 +810,28 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", + "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", + "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", "cpu": [ "x64" ], @@ -781,13 +840,28 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", + "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", + "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", "cpu": [ "x64" ], @@ -796,13 +870,13 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", + "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", "cpu": [ "x64" ], @@ -811,13 +885,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", + "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", "cpu": [ "arm64" ], @@ -826,13 +900,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", + "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", "cpu": [ "ia32" ], @@ -841,13 +915,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", + "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", "cpu": [ "x64" ], @@ -856,7 +930,7 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { @@ -896,11 +970,11 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", - "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", "dependencies": { - "@eslint/object-schema": "^2.1.5", + "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -908,10 +982,18 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/config-helpers": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz", + "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/core": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", - "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", "dependencies": { "@types/json-schema": "^7.0.15" }, @@ -953,26 +1035,27 @@ } }, "node_modules/@eslint/js": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz", - "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", + "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", - "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", - "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", + "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", "dependencies": { + "@eslint/core": "^0.12.0", "levn": "^0.4.1" }, "engines": { @@ -1054,9 +1137,9 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", "engines": { "node": ">=18.18" }, @@ -1065,6 +1148,100 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@inquirer/confirm": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.7.tgz", + "integrity": "sha512-Xrfbrw9eSiHb+GsesO8TQIeHSMTP0xyvTCeeYevgZ4sKW+iz9w/47bgfG9b0niQm+xaLY2EWPBINUPldLwvYiw==", + "dependencies": { + "@inquirer/core": "^10.1.8", + "@inquirer/type": "^3.0.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.8.tgz", + "integrity": "sha512-HpAqR8y715zPpM9e/9Q+N88bnGwqqL8ePgZ0SMv/s3673JLMv3bIkoivGmjPqXlEgisUksSXibweQccUwEx4qQ==", + "dependencies": { + "@inquirer/figures": "^1.0.11", + "@inquirer/type": "^3.0.5", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@inquirer/core/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz", + "integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz", + "integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -1606,6 +1783,22 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mswjs/interceptors": { + "version": "0.37.6", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.37.6.tgz", + "integrity": "sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==", + "dependencies": { + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/logger": "^0.3.0", + "@open-draft/until": "^2.0.0", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "strict-event-emitter": "^0.5.1" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1639,78 +1832,92 @@ } }, "node_modules/@octokit/auth-token": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", - "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", "engines": { - "node": ">= 14" + "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz", - "integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", + "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", "dependencies": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.1.2", + "@octokit/request": "^9.2.1", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, + "node_modules/@octokit/core/node_modules/@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "node_modules/@octokit/core/node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } }, "node_modules/@octokit/endpoint": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", - "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", + "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, + "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "node_modules/@octokit/endpoint/node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } }, "node_modules/@octokit/graphql": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", - "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", + "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", "dependencies": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^9.2.2", + "@octokit/types": "^13.8.0", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, + "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "node_modules/@octokit/graphql/node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } }, "node_modules/@octokit/openapi-types": { @@ -1719,26 +1926,30 @@ "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-7.1.2.tgz", - "integrity": "sha512-Jx8KuKqEAVRsK6fMzZKv3h6UH9/NRDHsDRtUAROqqmZlCptM///Uef7A1ViZ/cbDplekz7VbDWdFLAZ/mpuDww==", + "version": "11.4.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz", + "integrity": "sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==", "dependencies": { - "@octokit/tsconfig": "^2.0.0", - "@octokit/types": "^9.3.2" + "@octokit/types": "^13.7.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=4" + "@octokit/core": ">=6" } }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { @@ -1764,55 +1975,57 @@ } }, "node_modules/@octokit/request": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz", - "integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", + "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.1.3", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", + "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^13.6.2" }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, + "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "node_modules/@octokit/request-error/node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } }, + "node_modules/@octokit/request/node_modules/@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "node_modules/@octokit/request/node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } }, - "node_modules/@octokit/tsconfig": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-2.0.0.tgz", - "integrity": "sha512-tWnrai3quGt8+gRN2edzo9fmraWekeryXPeXDomMw2oFSpu/lH3VSWGn/q4V+rwjTRMeeXk/ci623/01Zet4VQ==" - }, "node_modules/@octokit/types": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-11.1.0.tgz", @@ -1821,6 +2034,25 @@ "@octokit/openapi-types": "^18.0.0" } }, + "node_modules/@open-draft/deferred-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", + "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==" + }, + "node_modules/@open-draft/logger": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz", + "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==", + "dependencies": { + "is-node-process": "^1.2.0", + "outvariant": "^1.4.0" + } + }, + "node_modules/@open-draft/until": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz", + "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==" + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -1902,6 +2134,11 @@ "@types/node": "*" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -1979,9 +2216,12 @@ "integrity": "sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ==" }, "node_modules/@types/node": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz", - "integrity": "sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==" + "version": "22.13.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", + "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", + "dependencies": { + "undici-types": "~6.20.0" + } }, "node_modules/@types/numeral": { "version": "2.0.3", @@ -1993,6 +2233,16 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" }, + "node_modules/@types/statuses": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz", + "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" + }, "node_modules/@types/yargs": { "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", @@ -2230,6 +2480,14 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2249,7 +2507,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "peer": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -2305,21 +2562,37 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" }, + "node_modules/async-es": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async-es/-/async-es-3.2.6.tgz", + "integrity": "sha512-9C2+oOPd7/EzIeneF4k24o75oY7OcHU/Isl7xIot12EBRwXonyuqKsmxwLuAbFWL6B/FucTQip09xTbiu1CA8A==" + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz", + "integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, + "node_modules/axios-retry": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", + "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", + "dependencies": { + "is-retry-allowed": "^2.2.0" + }, + "peerDependencies": { + "axios": "0.x || 1.x" + } + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -2445,9 +2718,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -2619,6 +2892,14 @@ "node": ">=4" } }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "engines": { + "node": ">= 12" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -2664,6 +2945,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2675,6 +2964,11 @@ "node": ">= 0.8" } }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -2688,12 +2982,28 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/console-table-printer": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/console-table-printer/-/console-table-printer-2.12.1.tgz", + "integrity": "sha512-wKGOQRRvdnd89pCeH96e2Fn4wkbenSP6LMHfjfyNLMbGuHEFbMqQNuxXqd0oXG9caIOQ1FTvc5Uijp9/4jujnQ==", + "dependencies": { + "simple-wcswidth": "^1.0.1" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "peer": true }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -2728,6 +3038,14 @@ "node": ">= 8" } }, + "node_modules/dateformat": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-5.0.3.tgz", + "integrity": "sha512-Kvr6HmPXUMerlLcLF+Pwq3K7apHpYmGDVqrxcDasBg86UcKeTSNWbEzU8bwdXnxnR44FtMhJAxI4Bov6Y/KUfA==", + "engines": { + "node": ">=12.20" + } + }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", @@ -2780,11 +3098,6 @@ "node": ">=0.4.0" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -2858,39 +3171,42 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", + "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "@esbuild/aix-ppc64": "0.25.1", + "@esbuild/android-arm": "0.25.1", + "@esbuild/android-arm64": "0.25.1", + "@esbuild/android-x64": "0.25.1", + "@esbuild/darwin-arm64": "0.25.1", + "@esbuild/darwin-x64": "0.25.1", + "@esbuild/freebsd-arm64": "0.25.1", + "@esbuild/freebsd-x64": "0.25.1", + "@esbuild/linux-arm": "0.25.1", + "@esbuild/linux-arm64": "0.25.1", + "@esbuild/linux-ia32": "0.25.1", + "@esbuild/linux-loong64": "0.25.1", + "@esbuild/linux-mips64el": "0.25.1", + "@esbuild/linux-ppc64": "0.25.1", + "@esbuild/linux-riscv64": "0.25.1", + "@esbuild/linux-s390x": "0.25.1", + "@esbuild/linux-x64": "0.25.1", + "@esbuild/netbsd-arm64": "0.25.1", + "@esbuild/netbsd-x64": "0.25.1", + "@esbuild/openbsd-arm64": "0.25.1", + "@esbuild/openbsd-x64": "0.25.1", + "@esbuild/sunos-x64": "0.25.1", + "@esbuild/win32-arm64": "0.25.1", + "@esbuild/win32-ia32": "0.25.1", + "@esbuild/win32-x64": "0.25.1" } }, "node_modules/escalade": { @@ -2913,20 +3229,21 @@ } }, "node_modules/eslint": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", - "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz", + "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.9.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.17.0", - "@eslint/plugin-kit": "^0.2.3", + "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.1.0", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.0", + "@eslint/js": "9.22.0", + "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", + "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", @@ -2934,7 +3251,7 @@ "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", + "eslint-scope": "^8.3.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.5.0", @@ -2971,9 +3288,9 @@ } }, "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2996,14 +3313,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/@eslint/js": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", - "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/eslint/node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3137,6 +3446,21 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3447,6 +3771,17 @@ "node": ">=8.0.0" } }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -3460,9 +3795,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", "dependencies": { "resolve-pkg-maps": "^1.0.0" }, @@ -3564,6 +3899,14 @@ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, + "node_modules/graphql": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz", + "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3584,6 +3927,11 @@ "node": ">= 0.4" } }, + "node_modules/headers-polyfill": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz", + "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==" + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -3666,6 +4014,68 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "peer": true }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, + "node_modules/iptv-checker": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/iptv-checker/-/iptv-checker-0.29.1.tgz", + "integrity": "sha512-iTuqh7a9Su91kfV8fVuSjPqqAuALddyNR4iZ7ysbTOjjb7usrt8HKppitzRBVaOAuKWVG+A+Z0YV2k6X6GEB7g==", + "dependencies": { + "async": "^3.2.6", + "axios": "^1.8.2", + "axios-retry": "^4.5.0", + "colors": "^1.4.0", + "command-exists": "^1.2.9", + "commander": "^13.1.0", + "dateformat": "^5.0.3", + "eslint": "^9.22.0", + "get-stdin": "^9.0.0", + "iptv-playlist-parser": "^0.14.0", + "msw": "^2.7.3", + "normalize-url": "^8.0.1", + "progress": "^2.0.3", + "socks-proxy-agent": "^8.0.5", + "valid-url": "^1.0.9" + }, + "bin": { + "iptv-checker": "bin/iptv-checker.js" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/iptv-checker/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "engines": { + "node": ">=18" + } + }, + "node_modules/iptv-checker/node_modules/iptv-playlist-parser": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/iptv-playlist-parser/-/iptv-playlist-parser-0.14.0.tgz", + "integrity": "sha512-fftp2mgbNZnFU4dQSVJqdGdB2ihZDL/0lqempjYTIcopL4SbJbveAE47DANGCBlcxejqN2WtJGOMM0EPwPdCeQ==", + "dependencies": { + "is-valid-path": "^0.1.1", + "validator": "^13.7.0" + } + }, "node_modules/iptv-playlist-parser": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/iptv-playlist-parser/-/iptv-playlist-parser-0.13.0.tgz", @@ -3737,6 +4147,11 @@ "node": ">=0.10.0" } }, + "node_modules/is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==" + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -3745,12 +4160,15 @@ "node": ">=0.12.0" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "node_modules/is-retry-allowed": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", + "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-stream": { @@ -4494,6 +4912,11 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -4910,6 +5333,68 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "node_modules/msw": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.7.3.tgz", + "integrity": "sha512-+mycXv8l2fEAjFZ5sjrtjJDmm2ceKGjrNbBr1durRg6VkU9fNUE/gsmQ51hWbHqs+l35W1iM+ZsmOD9Fd6lspw==", + "hasInstallScript": true, + "dependencies": { + "@bundled-es-modules/cookie": "^2.0.1", + "@bundled-es-modules/statuses": "^1.0.1", + "@bundled-es-modules/tough-cookie": "^0.1.6", + "@inquirer/confirm": "^5.0.0", + "@mswjs/interceptors": "^0.37.0", + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/until": "^2.1.0", + "@types/cookie": "^0.6.0", + "@types/statuses": "^2.0.4", + "graphql": "^16.8.1", + "headers-polyfill": "^4.0.2", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "path-to-regexp": "^6.3.0", + "picocolors": "^1.1.1", + "strict-event-emitter": "^0.5.1", + "type-fest": "^4.26.1", + "yargs": "^17.7.2" + }, + "bin": { + "msw": "cli/index.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mswjs" + }, + "peerDependencies": { + "typescript": ">= 4.8.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/msw/node_modules/type-fest": { + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.37.0.tgz", + "integrity": "sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -4923,44 +5408,6 @@ "node": ">=18" } }, - "node_modules/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/node-gzip": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/node-gzip/-/node-gzip-1.1.2.tgz", @@ -4987,6 +5434,17 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -5019,6 +5477,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "peer": true, "dependencies": { "wrappy": "1" } @@ -5054,6 +5513,11 @@ "node": ">= 0.8.0" } }, + "node_modules/outvariant": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", + "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==" + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -5179,6 +5643,11 @@ "node": "14 || >=16.14" } }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -5381,6 +5850,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -5399,6 +5876,17 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -5432,6 +5920,11 @@ "teleport": ">=0.2.0" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -5464,6 +5957,11 @@ "node": ">=0.10.0" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, "node_modules/resolve": { "version": "1.22.10", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", @@ -5674,6 +6172,11 @@ "node": ">=4" } }, + "node_modules/simple-wcswidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-wcswidth/-/simple-wcswidth-1.0.1.tgz", + "integrity": "sha512-xMO/8eNREtaROt7tJvWJqHBDTMFN4eiQ5I4JRMuilwfnFcV5W9u7RUkueNkdw0jPqGMX36iCywelS5yilTuOxg==" + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -5688,6 +6191,41 @@ "node": ">=8" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -5732,6 +6270,19 @@ "node": ">=8" } }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/strict-event-emitter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", + "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==" + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -5899,6 +6450,20 @@ "node": ">=8.0" } }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/transliteration": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/transliteration/-/transliteration-2.3.5.tgz", @@ -5973,12 +6538,12 @@ } }, "node_modules/tsx": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.6.2.tgz", - "integrity": "sha512-QPpBdJo+ZDtqZgAnq86iY/PD2KYCUPSUGIunHdGwyII99GKH+f3z3FZ8XNFLSGQIA4I365ui8wnQpl8OKLqcsg==", + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz", + "integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==", "dependencies": { - "esbuild": "~0.18.20", - "get-tsconfig": "^4.7.2" + "esbuild": "~0.25.0", + "get-tsconfig": "^4.7.5" }, "bin": { "tsx": "dist/cli.mjs" @@ -6014,7 +6579,6 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "peer": true, "engines": { "node": ">=10" }, @@ -6035,10 +6599,23 @@ "node": ">=14.17" } }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" + }, "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } }, "node_modules/update-browserslist-db": { "version": "1.1.1", @@ -6078,6 +6655,15 @@ "punycode": "^2.1.0" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", @@ -6172,7 +6758,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "peer": true }, "node_modules/write-file-atomic": { "version": "4.0.2", @@ -6236,6 +6823,17 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -6375,22 +6973,22 @@ "peer": true }, "@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", + "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", "peer": true, "requires": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.10" } }, "@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz", + "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", "peer": true, "requires": { - "@babel/types": "^7.26.3" + "@babel/types": "^7.26.10" } }, "@babel/plugin-syntax-async-generators": { @@ -6547,14 +7145,14 @@ } }, "@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "peer": true, "requires": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" } }, "@babel/traverse": { @@ -6581,9 +7179,9 @@ } }, "@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "peer": true, "requires": { "@babel/helper-string-parser": "^7.25.9", @@ -6596,136 +7194,179 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "peer": true }, + "@bundled-es-modules/cookie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==", + "requires": { + "cookie": "^0.7.2" + } + }, + "@bundled-es-modules/statuses": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz", + "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==", + "requires": { + "statuses": "^2.0.1" + } + }, + "@bundled-es-modules/tough-cookie": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz", + "integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==", + "requires": { + "@types/tough-cookie": "^4.0.5", + "tough-cookie": "^4.1.4" + } + }, + "@esbuild/aix-ppc64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", + "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", + "optional": true + }, "@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", + "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", "optional": true }, "@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", + "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", "optional": true }, "@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", + "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", + "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", "optional": true }, "@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", + "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", + "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", + "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", "optional": true }, "@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", + "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", "optional": true }, "@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", + "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", "optional": true }, "@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", + "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", "optional": true }, "@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", + "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", + "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", + "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", + "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", "optional": true }, "@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", + "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", "optional": true }, "@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", + "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", + "optional": true + }, + "@esbuild/netbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", + "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", + "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", + "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", + "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", "optional": true }, "@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", + "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", "optional": true }, "@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", + "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", "optional": true }, "@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", + "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", "optional": true }, "@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", + "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", "optional": true }, "@eslint-community/eslint-utils": { @@ -6749,19 +7390,24 @@ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==" }, "@eslint/config-array": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", - "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", "requires": { - "@eslint/object-schema": "^2.1.5", + "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, + "@eslint/config-helpers": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz", + "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==" + }, "@eslint/core": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", - "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", "requires": { "@types/json-schema": "^7.0.15" } @@ -6790,20 +7436,21 @@ } }, "@eslint/js": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz", - "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==" + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", + "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==" }, "@eslint/object-schema": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", - "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==" + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==" }, "@eslint/plugin-kit": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", - "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", + "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", "requires": { + "@eslint/core": "^0.12.0", "levn": "^0.4.1" } }, @@ -6860,9 +7507,61 @@ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" }, "@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==" + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==" + }, + "@inquirer/confirm": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.7.tgz", + "integrity": "sha512-Xrfbrw9eSiHb+GsesO8TQIeHSMTP0xyvTCeeYevgZ4sKW+iz9w/47bgfG9b0niQm+xaLY2EWPBINUPldLwvYiw==", + "requires": { + "@inquirer/core": "^10.1.8", + "@inquirer/type": "^3.0.5" + } + }, + "@inquirer/core": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.8.tgz", + "integrity": "sha512-HpAqR8y715zPpM9e/9Q+N88bnGwqqL8ePgZ0SMv/s3673JLMv3bIkoivGmjPqXlEgisUksSXibweQccUwEx4qQ==", + "requires": { + "@inquirer/figures": "^1.0.11", + "@inquirer/type": "^3.0.5", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "@inquirer/figures": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz", + "integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==" + }, + "@inquirer/type": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz", + "integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==", + "requires": {} }, "@isaacs/cliui": { "version": "8.0.2", @@ -7277,6 +7976,19 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "@mswjs/interceptors": { + "version": "0.37.6", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.37.6.tgz", + "integrity": "sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==", + "requires": { + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/logger": "^0.3.0", + "@open-draft/until": "^2.0.0", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "strict-event-emitter": "^0.5.1" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -7301,70 +8013,84 @@ } }, "@octokit/auth-token": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", - "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==" }, "@octokit/core": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz", - "integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", + "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", "requires": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.1.2", + "@octokit/request": "^9.2.1", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, "dependencies": { + "@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "requires": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } } } }, "@octokit/endpoint": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", - "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", + "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", "requires": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" }, "dependencies": { + "@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "requires": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } } } }, "@octokit/graphql": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", - "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz", + "integrity": "sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==", "requires": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^9.2.2", + "@octokit/types": "^13.8.0", + "universal-user-agent": "^7.0.0" }, "dependencies": { + "@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "requires": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } } } @@ -7375,20 +8101,24 @@ "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==" }, "@octokit/plugin-paginate-rest": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-7.1.2.tgz", - "integrity": "sha512-Jx8KuKqEAVRsK6fMzZKv3h6UH9/NRDHsDRtUAROqqmZlCptM///Uef7A1ViZ/cbDplekz7VbDWdFLAZ/mpuDww==", + "version": "11.4.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz", + "integrity": "sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==", "requires": { - "@octokit/tsconfig": "^2.0.0", - "@octokit/types": "^9.3.2" + "@octokit/types": "^13.7.0" }, "dependencies": { + "@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "requires": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } } } @@ -7412,53 +8142,55 @@ } }, "@octokit/request": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz", - "integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", + "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", "requires": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.1.3", + "@octokit/request-error": "^6.1.7", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" }, "dependencies": { + "@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "requires": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } } } }, "@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", + "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", "requires": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^13.6.2" }, "dependencies": { + "@octokit/openapi-types": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", + "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" + }, "@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", + "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "requires": { - "@octokit/openapi-types": "^18.0.0" + "@octokit/openapi-types": "^23.0.1" } } } }, - "@octokit/tsconfig": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-2.0.0.tgz", - "integrity": "sha512-tWnrai3quGt8+gRN2edzo9fmraWekeryXPeXDomMw2oFSpu/lH3VSWGn/q4V+rwjTRMeeXk/ci623/01Zet4VQ==" - }, "@octokit/types": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-11.1.0.tgz", @@ -7467,6 +8199,25 @@ "@octokit/openapi-types": "^18.0.0" } }, + "@open-draft/deferred-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", + "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==" + }, + "@open-draft/logger": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz", + "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==", + "requires": { + "is-node-process": "^1.2.0", + "outvariant": "^1.4.0" + } + }, + "@open-draft/until": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz", + "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==" + }, "@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -7545,6 +8296,11 @@ "@types/node": "*" } }, + "@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, "@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -7622,9 +8378,12 @@ "integrity": "sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ==" }, "@types/node": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz", - "integrity": "sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==" + "version": "22.13.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", + "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", + "requires": { + "undici-types": "~6.20.0" + } }, "@types/numeral": { "version": "2.0.3", @@ -7636,6 +8395,16 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" }, + "@types/statuses": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz", + "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==" + }, + "@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" + }, "@types/yargs": { "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", @@ -7779,6 +8548,11 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "requires": {} }, + "agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==" + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -7794,7 +8568,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "peer": true, "requires": { "type-fest": "^0.21.3" } @@ -7832,21 +8605,34 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" }, + "async-es": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async-es/-/async-es-3.2.6.tgz", + "integrity": "sha512-9C2+oOPd7/EzIeneF4k24o75oY7OcHU/Isl7xIot12EBRwXonyuqKsmxwLuAbFWL6B/FucTQip09xTbiu1CA8A==" + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz", + "integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, + "axios-retry": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", + "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", + "requires": { + "is-retry-allowed": "^2.2.0" + } + }, "babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -7947,9 +8733,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "brace-expansion": { "version": "1.1.11", @@ -8054,6 +8840,11 @@ "string-width": "^4.2.3" } }, + "cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==" + }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -8089,6 +8880,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -8097,6 +8893,11 @@ "delayed-stream": "~1.0.0" } }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, "commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -8107,12 +8908,25 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "console-table-printer": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/console-table-printer/-/console-table-printer-2.12.1.tgz", + "integrity": "sha512-wKGOQRRvdnd89pCeH96e2Fn4wkbenSP6LMHfjfyNLMbGuHEFbMqQNuxXqd0oXG9caIOQ1FTvc5Uijp9/4jujnQ==", + "requires": { + "simple-wcswidth": "^1.0.1" + } + }, "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "peer": true }, + "cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==" + }, "create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -8138,6 +8952,11 @@ "which": "^2.0.1" } }, + "dateformat": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-5.0.3.tgz", + "integrity": "sha512-Kvr6HmPXUMerlLcLF+Pwq3K7apHpYmGDVqrxcDasBg86UcKeTSNWbEzU8bwdXnxnR44FtMhJAxI4Bov6Y/KUfA==" + }, "debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", @@ -8169,11 +8988,6 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -8231,32 +9045,35 @@ } }, "esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", + "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", "requires": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "@esbuild/aix-ppc64": "0.25.1", + "@esbuild/android-arm": "0.25.1", + "@esbuild/android-arm64": "0.25.1", + "@esbuild/android-x64": "0.25.1", + "@esbuild/darwin-arm64": "0.25.1", + "@esbuild/darwin-x64": "0.25.1", + "@esbuild/freebsd-arm64": "0.25.1", + "@esbuild/freebsd-x64": "0.25.1", + "@esbuild/linux-arm": "0.25.1", + "@esbuild/linux-arm64": "0.25.1", + "@esbuild/linux-ia32": "0.25.1", + "@esbuild/linux-loong64": "0.25.1", + "@esbuild/linux-mips64el": "0.25.1", + "@esbuild/linux-ppc64": "0.25.1", + "@esbuild/linux-riscv64": "0.25.1", + "@esbuild/linux-s390x": "0.25.1", + "@esbuild/linux-x64": "0.25.1", + "@esbuild/netbsd-arm64": "0.25.1", + "@esbuild/netbsd-x64": "0.25.1", + "@esbuild/openbsd-arm64": "0.25.1", + "@esbuild/openbsd-x64": "0.25.1", + "@esbuild/sunos-x64": "0.25.1", + "@esbuild/win32-arm64": "0.25.1", + "@esbuild/win32-ia32": "0.25.1", + "@esbuild/win32-x64": "0.25.1" } }, "escalade": { @@ -8270,20 +9087,21 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "eslint": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", - "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz", + "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==", "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.9.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.17.0", - "@eslint/plugin-kit": "^0.2.3", + "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.1.0", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.0", + "@eslint/js": "9.22.0", + "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", + "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", @@ -8291,7 +9109,7 @@ "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", + "eslint-scope": "^8.3.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.5.0", @@ -8310,11 +9128,6 @@ "optionator": "^0.9.3" }, "dependencies": { - "@eslint/js": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", - "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==" - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -8331,9 +9144,9 @@ } }, "eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -8421,6 +9234,11 @@ "jest-util": "^29.7.0" } }, + "fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -8651,6 +9469,11 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "peer": true }, + "get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==" + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -8658,9 +9481,9 @@ "peer": true }, "get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", "requires": { "resolve-pkg-maps": "^1.0.0" } @@ -8733,6 +9556,11 @@ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, + "graphql": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz", + "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==" + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -8747,6 +9575,11 @@ "function-bind": "^1.1.2" } }, + "headers-polyfill": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz", + "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==" + }, "html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -8804,6 +9637,60 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "peer": true }, + "ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "requires": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "dependencies": { + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + } + } + }, + "iptv-checker": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/iptv-checker/-/iptv-checker-0.29.1.tgz", + "integrity": "sha512-iTuqh7a9Su91kfV8fVuSjPqqAuALddyNR4iZ7ysbTOjjb7usrt8HKppitzRBVaOAuKWVG+A+Z0YV2k6X6GEB7g==", + "requires": { + "async": "^3.2.6", + "axios": "^1.8.2", + "axios-retry": "^4.5.0", + "colors": "^1.4.0", + "command-exists": "^1.2.9", + "commander": "^13.1.0", + "dateformat": "^5.0.3", + "eslint": "^9.22.0", + "get-stdin": "^9.0.0", + "iptv-playlist-parser": "^0.14.0", + "msw": "^2.7.3", + "normalize-url": "^8.0.1", + "progress": "^2.0.3", + "socks-proxy-agent": "^8.0.5", + "valid-url": "^1.0.9" + }, + "dependencies": { + "commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==" + }, + "iptv-playlist-parser": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/iptv-playlist-parser/-/iptv-playlist-parser-0.14.0.tgz", + "integrity": "sha512-fftp2mgbNZnFU4dQSVJqdGdB2ihZDL/0lqempjYTIcopL4SbJbveAE47DANGCBlcxejqN2WtJGOMM0EPwPdCeQ==", + "requires": { + "is-valid-path": "^0.1.1", + "validator": "^13.7.0" + } + } + } + }, "iptv-playlist-parser": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/iptv-playlist-parser/-/iptv-playlist-parser-0.13.0.tgz", @@ -8854,15 +9741,20 @@ "is-glob": "^2.0.0" } }, + "is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + "is-retry-allowed": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", + "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==" }, "is-stream": { "version": "2.0.1", @@ -9425,6 +10317,11 @@ "argparse": "^2.0.1" } }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, "jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -9734,6 +10631,43 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "msw": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.7.3.tgz", + "integrity": "sha512-+mycXv8l2fEAjFZ5sjrtjJDmm2ceKGjrNbBr1durRg6VkU9fNUE/gsmQ51hWbHqs+l35W1iM+ZsmOD9Fd6lspw==", + "requires": { + "@bundled-es-modules/cookie": "^2.0.1", + "@bundled-es-modules/statuses": "^1.0.1", + "@bundled-es-modules/tough-cookie": "^0.1.6", + "@inquirer/confirm": "^5.0.0", + "@mswjs/interceptors": "^0.37.0", + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/until": "^2.1.0", + "@types/cookie": "^0.6.0", + "@types/statuses": "^2.0.4", + "graphql": "^16.8.1", + "headers-polyfill": "^4.0.2", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "path-to-regexp": "^6.3.0", + "picocolors": "^1.1.1", + "strict-event-emitter": "^0.5.1", + "type-fest": "^4.26.1", + "yargs": "^17.7.2" + }, + "dependencies": { + "type-fest": { + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.37.0.tgz", + "integrity": "sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==" + } + } + }, + "mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==" + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -9744,35 +10678,6 @@ "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-3.0.2.tgz", "integrity": "sha512-x7ZdOwBxZCEm9MM7+eQCjkrNLrW3rkBKNHVr78zbtqnMGVNlnDi6C/eUEYgxHNrcbu0ymvjzcwIL/6H1iHri9g==" }, - "node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", - "requires": { - "whatwg-url": "^5.0.0" - }, - "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } - }, "node-gzip": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/node-gzip/-/node-gzip-1.1.2.tgz", @@ -9796,6 +10701,11 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "peer": true }, + "normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==" + }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -9819,6 +10729,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "peer": true, "requires": { "wrappy": "1" } @@ -9845,6 +10756,11 @@ "word-wrap": "^1.2.5" } }, + "outvariant": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", + "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==" + }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -9930,6 +10846,11 @@ } } }, + "path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==" + }, "picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -10075,6 +10996,11 @@ } } }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, "prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -10090,6 +11016,14 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, + "psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "requires": { + "punycode": "^2.3.1" + } + }, "punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -10106,6 +11040,11 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -10121,6 +11060,11 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, "resolve": { "version": "1.22.10", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", @@ -10263,6 +11207,11 @@ } } }, + "simple-wcswidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-wcswidth/-/simple-wcswidth-1.0.1.tgz", + "integrity": "sha512-xMO/8eNREtaROt7tJvWJqHBDTMFN4eiQ5I4JRMuilwfnFcV5W9u7RUkueNkdw0jPqGMX36iCywelS5yilTuOxg==" + }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -10274,6 +11223,30 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socks": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "requires": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "requires": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -10311,6 +11284,16 @@ } } }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "strict-event-emitter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", + "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==" + }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -10429,6 +11412,17 @@ "is-number": "^7.0.0" } }, + "tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, "transliteration": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/transliteration/-/transliteration-2.3.5.tgz", @@ -10460,13 +11454,13 @@ } }, "tsx": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.6.2.tgz", - "integrity": "sha512-QPpBdJo+ZDtqZgAnq86iY/PD2KYCUPSUGIunHdGwyII99GKH+f3z3FZ8XNFLSGQIA4I365ui8wnQpl8OKLqcsg==", + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz", + "integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==", "requires": { - "esbuild": "~0.18.20", + "esbuild": "~0.25.0", "fsevents": "~2.3.3", - "get-tsconfig": "^4.7.2" + "get-tsconfig": "^4.7.5" } }, "type-check": { @@ -10486,8 +11480,7 @@ "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "peer": true + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" }, "typescript": { "version": "5.7.2", @@ -10495,10 +11488,20 @@ "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", "peer": true }, + "undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" + }, "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + }, + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" }, "update-browserslist-db": { "version": "1.1.1", @@ -10518,6 +11521,15 @@ "punycode": "^2.1.0" } }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "v8-to-istanbul": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", @@ -10584,7 +11596,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "peer": true }, "write-file-atomic": { "version": "4.0.2", @@ -10630,6 +11643,11 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==" } } } diff --git a/package.json b/package.json index 0574d252c..7db699386 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "playlist:generate": "tsx scripts/commands/playlist/generate.ts", "playlist:validate": "tsx scripts/commands/playlist/validate.ts", "playlist:lint": "npx m3u-linter -c m3u-linter.json", + "playlist:test": "tsx scripts/commands/playlist/test.ts", "playlist:deploy": "npx gh-pages-clean && npx gh-pages -m \"Deploy to GitHub Pages\" -d .gh-pages -r https://$GITHUB_TOKEN@github.com/iptv-org/iptv.git", "readme:update": "tsx scripts/commands/readme/update.ts", "report:create": "tsx scripts/commands/report/create.ts", @@ -39,8 +40,8 @@ "@eslint/eslintrc": "^3.3.0", "@eslint/js": "^9.21.0", "@freearhey/core": "^0.2.1", - "@octokit/core": "^4.2.1", - "@octokit/plugin-paginate-rest": "^7.1.2", + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.3", "@octokit/plugin-rest-endpoint-methods": "^7.1.3", "@octokit/types": "^11.1.0", "@types/cli-progress": "^3.11.3", @@ -49,12 +50,16 @@ "@types/numeral": "^2.0.3", "@typescript-eslint/eslint-plugin": "^8.18.1", "@typescript-eslint/parser": "^8.18.1", + "async-es": "^3.2.6", "axios": "^1.7.9", "chalk": "^4.1.2", "cli-progress": "^3.12.0", + "command-exists": "^1.2.9", "commander": "^8.3.0", + "console-table-printer": "^2.12.1", "eslint": "^9.17.0", "globals": "^16.0.0", + "iptv-checker": "^0.29.1", "iptv-playlist-parser": "^0.13.0", "jest-expect-message": "^1.1.3", "lodash": "^4.17.21", diff --git a/scripts/commands/api/generate.ts b/scripts/commands/api/generate.ts index a3390af8f..9f311fd38 100644 --- a/scripts/commands/api/generate.ts +++ b/scripts/commands/api/generate.ts @@ -13,7 +13,7 @@ async function main() { let streams = await parser.parse(files) streams = streams .map(data => new Stream(data)) - .orderBy([(stream: Stream) => stream.channel, (stream: Stream) => stream.timeshift]) + .orderBy([(stream: Stream) => stream.channel]) .map((stream: Stream) => stream.toJSON()) logger.info(`found ${streams.count()} streams`) diff --git a/scripts/commands/playlist/generate.ts b/scripts/commands/playlist/generate.ts index aeb02769a..bab7839fd 100644 --- a/scripts/commands/playlist/generate.ts +++ b/scripts/commands/playlist/generate.ts @@ -105,7 +105,6 @@ async function loadStreams({ .orderBy( [ (stream: Stream) => stream.channel, - (stream: Stream) => stream.timeshift, (stream: Stream) => parseInt(stream.quality.replace('p', '')), (stream: Stream) => stream.label ], diff --git a/scripts/commands/playlist/test.ts b/scripts/commands/playlist/test.ts new file mode 100644 index 000000000..74c19e66c --- /dev/null +++ b/scripts/commands/playlist/test.ts @@ -0,0 +1,166 @@ +import { Logger, Storage, Collection } from '@freearhey/core' +import { ROOT_DIR, STREAMS_DIR } from '../../constants' +import { PlaylistParser, StreamTester, CliTable } from '../../core' +import { Stream } from '../../models' +import { program } from 'commander' +import { eachLimit } from 'async-es' +import commandExists from 'command-exists' +import chalk from 'chalk' +import os from 'node:os' +import dns from 'node:dns' + +const cpus = os.cpus() + +const LIVE_UPDATE_INTERVAL = 5000 +const LIVE_UPDATE_MAX_STREAMS = 100 + +let errors = 0 +let warnings = 0 +let results = {} +let interval +let streams = new Collection() +let isLiveUpdateEnabled = true + +program + .argument('[filepath]', 'Path to file to validate') + .option( + '-p, --parallel ', + 'Batch size of streams to test concurrently', + cpus.length, + (value: string) => parseInt(value) + ) + .option('-x, --proxy ', 'Use the specified proxy') + .parse(process.argv) + +const options = program.opts() + +const logger = new Logger() +const tester = new StreamTester() + +async function main() { + const storage = new Storage(ROOT_DIR) + + if (await isOffline()) { + logger.error(chalk.red('Internet connection is required for the script to work')) + + return + } + + if (!commandExists.sync('ffprobe')) { + logger.error( + chalk.red( + 'For the script to work, the “ffprobe” library must be installed (https://ffmpeg.org/download.html)' + ) + ) + + return + } + + logger.info('loading streams...') + const parser = new PlaylistParser({ storage }) + const files = program.args.length ? program.args : await storage.list(`${STREAMS_DIR}/*.m3u`) + streams = await parser.parse(files) + + logger.info(`found ${streams.count()} streams`) + if (streams.count() > LIVE_UPDATE_MAX_STREAMS) isLiveUpdateEnabled = false + + logger.info('starting...') + if (!isLiveUpdateEnabled) { + drawTable() + interval = setInterval(() => { + drawTable() + }, LIVE_UPDATE_INTERVAL) + } + + await eachLimit( + streams.all(), + options.parallel, + async (stream: Stream) => { + await runTest(stream) + + if (isLiveUpdateEnabled) { + drawTable() + } + }, + onFinish + ) +} + +main() + +async function runTest(stream: Stream) { + const key = stream.filepath + stream.channel + stream.url + results[key] = chalk.white('LOADING...') + + const result = await tester.test(stream) + + let status = '' + const errorStatusCodes = ['HTTP_NOT_FOUND'] + if (result.status.ok) status = chalk.green('OK') + else if (errorStatusCodes.includes(result.status.code)) { + status = chalk.red(result.status.code) + errors++ + } else { + status = chalk.yellow(result.status.code) + warnings++ + } + + results[key] = status +} + +function drawTable() { + process.stdout.write('\u001b[3J\u001b[1J') + console.clear() + + const streamsGrouped = streams.groupBy((stream: Stream) => stream.filepath) + for (const filepath of streamsGrouped.keys()) { + const streams: Stream[] = streamsGrouped.get(filepath) + + const table = new CliTable({ + columns: [ + { name: '', alignment: 'center', minLen: 3, maxLen: 3 }, + { name: 'tvg-id', alignment: 'left', color: 'green', minLen: 25, maxLen: 25 }, + { name: 'url', alignment: 'left', color: 'green', minLen: 100, maxLen: 100 }, + { name: 'status', alignment: 'left', minLen: 25, maxLen: 25 } + ] + }) + streams.forEach((stream: Stream, index: number) => { + const status = results[stream.filepath + stream.channel + stream.url] || chalk.gray('PENDING') + + const row = { + '': index, + 'tvg-id': stream.channel.length > 25 ? stream.channel.slice(0, 22) + '...' : stream.channel, + url: stream.url.length > 100 ? stream.url.slice(0, 97) + '...' : stream.url, + status + } + table.append(row) + }) + + process.stdout.write(`\n${chalk.underline(filepath)}\n`) + + process.stdout.write(table.toString()) + } +} + +function onFinish() { + clearInterval(interval) + + drawTable() + + logger.error(`\n${errors + warnings} problems (${errors} errors, ${warnings} warnings)`) + + if (errors > 0) { + process.exit(1) + } + + process.exit(0) +} + +async function isOffline() { + return new Promise((resolve, reject) => { + dns.lookup('info.cern.ch', err => { + if (err) resolve(true) + reject(false) + }) + }).catch(() => {}) +} diff --git a/scripts/commands/playlist/update.ts b/scripts/commands/playlist/update.ts index 928e30584..1fb56ee03 100644 --- a/scripts/commands/playlist/update.ts +++ b/scripts/commands/playlist/update.ts @@ -60,9 +60,9 @@ async function removeStreams(loader: IssueLoader) { ) requests.forEach((issue: Issue) => { const data = issue.data - if (data.missing('broken_links')) return + if (data.missing('brokenLinks')) return - const brokenLinks = data.getString('broken_links').split(/\r?\n/).filter(Boolean) + const brokenLinks = data.getString('brokenLinks').split(/\r?\n/).filter(Boolean) let changed = false brokenLinks.forEach(link => { @@ -84,20 +84,20 @@ async function editStreams(loader: IssueLoader) { requests.forEach((issue: Issue) => { const data = issue.data - if (data.missing('stream_url')) return + if (data.missing('streamUrl')) return let stream = streams.first( - (_stream: Stream) => _stream.url === data.getString('stream_url') + (_stream: Stream) => _stream.url === data.getString('streamUrl') ) as Stream if (!stream) return - if (data.has('channel_id')) { - const channel = groupedChannels.get(data.getString('channel_id')) + if (data.has('channelId')) { + const channel = groupedChannels.get(data.getString('channelId')) if (!channel) return - stream.channel = data.getString('channel_id') + stream.channel = data.getString('channelId') stream.filepath = `${channel.country.toLowerCase()}.m3u` stream.line = -1 stream.name = channel.name @@ -105,9 +105,8 @@ async function editStreams(loader: IssueLoader) { if (data.has('label')) stream.label = data.getString('label') if (data.has('quality')) stream.quality = data.getString('quality') - if (data.has('timeshift')) stream.timeshift = data.getString('timeshift') - if (data.has('user_agent')) stream.userAgent = data.getString('user_agent') - if (data.has('http_referrer')) stream.httpReferrer = data.getString('http_referrer') + if (data.has('httpUserAgent')) stream.httpUserAgent = data.getString('httpUserAgent') + if (data.has('httpReferrer')) stream.httpReferrer = data.getString('httpReferrer') processedIssues.add(issue.number) }) @@ -119,25 +118,24 @@ async function addStreams(loader: IssueLoader) { ) requests.forEach((issue: Issue) => { const data = issue.data - if (data.missing('channel_id') || data.missing('stream_url')) return - if (streams.includes((_stream: Stream) => _stream.url === data.getString('stream_url'))) return - if (!validUrl.isUri(data.getString('stream_url'))) return + if (data.missing('channelId') || data.missing('streamUrl')) return + if (streams.includes((_stream: Stream) => _stream.url === data.getString('streamUrl'))) return + if (!validUrl.isUri(data.getString('streamUrl'))) return - const channel = groupedChannels.get(data.getString('channel_id')) + const channel = groupedChannels.get(data.getString('channelId')) if (!channel) return const stream = new Stream({ - channel: data.getString('channel_id'), - url: data.getString('stream_url'), + channel: data.getString('channelId'), + url: data.getString('streamUrl'), label: data.getString('label'), quality: data.getString('quality'), - timeshift: data.getString('timeshift'), - userAgent: data.getString('user_agent'), - httpReferrer: data.getString('http_referrer'), + httpUserAgent: data.getString('httpUserAgent'), + httpReferrer: data.getString('httpReferrer'), filepath: `${channel.country.toLowerCase()}.m3u`, line: -1, - name: data.getString('channel_name') || channel.name + name: data.getString('channelName') || channel.name }) streams.add(stream) diff --git a/scripts/commands/report/create.ts b/scripts/commands/report/create.ts index 93ec1d08e..6b440547b 100644 --- a/scripts/commands/report/create.ts +++ b/scripts/commands/report/create.ts @@ -38,8 +38,8 @@ async function main() { const addRequests = issues.filter(issue => issue.labels.includes('streams:add')) const addRequestsBuffer = new Dictionary() addRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channel_id') || undefined - const streamUrl = issue.data.getString('stream_url') + const channelId = issue.data.getString('channelId') || undefined + const streamUrl = issue.data.getString('streamUrl') const result = new Dictionary({ issueNumber: issue.number, @@ -65,8 +65,8 @@ async function main() { logger.info('checking streams:edit requests...') const editRequests = issues.filter(issue => issue.labels.find(label => label === 'streams:edit')) editRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channel_id') || undefined - const streamUrl = issue.data.getString('stream_url') || undefined + const channelId = issue.data.getString('channelId') || undefined + const streamUrl = issue.data.getString('streamUrl') || undefined const result = new Dictionary({ issueNumber: issue.number, @@ -88,7 +88,7 @@ async function main() { issue.labels.find(label => label === 'broken stream') ) brokenStreamReports.forEach((issue: Issue) => { - const brokenLinks = issue.data.getArray('broken_links') || [] + const brokenLinks = issue.data.getArray('brokenLinks') || [] if (!brokenLinks.length) { const result = new Dictionary({ @@ -126,7 +126,7 @@ async function main() { ) const channelSearchRequestsBuffer = new Dictionary() channelSearchRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channel_id') + const channelId = issue.data.getString('channelId') const result = new Dictionary({ issueNumber: issue.number, diff --git a/scripts/core/cliTable.ts b/scripts/core/cliTable.ts new file mode 100644 index 000000000..4d1fe3253 --- /dev/null +++ b/scripts/core/cliTable.ts @@ -0,0 +1,21 @@ +import { Table } from 'console-table-printer' + +export class CliTable { + table: Table + + constructor(options?) { + this.table = new Table(options) + } + + append(row) { + this.table.addRow(row) + } + + render() { + this.table.printTable() + } + + toString() { + return this.table.render() + } +} diff --git a/scripts/core/index.ts b/scripts/core/index.ts index 69656cc5f..cdac07f58 100644 --- a/scripts/core/index.ts +++ b/scripts/core/index.ts @@ -7,3 +7,5 @@ export * from './issueParser' export * from './htmlTable' export * from './apiClient' export * from './issueData' +export * from './streamTester' +export * from './cliTable' diff --git a/scripts/core/issueParser.ts b/scripts/core/issueParser.ts index 37ec8c990..e43f505d0 100644 --- a/scripts/core/issueParser.ts +++ b/scripts/core/issueParser.ts @@ -3,21 +3,19 @@ import { Issue } from '../models' import { IssueData } from './issueData' const FIELDS = new Dictionary({ - 'Channel ID': 'channel_id', - 'Channel ID (required)': 'channel_id', - 'Stream URL': 'stream_url', - 'Stream URL (optional)': 'stream_url', - 'Stream URL (required)': 'stream_url', - 'Broken Link': 'broken_links', - 'Broken Links': 'broken_links', + 'Channel ID': 'channelId', + 'Channel ID (required)': 'channelId', + 'Stream URL': 'streamUrl', + 'Stream URL (optional)': 'streamUrl', + 'Stream URL (required)': 'streamUrl', + 'Broken Link': 'brokenLinks', + 'Broken Links': 'brokenLinks', Label: 'label', Quality: 'quality', - Timeshift: 'timeshift', - 'Timeshift (optional)': 'timeshift', - 'Channel Name': 'channel_name', - 'HTTP User-Agent': 'user_agent', - 'HTTP User Agent': 'user_agent', - 'HTTP Referrer': 'http_referrer', + 'Channel Name': 'channelName', + 'HTTP User-Agent': 'httpUserAgent', + 'HTTP User Agent': 'httpUserAgent', + 'HTTP Referrer': 'httpReferrer', 'What happened to the stream?': 'reason', Reason: 'reason', Notes: 'notes', diff --git a/scripts/core/playlistParser.ts b/scripts/core/playlistParser.ts index cae8ffb4f..d615f5c6c 100644 --- a/scripts/core/playlistParser.ts +++ b/scripts/core/playlistParser.ts @@ -1,8 +1,6 @@ import { Collection, Storage } from '@freearhey/core' import parser from 'iptv-playlist-parser' import { Stream } from '../models' -import path from 'path' -import { STREAMS_DIR } from '../constants' export class PlaylistParser { storage: Storage @@ -15,8 +13,7 @@ export class PlaylistParser { let streams = new Collection() for (const filepath of files) { - const relativeFilepath = filepath.replace(path.normalize(STREAMS_DIR), '') - const _streams: Collection = await this.parseFile(relativeFilepath) + const _streams: Collection = await this.parseFile(filepath) streams = streams.concat(_streams) } @@ -40,8 +37,7 @@ export class PlaylistParser { line: item.line, url: item.url, httpReferrer: item.http.referrer, - userAgent: item.http['user-agent'], - timeshift: item.tvg.shift + httpUserAgent: item.http['user-agent'] }) streams.add(stream) diff --git a/scripts/core/streamTester.ts b/scripts/core/streamTester.ts new file mode 100644 index 000000000..d3f772f97 --- /dev/null +++ b/scripts/core/streamTester.ts @@ -0,0 +1,27 @@ +import { Stream } from '../models' +import { IPTVChecker } from 'iptv-checker' +import { TESTING } from '../constants' + +export class StreamTester { + checker: IPTVChecker + + constructor() { + this.checker = new IPTVChecker() + } + + async test(stream: Stream) { + if (TESTING) { + const results = (await import('../../tests/__data__/input/test_results/all.js')).default + + return results[stream.url] + } else { + return this.checker.checkStream({ + url: stream.url, + http: { + referrer: stream.httpReferrer, + 'user-agent': stream.httpUserAgent + } + }) + } + } +} diff --git a/scripts/models/stream.ts b/scripts/models/stream.ts index 6d8217548..53d244126 100644 --- a/scripts/models/stream.ts +++ b/scripts/models/stream.ts @@ -8,10 +8,9 @@ type StreamProps = { line: number channel?: string httpReferrer?: string + httpUserAgent?: string label?: string quality?: string - userAgent?: string - timeshift?: string } export class Stream { @@ -23,7 +22,7 @@ export class Stream { name: string quality: string url: string - userAgent: string + httpUserAgent: string logo: string broadcastArea: Collection categories: Collection @@ -31,7 +30,6 @@ export class Stream { isNSFW: boolean groupTitle: string removed: boolean = false - timeshift: string constructor({ channel, @@ -42,8 +40,7 @@ export class Stream { name, quality, url, - userAgent, - timeshift + httpUserAgent }: StreamProps) { this.channel = channel || '' this.filepath = filepath @@ -53,14 +50,13 @@ export class Stream { this.name = name this.quality = quality || '' this.url = url - this.userAgent = userAgent || '' + this.httpUserAgent = httpUserAgent || '' this.logo = '' this.broadcastArea = new Collection() this.categories = new Collection() this.languages = new Collection() this.isNSFW = false this.groupTitle = 'Undefined' - this.timeshift = timeshift || '' } normalizeURL() { @@ -140,7 +136,7 @@ export class Stream { name: this.name, quality: this.quality, url: this.url, - userAgent: this.userAgent, + httpUserAgent: this.httpUserAgent, line: this.line } } @@ -149,25 +145,24 @@ export class Stream { return { channel: this.channel || null, url: this.url, - timeshift: this.timeshift || null, - http_referrer: this.httpReferrer || null, - user_agent: this.userAgent || null + referrer: this.httpReferrer || null, + user_agent: this.httpUserAgent || null } } toString(options: { public: boolean }) { let output = `#EXTINF:-1 tvg-id="${this.channel}"` - if (this.timeshift) { - output += ` tvg-shift="${this.timeshift}"` - } - if (options.public) { output += ` tvg-logo="${this.logo}" group-title="${this.groupTitle}"` } - if (this.userAgent) { - output += ` user-agent="${this.userAgent}"` + if (this.httpReferrer) { + output += ` http-referrer="${this.httpReferrer}"` + } + + if (this.httpUserAgent) { + output += ` http-user-agent="${this.httpUserAgent}"` } output += `,${this.getTitle()}` @@ -176,8 +171,8 @@ export class Stream { output += `\n#EXTVLCOPT:http-referrer=${this.httpReferrer}` } - if (this.userAgent) { - output += `\n#EXTVLCOPT:http-user-agent=${this.userAgent}` + if (this.httpUserAgent) { + output += `\n#EXTVLCOPT:http-user-agent=${this.httpUserAgent}` } output += `\n${this.url}` diff --git a/streams/am_ucom.m3u b/streams/am_ucom.m3u index c35e32510..a8de4336f 100644 --- a/streams/am_ucom.m3u +++ b/streams/am_ucom.m3u @@ -1,178 +1,178 @@ #EXTM3U -#EXTINF:-1 tvg-id="5TV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",5 ԹԻՎԻ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="5TV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",5 ԹԻՎԻ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s6/index.m3u8 -#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",5 ԹԻՎԻ ՊԼՅՈՒՍ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",5 ԹԻՎԻ ՊԼՅՈՒՍ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s9/index.m3u8 -#EXTINF:-1 tvg-id="AlJazeera.qa" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Al Jazeera (480p) [Not 24/7] +#EXTINF:-1 tvg-id="AlJazeera.qa" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Al Jazeera (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s23/index.m3u8 -#EXTINF:-1 tvg-id="AlJazeera.qa" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Al Jazeera Arabic (480p) [Not 24/7] +#EXTINF:-1 tvg-id="AlJazeera.qa" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Al Jazeera Arabic (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s69/index.m3u8 -#EXTINF:-1 tvg-id="AmediaPremium.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Amedia Premium (480p) [Not 24/7] +#EXTINF:-1 tvg-id="AmediaPremium.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Amedia Premium (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s64/index.m3u8 -#EXTINF:-1 tvg-id="BBCNewsEurope.uk" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",BBC World News (480p) [Not 24/7] +#EXTINF:-1 tvg-id="BBCNewsEurope.uk" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",BBC World News (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s24/index.m3u8 -#EXTINF:-1 tvg-id="BRIDGE.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",BRIDGE (480p) [Not 24/7] +#EXTINF:-1 tvg-id="BRIDGE.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",BRIDGE (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s34/index.m3u8 -#EXTINF:-1 tvg-id="DWDeutsch.de" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Deutsche Welle (480p) [Not 24/7] +#EXTINF:-1 tvg-id="DWDeutsch.de" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Deutsche Welle (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s26/index.m3u8 -#EXTINF:-1 tvg-id="FastFunBox.nl" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Fast&Fun Box (480p) [Not 24/7] +#EXTINF:-1 tvg-id="FastFunBox.nl" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Fast&Fun Box (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s79/index.m3u8 -#EXTINF:-1 tvg-id="Mezzo.fr" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Mezzo (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Mezzo.fr" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Mezzo (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s35/index.m3u8 -#EXTINF:-1 tvg-id="Rai1.it" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Rai 1 (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Rai1.it" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Rai 1 (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s29/index.m3u8 -#EXTINF:-1 tvg-id="TiJi.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Tiji (480p) [Not 24/7] +#EXTINF:-1 tvg-id="TiJi.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Tiji (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s59/index.m3u8 -#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Viju Sport (480p) [Not 24/7] +#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Viju Sport (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s38/index.m3u8 -#EXTINF:-1 tvg-id="ATV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",АTV ԱԹԻՎԻ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ATV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",АTV ԱԹԻՎԻ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s8/index.m3u8 -#EXTINF:-1 tvg-id="Arsenal.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Арсенал (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Arsenal.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Арсенал (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s68/index.m3u8 -#EXTINF:-1 tvg-id="Detskimir.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Детский мир (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Detskimir.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Детский мир (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s58/index.m3u8 -#EXTINF:-1 tvg-id="Domashniy.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Домашний (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Domashniy.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Домашний (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s88/index.m3u8 -#EXTINF:-1 tvg-id="Dorama.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Дорама (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Dorama.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Дорама (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s95/index.m3u8 -#EXTINF:-1 tvg-id="Zagorodnyy.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Загородный (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Zagorodnyy.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Загородный (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s31/index.m3u8 -#EXTINF:-1 tvg-id="Istoriya.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",История (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Istoriya.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",История (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s40/index.m3u8 -#EXTINF:-1 tvg-id="PervyyKosmicheskiy.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Космический (480p) [Not 24/7] +#EXTINF:-1 tvg-id="PervyyKosmicheskiy.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Космический (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s44/index.m3u8 -#EXTINF:-1 tvg-id="RussiaK.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Культура (480p) [Not 24/7] +#EXTINF:-1 tvg-id="RussiaK.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Культура (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s16/index.m3u8 -#EXTINF:-1 tvg-id="Mir.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Мир (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Mir.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Мир (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s39/index.m3u8 -#EXTINF:-1 tvg-id="Nauka.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Наука (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Nauka.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Наука (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s98/index.m3u8 -#EXTINF:-1 tvg-id="NTVMir.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",НТВ Мир (480p) [Not 24/7] +#EXTINF:-1 tvg-id="NTVMir.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",НТВ Мир (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s17/index.m3u8 -#EXTINF:-1 tvg-id="NTVHit.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",НТВ Хит (480p) [Not 24/7] +#EXTINF:-1 tvg-id="NTVHit.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",НТВ Хит (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s77/index.m3u8 -#EXTINF:-1 tvg-id="ChannelOne.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Первый канал (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ChannelOne.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Первый канал (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s14/index.m3u8 -#EXTINF:-1 tvg-id="Priklyucheniya.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Приключения (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Priklyucheniya.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Приключения (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s99/index.m3u8 -#EXTINF:-1 tvg-id="FridayInternational.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Пятница! International (480p) [Not 24/7] +#EXTINF:-1 tvg-id="FridayInternational.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Пятница! International (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s50/index.m3u8 -#EXTINF:-1 tvg-id="RBKTV.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",РБК (480p) [Not 24/7] +#EXTINF:-1 tvg-id="RBKTV.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",РБК (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s36/index.m3u8 -#EXTINF:-1 tvg-id="Russia24.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Россия 24 (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Russia24.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Россия 24 (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s21/index.m3u8 -#EXTINF:-1 tvg-id="Russia1.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Россия РТР (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Russia1.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Россия РТР (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s15/index.m3u8 -#EXTINF:-1 tvg-id="Ryzhiy.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Рыжий (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Ryzhiy.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Рыжий (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s57/index.m3u8 -#EXTINF:-1 tvg-id="STS.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",СТС (480p) [Not 24/7] +#EXTINF:-1 tvg-id="STS.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",СТС (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s52/index.m3u8 -#EXTINF:-1 tvg-id="TVCentr.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ТВЦ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="TVCentr.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ТВЦ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s54/index.m3u8 -#EXTINF:-1 tvg-id="Telecafe.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ТЕЛЕКАФЕ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Telecafe.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ТЕЛЕКАФЕ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s56/index.m3u8 -#EXTINF:-1 tvg-id="TNT.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ТНТ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="TNT.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ТНТ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s19/index.m3u8 -#EXTINF:-1 tvg-id="TNT4.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ТНТ4 (480p) [Not 24/7] +#EXTINF:-1 tvg-id="TNT4.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ТНТ4 (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s100/index.m3u8 -#EXTINF:-1 tvg-id="NTV.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Центральное телевидение (ЦТВ) (480p) [Not 24/7] +#EXTINF:-1 tvg-id="NTV.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Центральное телевидение (ЦТВ) (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s20/index.m3u8 -#EXTINF:-1 tvg-id="ShansonTV.ru" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Шансон ТВ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ShansonTV.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Шансон ТВ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s43/index.m3u8 -#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱԶԱՏՈՒԹՅՈՒՆ ԹԻՎԻ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱԶԱՏՈՒԹՅՈՒՆ ԹԻՎԻ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s3/index.m3u8 -#EXTINF:-1 tvg-id="Armenia1.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱՐՄԵՆԻԱ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Armenia1.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱՐՄԵՆԻԱ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s4/index.m3u8 -#EXTINF:-1 tvg-id="ArmeniaPremium.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱՐՄԵՆԻԱ 1 ՊՐԵՄԻՈՒՄ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ArmeniaPremium.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱՐՄԵՆԻԱ 1 ՊՐԵՄԻՈՒՄ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s83/index.m3u8 -#EXTINF:-1 tvg-id="ArmeniaHayKino.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱՐՄԵՆԻԱ-ՀԱՅԿԻՆՈ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ArmeniaHayKino.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱՐՄԵՆԻԱ-ՀԱՅԿԻՆՈ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s22/index.m3u8 -#EXTINF:-1 tvg-id="DAR21.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԴԱՐ21 (480p) [Not 24/7] +#EXTINF:-1 tvg-id="DAR21.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԴԱՐ21 (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s10/index.m3u8 -#EXTINF:-1 tvg-id="YerkirMedia.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԵՐԿԻՐ ՄԵԴԻԱ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="YerkirMedia.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԵՐԿԻՐ ՄԵԴԻԱ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s7/index.m3u8 -#EXTINF:-1 tvg-id="ATVTavaTV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԹԱՎԱ ԹԻՎԻ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ATVTavaTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԹԱՎԱ ԹԻՎԻ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s53/index.m3u8 -#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԼԱՎՖՀԱՔ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԼԱՎՖՀԱՔ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s48/index.m3u8 -#EXTINF:-1 tvg-id="ATVKhaghaliqTV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԽԱՂԱԼԻՔ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ATVKhaghaliqTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԽԱՂԱԼԻՔ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s74/index.m3u8 -#EXTINF:-1 tvg-id="KentronTV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԿԵՆՏՐՈՆ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="KentronTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԿԵՆՏՐՈՆ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s5/index.m3u8 -#EXTINF:-1 tvg-id="ATVKinoman.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԿԻՆՈՄԱՆ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ATVKinoman.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԿԻՆՈՄԱՆ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s94/index.m3u8 -#EXTINF:-1 tvg-id="Armenia1.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Հ1 (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Armenia1.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Հ1 (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s1/index.m3u8 -#EXTINF:-1 tvg-id="Armenia2.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Հ2 (480p) [Not 24/7] +#EXTINF:-1 tvg-id="Armenia2.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Հ2 (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s2/index.m3u8 -#EXTINF:-1 tvg-id="ATVHayTV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՀԱՅ ԹԻՎԻ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ATVHayTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՀԱՅ ԹԻՎԻ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s73/index.m3u8 -#EXTINF:-1 tvg-id="NorHayastanTV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՆՈՐ ՀԱՅԱՍՏԱՆ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="NorHayastanTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՆՈՐ ՀԱՅԱՍՏԱՆ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s12/index.m3u8 -#EXTINF:-1 tvg-id="ShoghakatTV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՇՈՂԱԿԱԹ (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ShoghakatTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՇՈՂԱԿԱԹ (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s13/index.m3u8 -#EXTINF:-1 tvg-id="ArmeniaJanTV.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՋԱՆ ԹԻՎԻ (U3) (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ArmeniaJanTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՋԱՆ ԹԻՎԻ (U3) (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s42/index.m3u8 -#EXTINF:-1 tvg-id="ArmeniaSinemaks.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՍԻՆԵՄԱՆ (U6) (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ArmeniaSinemaks.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՍԻՆԵՄԱՆ (U6) (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s66/index.m3u8 -#EXTINF:-1 tvg-id="ArmeniaTownTownik.am" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՏՈՒՆՏՈՒՆԻԿ (U5) (480p) [Not 24/7] +#EXTINF:-1 tvg-id="ArmeniaTownTownik.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ՏՈՒՆՏՈՒՆԻԿ (U5) (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148 http://ott-cdn.ucom.am/s46/index.m3u8 diff --git a/streams/ar.m3u b/streams/ar.m3u index ed1e14e72..ce1da4dc0 100644 --- a/streams/ar.m3u +++ b/streams/ar.m3u @@ -5,7 +5,7 @@ http://www.coninfo.net:1935/tvcinco/live1/playlist.m3u8 http://coninfo.net:1935/13maxhd/live13maxtvnuevo/playlist.m3u8 #EXTINF:-1 tvg-id="13MaxTelevision.ar",13Max Televisión (720p) http://coninfo.net:1935/13maxhd/live13maxtvnuevo_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="247CanaldeNoticias.ar",24/7 Canal de Noticias +#EXTINF:-1 tvg-id="247CanaldeNoticias.ar" http-referrer="https://cn247.tv/",24/7 Canal de Noticias #EXTVLCOPT:http-referrer=https://cn247.tv/ https://panel.host-live.com:19360/cn247tv/passthru.m3u8 #EXTINF:-1 tvg-id="247CanaldeNoticias.ar",24/7 Canal de Noticias (720p) @@ -14,7 +14,7 @@ https://59c5c86e10038.streamlock.net/6605140/6605140/playlist.m3u8 https://panel.dattalive.com/6605140/6605140/playlist.m3u8 #EXTINF:-1 tvg-id="247CanaldeNoticias.ar",24/7 Canal de Noticias (720p) https://panel.dattalive.com/6605140/smil:6605140.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="A24.ar" user-agent="iPhone",A24 (720p) +#EXTINF:-1 tvg-id="A24.ar" http-user-agent="iPhone",A24 (720p) #EXTVLCOPT:http-user-agent=iPhone https://g1.vxral-hor.transport.edge-access.net/a15/ngrp:a24-100056_all/a24-100056.m3u8 #EXTINF:-1 tvg-id="AiredeSantaFe.ar",Aire de Santa Fe (1080p) @@ -25,7 +25,9 @@ https://sc1.stweb.tv/airedigital/live/playlist.m3u8 https://alternatv.ar/stream/hls/live.m3u8 #EXTINF:-1 tvg-id="Am1020.ar",Am1020 (360p) [Geo-blocked] http://51.79.83.93:9998/live/am1020/playlist.m3u8 -#EXTINF:-1 tvg-id="AmericaTV.ar" user-agent="iPhone",América TV (720p) +#EXTINF:-1 tvg-id="AmericaTV.ar",America TV (480p) +http://190.2.212.209:8050/play/a0pb +#EXTINF:-1 tvg-id="AmericaTV.ar" http-user-agent="iPhone",América TV (720p) #EXTVLCOPT:http-user-agent=iPhone https://raw.githubusercontent.com/MachineSystems/archived_m3u8/main/america_hls.m3u8 #EXTINF:-1 tvg-id="ANIMESTATION.ar",ANIMESTATION (Argentina) (720p) @@ -140,12 +142,12 @@ https://videostream.shockmedia.com.ar:19360/canal9santacruz/canal9santacruz.m3u8 https://unlimited1-us.dps.live/televidaar/televidaar.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Canal10Cordoba.ar",Canal 10 Córdoba (1080p) https://stream.arcast.live/canal10/ngrp:canal10_all/playlist.m3u8 -#EXTINF:-1 tvg-id="Canal10deJunin.ar" user-agent="iPhone",Canal 10 de Junín (720p) [Not 24/7] +#EXTINF:-1 tvg-id="Canal10deJunin.ar" http-user-agent="iPhone",Canal 10 de Junín (720p) [Not 24/7] #EXTVLCOPT:http-user-agent=iPhone https://g4.mc-slo.transport.edge-access.net/a10/ngrp:canal10junin-100056_all/Playlist.m3u8 #EXTINF:-1 tvg-id="Canal10Goya.ar",Canal 10 Goya (576p) https://streamcasthd.com:19360/canal10goya/canal10goya.m3u8 -#EXTINF:-1 tvg-id="Canal10MardelPlata.ar" user-agent="iPhone",Canal 10 Mar del Plata (720p) +#EXTINF:-1 tvg-id="Canal10MardelPlata.ar" http-user-agent="iPhone",Canal 10 Mar del Plata (720p) #EXTVLCOPT:http-user-agent=iPhone https://g5.mc-slo.transport.edge-access.net/a15/ngrp:canal10mdq-100044_all/Playlist.m3u8 #EXTINF:-1 tvg-id="Canal10Neuquen.ar",Canal 10 Neuquén (480p) @@ -164,7 +166,7 @@ https://restreamer.el10tv.com/memfs/725003c4-79c2-4565-8311-f429db4f7777.m3u8 https://vivo.solumedia.com:19360/dadaproductora/dadaproductora.m3u8 #EXTINF:-1 tvg-id="Canal11LaRioja.ar",Canal 11 La Rioja (Fénix Multiplataforma) (360p) http://stmv4.questreaming.com/fenixlarioja/fenixlarioja/playlist.m3u8 -#EXTINF:-1 tvg-id="DoceMisiones.ar" user-agent="iPhone",Canal 12 Misiones (720p) +#EXTINF:-1 tvg-id="DoceMisiones.ar" http-user-agent="iPhone",Canal 12 Misiones (720p) #EXTVLCOPT:http-user-agent=iPhone https://g4.vxral-slo.transport.edge-access.net/a05/ngrp:c12_live01-100129_all/Playlist.m3u8 #EXTINF:-1 tvg-id="Canal12Web.ar",Canal 12 Puerto Madryn (720p) [Not 24/7] @@ -211,17 +213,17 @@ https://panel.dattalive.com/canal907/canal907/playlist.m3u8 https://vivo.solumedia.com:19360/canalblu/canalblu.m3u8 #EXTINF:-1 tvg-id="CanalCoop.ar",Canal Coop (576p) https://panel.dattalive.com/8138/8138/playlist.m3u8 -#EXTINF:-1 tvg-id="CanaldelaCiudad.ar" user-agent="iPhone",Canal de la Ciudad (720p) +#EXTINF:-1 tvg-id="CanaldelaCiudad.ar" http-user-agent="iPhone",Canal de la Ciudad (720p) #EXTVLCOPT:http-user-agent=iPhone https://g2.vxral-slo.transport.edge-access.net/a08/ngrp:gcba_video4-100042_all/Playlist.m3u8 #EXTINF:-1 tvg-id="CanaldelaCiudad.ar",Canal de la Ciudad (360p) [Not 24/7] http://168.197.196.98:82/stream/channelid/1330348835?profile=pass #EXTINF:-1 tvg-id="CanalE.ar",Canal E (720p) https://unlimited1-us.dps.live/perfiltv/perfiltv.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="CanalLuz.ar" user-agent="iPhone",Canal Luz (1080p) +#EXTINF:-1 tvg-id="CanalLuz.ar" http-user-agent="iPhone",Canal Luz (1080p) #EXTVLCOPT:http-user-agent=iPhone https://g2.vxral-slo.transport.edge-access.net/a11/ngrp:canal_luz01-100009_all/Playlist.m3u8 -#EXTINF:-1 tvg-id="CanalLuz.ar" user-agent="Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36",Canal Luz (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="CanalLuz.ar" http-user-agent="Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36",Canal Luz (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36 https://g1.mc-slo.transport.edge-access.net/a11/ngrp:canal_luz01-100009_all/Playlist.m3u8?sense=true #EXTINF:-1 tvg-id="CanalOrbe21.ar",Canal Orbe 21 (720p) @@ -260,7 +262,7 @@ https://live-01-07-ciudad.vodgc.net/live-01-07-ciudad.vodgc.net/index.m3u8 https://tv.initium.net.ar:3235/live/grupocitylive.m3u8 #EXTINF:-1 tvg-id="CiudadTVResistencia.ar",Ciudad TV Resistencia (Chaco) (720p) [Not 24/7] http://coninfo.net:1935/chacodxdtv/live/playlist.m3u8 -#EXTINF:-1 tvg-id="CMElCanaldelaMusica.ar" user-agent="iPhone",CM El Canal de la Música (720p) +#EXTINF:-1 tvg-id="CMElCanaldelaMusica.ar" http-user-agent="iPhone",CM El Canal de la Música (720p) #EXTVLCOPT:http-user-agent=iPhone http://g5.vxral-slo.transport.edge-access.net/a09/ngrp:CM_CanaldelaMusica-100044_all/Playlist.m3u8 #EXTINF:-1 tvg-id="Canal3Pinamar.ar",CN3 Pinamar (720p) [Not 24/7] @@ -275,7 +277,7 @@ https://mediacp.hostradios.com.ar:19360/canal7/canal7.m3u8 https://tv.mediacp.eu:19360/cosmos/cosmos.m3u8 #EXTINF:-1 tvg-id="CPEtv.ar",CPEtv (720p) https://stream.arcast.live/cpe/ngrp:cpe_all/playlist.m3u8 -#EXTINF:-1 tvg-id="CronicaTV.ar" user-agent="iPhone",Crónica TV (720p) +#EXTINF:-1 tvg-id="CronicaTV.ar" http-user-agent="iPhone",Crónica TV (720p) #EXTVLCOPT:http-user-agent=iPhone https://g1.mc-hor.transport.edge-access.net/a10/ngrp:cronicatv_video1-100044_all/Playlist.m3u8 #EXTINF:-1 tvg-id="CrossingCanalIPTV.ar",Crossing TV (Crossing Contenidos) (720p) [Not 24/7] @@ -506,15 +508,15 @@ https://stmv5.livecastv.com/manualtman/manualtman/playlist.m3u8 https://5f700d5b2c46f.streamlock.net/vtvmendoza/vtvmendoza/playlist.m3u8 #EXTINF:-1 tvg-id="X24.ar",X24 (360p) http://srv1.zcast.com.ar/x24hd/x24hd/playlist.m3u8 -#EXTINF:-1 tvg-id="XtremaAccion.ar",Xtrema Accion +#EXTINF:-1 tvg-id="XtremaAccion.ar" http-referrer="https://xtrematv.com/?p=1434",Xtrema Accion #EXTVLCOPT:http-referrer=https://xtrematv.com/?p=1434 https://stmv6.voxtvhd.com.br/cineaccion/cineaccion/playlist.m3u8 -#EXTINF:-1 tvg-id="XtremaAnimal.ar",Xtrema Animal +#EXTINF:-1 tvg-id="XtremaAnimal.ar" http-referrer="https://xtrematv.com/?p=1504",Xtrema Animal #EXTVLCOPT:http-referrer=https://xtrematv.com/?p=1504 https://stmv6.voxtvhd.com.br/xtremaanimal/xtremaanimal/playlist.m3u8 #EXTINF:-1 tvg-id="XtremaAnime.ar",Xtrema Anime (360p) https://stmv1.cnarlatam.com/xtremaanime/xtremaanime/playlist.m3u8 -#EXTINF:-1 tvg-id="XtremaCartoons.ar",Xtrema Cartoons +#EXTINF:-1 tvg-id="XtremaCartoons.ar" http-referrer="https://xtrematv.com/?p=1390",Xtrema Cartoons #EXTVLCOPT:http-referrer=https://xtrematv.com/?p=1390 https://stmv6.voxtvhd.com.br/xtremacartoons/xtremacartoons/playlist.m3u8 #EXTINF:-1 tvg-id="XtremaCartoons.ar",Xtrema Cartoons (360p) @@ -523,7 +525,7 @@ https://stmv1.cnarlatam.com/cineinfantil/cineinfantil/playlist.m3u8 https://stmv1.cnarlatam.com/cineaccion/cineaccion/playlist.m3u8 #EXTINF:-1 tvg-id="XtremaAsia.ar",Xtrema Cine Asia (268p) https://stmv1.cnarlatam.com/cineasia/cineasia/playlist.m3u8 -#EXTINF:-1 tvg-id="XtremaCineClasico.ar",Xtrema Cine Clasico +#EXTINF:-1 tvg-id="XtremaCineClasico.ar" http-referrer="https://xtrematv.com/?p=1460",Xtrema Cine Clasico #EXTVLCOPT:http-referrer=https://xtrematv.com/?p=1460 https://stmv6.voxtvhd.com.br/cineclasico/cineclasico/playlist.m3u8 #EXTINF:-1 tvg-id="XtremaComedy.ar",Xtrema Cine Comedy (344p) @@ -546,10 +548,8 @@ https://stmv1.cnarlatam.com/retroinfantil/retroinfantil/playlist.m3u8 https://stmv1.cnarlatam.com/xtremaretroseries/xtremaretroseries/playlist.m3u8 #EXTINF:-1 tvg-id="XtremaSeries.ar",Xtrema Series (360p) https://stmv1.cnarlatam.com/xtremaseries/xtremaseries/playlist.m3u8 -#EXTINF:-1 tvg-id="XtremaTerror.ar",Xtrema Terror +#EXTINF:-1 tvg-id="XtremaTerror.ar" http-referrer="https://xtrematv.com/?p=1456",Xtrema Terror #EXTVLCOPT:http-referrer=https://xtrematv.com/?p=1456 https://stmv6.voxtvhd.com.br/cineterror/cineterror/playlist.m3u8 #EXTINF:-1 tvg-id="ZondaTV.ar",Zonda TV (432p) [Geo-blocked] https://cnnsanjuan.com:9999/zonda/zonda/playlist.m3u8 -#EXTINF:-1 tvg-id="AmericaTV.ar",America TV (480p) -http://190.2.212.209:8050/play/a0pb diff --git a/streams/at.m3u b/streams/at.m3u index 66765b114..0522ac59c 100644 --- a/streams/at.m3u +++ b/streams/at.m3u @@ -27,7 +27,7 @@ https://bitcdn-kronehit.bitmovin.com/v2/hls/playlist.m3u8 https://streaming13.huberwebmedia.at/LiveApp/streams/985585225397790082777809.m3u8 #EXTINF:-1 tvg-id="Okto.at",Okto TV (1080p) https://cdn3.wowza.com/1/MHFtazJReW5rOFhP/N2NWNDZ2/hls/live/playlist.m3u8 -#EXTINF:-1 tvg-id="ORF1HD.at" tvg-shift="-1",ORF 1 HD +#EXTINF:-1 tvg-id="ORF1HD.at" http-referrer="https://livestreamde.com/",ORF 1 HD #EXTVLCOPT:http-referrer=https://livestreamde.com/ https://strm.hdtvizlecanli.com/live/orf1.m3u8 #EXTINF:-1 tvg-id="ORF2.at",ORF 2 (720p) diff --git a/streams/aw.m3u b/streams/aw.m3u index 55d5f8217..1ad27f037 100644 --- a/streams/aw.m3u +++ b/streams/aw.m3u @@ -11,14 +11,14 @@ https://livertmptwo.com:19360/dushitvrelay/dushitvrelay.m3u8 https://live2.tensila.com/heart-v-1.heartar/hls/live/mystream.m3u8 #EXTINF:-1 tvg-id="Hit94FM.aw",Hit 94 FM (720p) https://565280.gvideo.io/cmaf/565280_2069313/master.m3u8 -#EXTINF:-1 tvg-id="NosIslaTV.aw" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",Nos Isla TV (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="NosIslaTV.aw" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",Nos Isla TV (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36 https://backend-server-dot-telearuba-app.appspot.com/media/livestream23/playlist.m3u8 #EXTINF:-1 tvg-id="NosIslaTV.aw",Nos Isla TV (1080p) [Not 24/7] https://cdn01.setar.aw/Canal23/canal23/playlist.m3u8 #EXTINF:-1 tvg-id="Power1017FM.aw",Power 101.7 FM (720p) https://vcp11.myplaytv.com/powerfm/powerfm/playlist.m3u8 -#EXTINF:-1 tvg-id="Telearuba.aw" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",Telearuba (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="Telearuba.aw" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",Telearuba (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36 https://backend-server-dot-telearuba-app.appspot.com/media/livestream13/playlist.m3u8 #EXTINF:-1 tvg-id="Telearuba.aw",Telearuba (1080p) [Not 24/7] diff --git a/streams/bg.m3u b/streams/bg.m3u index cf9431e42..0fef91b03 100644 --- a/streams/bg.m3u +++ b/streams/bg.m3u @@ -23,7 +23,7 @@ https://eurofolk.cdn.netbadgers.com/bg040/bg041/bg041.m3u8 https://live.ecomservice.bg/hls/stream.m3u8 #EXTINF:-1 tvg-id="HopeChannelBulgaria.bg",Hope Channel Bulgaria https://hc1.hopetv.bg/live/hopetv_all.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="Kanal0.bg",Kanal 0 +#EXTINF:-1 tvg-id="Kanal0.bg" http-referrer="rn-tv.com",Kanal 0 #EXTVLCOPT:http-referrer=rn-tv.com https://old2.rn-tv.com/k0/stream.m3u8 #EXTINF:-1 tvg-id="LightChannel.bg",Light Channel (480p) [Not 24/7] diff --git a/streams/bo.m3u b/streams/bo.m3u index d6f47faf8..c965184bc 100644 --- a/streams/bo.m3u +++ b/streams/bo.m3u @@ -127,14 +127,14 @@ http://tv.istbolivia.com:1935/tvshow/tvshow/playlist.m3u8 https://cdn.digital.com.bo/__cl/cg:sworigin2/__c/UNITEL/__op/hls-default/__f/index.m3u8 #EXTINF:-1 tvg-id="UnivalleTelevision.bo",Univalle Televisión (1080p) https://master.tucableip.com/univalletv/playlist.m3u8 -#EXTINF:-1 tvg-id="UniversidadMayordeSanAndres.bo" tvg-shift="-4",UniversidadMayordeSanAndres (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="UniversidadMayordeSanAndres.bo" http-referrer="https://tvu.umsa.bo/en-vivo",UniversidadMayordeSanAndres (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=https://tvu.umsa.bo/en-vivo https://s1.tvdatta.com:3557/live/tvulive.m3u8 #EXTINF:-1 tvg-id="UPPTV.bo",UPP TV/Bolivisión SCZ (720p) [Not 24/7] https://alba-bo-bolivision-upptv.stream.mediatiquestream.com/index.m3u8 #EXTINF:-1 tvg-id="VTVCanal17.bo",VTV Canal 17 (720p) [Not 24/7] https://solo.disfrutaenlared.com:1936/vtvcanal/vtvcanal/playlist.m3u8 -#EXTINF:-1 tvg-id="XTOTV.bo",XTOTV (1280p) [Not 24/7] +#EXTINF:-1 tvg-id="XTOTV.bo" http-referrer="https://www.sccbolivia.com/",XTOTV (1280p) [Not 24/7] #EXTVLCOPT:http-referrer=https://www.sccbolivia.com/ http://190.104.15.135/0.ts #EXTINF:-1 tvg-id="XTOTV.bo",XTOTV (404p) [Not 24/7] diff --git a/streams/br.m3u b/streams/br.m3u index 42334eace..a56c35599 100644 --- a/streams/br.m3u +++ b/streams/br.m3u @@ -7,7 +7,7 @@ https://cdn.jmvstream.com/w/LVW-9715/LVW9715_12B26T62tm/playlist.m3u8 http://45.162.230.234:1935/agrobrasiltv/agrobrasiltv/playlist.m3u8 #EXTINF:-1 tvg-id="AgroBrasilTV.br",AgroBrasil TV (720p) [Not 24/7] https://server.flixtv.com.br/agrobrasiltv/agrobrasiltv/playlist.m3u8 -#EXTINF:-1 tvg-id="AgroMais.br" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",Agromais (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="AgroMais.br" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",Agromais (1080p) [Geo-blocked] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://evpp.mm.uol.com.br/geob_band/agromais/playlist.m3u8 #EXTINF:-1 tvg-id="AishTV.br",Aish TV (360p) @@ -30,15 +30,15 @@ https://livefocamundo.com:8081/ascametv/index.m3u8 https://streaming.al.mt.gov.br/test/index.m3u8 #EXTINF:-1 tvg-id="TVAssembleiaPiaui.br",Assembleia Legislativa do Piauí (432p) https://59e4b6c1beddc.streamlock.net/ronaldoalepi/ronaldoalepi/playlist.m3u8 -#EXTINF:-1 tvg-id="Band.br" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",Band (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="Band.br" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",Band (1080p) [Geo-blocked] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://evpp.mm.uol.com.br/geob_band/app/playlist.m3u8 -#EXTINF:-1 tvg-id="Band.br" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",Band (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="Band.br" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",Band (1080p) [Geo-blocked] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://evpp.mm.uol.com.br/geob_band/band/playlist.m3u8 #EXTINF:-1 tvg-id="BandMinasGerais.br",Band Minas (720p) [Not 24/7] http://evpp.mm.uol.com.br:1935/bandpracas/debatemg/playlist.m3u8 -#EXTINF:-1 tvg-id="BandNews.br" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",Bandnews (720p) [Geo-blocked] +#EXTINF:-1 tvg-id="BandNews.br" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",Bandnews (720p) [Geo-blocked] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://evpp.mm.uol.com.br/geob_band/bandnewstv/playlist.m3u8 #EXTINF:-1 tvg-id="BemTV.br",Bem TV (720p) @@ -271,10 +271,10 @@ https://cdn.jmvstream.com/w/LVW-10801/LVW10801_Xvg4R0u57n/playlist.m3u8 https://streaming.portaltvparaense.com.br/hls/rtp.m3u8 #EXTINF:-1 tvg-id="RedeMassa.br",SBT Rede Massa (720p) [Not 24/7] https://cdn-cdn-iguacu.ciclano.io:1443/cdn-iguacu/cdn-iguacu/playlist.m3u8 -#EXTINF:-1 tvg-id="TVJornalCaruaru.br" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",SBT TV Jornal Caruaru (720p) [Not 24/7] +#EXTINF:-1 tvg-id="TVJornalCaruaru.br" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",SBT TV Jornal Caruaru (720p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://evpp.mm.uol.com.br/ne10/ne10-tvjornal-caruaru-video-web.sdp/playlist.m3u8 -#EXTINF:-1 tvg-id="TVJornaldoNordeste.br" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",SBT TV Jornal Recife (720p) [Not 24/7] +#EXTINF:-1 tvg-id="TVJornaldoNordeste.br" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",SBT TV Jornal Recife (720p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://evpp.mm.uol.com.br/ne10/ne10.smil/playlist.m3u8 #EXTINF:-1 tvg-id="SertaoTV.br",Sertão TV (720p) diff --git a/streams/ca.m3u b/streams/ca.m3u index d3c3a1057..6ffc5f6df 100644 --- a/streams/ca.m3u +++ b/streams/ca.m3u @@ -173,7 +173,7 @@ http://temp2.isilive.ca/live/nunavut/live-eng/index.m3u8 https://hls-cdn.tvstartup17.net/tvstartup17-channel/live/mp4:livingspringstvedge/playlist.m3u8 #EXTINF:-1 tvg-id="LoveNature4K.ca",Love Nature 4K (2160p) https://d18dyiwu97wm6q.cloudfront.net/playlist.m3u8 -#EXTINF:-1 tvg-id="CJILDT.ca",Miracle Channel +#EXTINF:-1 tvg-id="CJILDT.ca" http-referrer="https://www.miraclechannel.ca/",Miracle Channel #EXTVLCOPT:http-referrer=https://www.miraclechannel.ca/ https://d9ruw6nhj5a52.cloudfront.net/live/live/playlist.m3u8 #EXTINF:-1 tvg-id="MontrealGreekTV.ca",Montreal Greek TV (480p) @@ -240,7 +240,7 @@ http://live.tamilvision.tv:8081/TVI/HD/playlist.m3u8 http://live.tamilvision.tv:8081/TVI/SD/playlist.m3u8 #EXTINF:-1 tvg-id="TCFTV.ca",TCF TV http://66.11.33.44:8081/live/TCF/playlist.m3u8 -#EXTINF:-1 tvg-id="TeleCulturelleMedias.ca",Tele Culturelle Medias (1080p) +#EXTINF:-1 tvg-id="TeleCulturelleMedias.ca" http-referrer="https://player.castr.com/live_79b37a4032dd11ed85c9d9bece7b557e",Tele Culturelle Medias (1080p) #EXTVLCOPT:http-referrer=https://player.castr.com/live_79b37a4032dd11ed85c9d9bece7b557e https://stream.castr.com/631f9bb9ecbe28ce6910385a/live_79b37a4032dd11ed85c9d9bece7b557e/index.m3u8 #EXTINF:-1 tvg-id="CIVMDT.ca",Télé-Québec (720p) diff --git a/streams/cd.m3u b/streams/cd.m3u index 7423ba030..bd3913763 100644 --- a/streams/cd.m3u +++ b/streams/cd.m3u @@ -29,7 +29,7 @@ https://helga.iptv2022.com/EGG_PRO_TV/index.m3u8 https://helga.iptv2022.com/sh/Espoir_TV/index.m3u8 #EXTINF:-1 tvg-id="EVITV.cd",EVI TV (720p) https://stream.berosat.live:19360/evi-tv/evi-tv.m3u8 -#EXTINF:-1 tvg-id="FaceTv.cd",Face Tv (720p) +#EXTINF:-1 tvg-id="FaceTv.cd" http-referrer="https://player.castr.com/live_e691e400276e11ed9134c99c0b3a3c51",Face Tv (720p) #EXTVLCOPT:http-referrer=https://player.castr.com/live_e691e400276e11ed9134c99c0b3a3c51 https://stream.castr.com/630bd81fa9990f542884f80e/live_e691e400276e11ed9134c99c0b3a3c51/index.m3u8 #EXTINF:-1 tvg-id="GeopolisTV.cd",Géopolis TV (240p) @@ -46,7 +46,7 @@ https://tnt-television.com/LA_SENTINELLE/index.m3u8 https://tnt-television.com/LBFD_RTV/index.m3u8 #EXTINF:-1 tvg-id="MadiTV.cd",Madi TV (576p) https://tnt-television.com/MADI-TV/index.m3u8 -#EXTINF:-1 tvg-id="MandikoTV.cd",Mandiko TV (614p) [Not 24/7] +#EXTINF:-1 tvg-id="MandikoTV.cd" http-referrer="https://player.castr.com/live_b072ea703a7111edbfe74bb80437147b",Mandiko TV (614p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_b072ea703a7111edbfe74bb80437147b https://stream.castr.com/632c52e09206c19bee72a6d6/live_b072ea703a7111edbfe74bb80437147b/index.m3u8 #EXTINF:-1 tvg-id="MetanoiaTV.cd",Metanoia TV (720p) diff --git a/streams/cm.m3u b/streams/cm.m3u index e765c1293..230e34986 100644 --- a/streams/cm.m3u +++ b/streams/cm.m3u @@ -3,12 +3,12 @@ https://www.live.quantizedcreativity.com:5443/LiveApp/streams/ambazonia_is_independent_from_lrc.m3u8 #EXTINF:-1 tvg-id="AfricaPlusNews.cm",Africa+ News (480p) [Not 24/7] http://connectiktv.ddns.me:8080/live/61f1b992a6e8a-1/index.m3u8 -#EXTINF:-1 tvg-id="AfriqueMedia.cm",Afrique Média (480p) [Not 24/7] +#EXTINF:-1 tvg-id="AfriqueMedia.cm" http-referrer="https://odysee.com/",Afrique Média (480p) [Not 24/7] #EXTVLCOPT:http-referrer=https://odysee.com/ https://cloud.odysee.live/content/fe06b3cdc9412e359368b2455b6ea5e93856e382/master.m3u8 #EXTINF:-1 tvg-id="Afrobit.cm",Afrobit (480p) [Not 24/7] http://connectiktv.ddns.me:8080/live/61f2632aa8934-1/index.m3u8 -#EXTINF:-1 tvg-id="BalafonTV.cm",Balafon TV (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="BalafonTV.cm" http-referrer="https://odysee.com/",Balafon TV (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=https://odysee.com/ https://cloud.odysee.live/content/d174f640b38d9d2f3967fd5e1b47b58c58f911a1/master.m3u8 #EXTINF:-1 tvg-id="CanaldeVie.cm",Canal de Vie (360p) diff --git a/streams/cn.m3u b/streams/cn.m3u index 3f3a3fbc2..777206c12 100644 --- a/streams/cn.m3u +++ b/streams/cn.m3u @@ -1,6 +1,8 @@ #EXTM3U #EXTINF:-1 tvg-id="AndoTV.cn",Ando TV (576p) http://119.1.122.186:4022/rtp/238.255.2.189:5999 +#EXTINF:-1 tvg-id="AnimationShowChannel.cn",Animation Show Channel +http://180.213.174.225:9901/tsfile/live/1034_1.m3u8?authid=0&key=txiptv&playlive=1 #EXTINF:-1 tvg-id="",Beijing Traffic Radio TV [Geo-blocked] http://123.56.24.28:1935/live/fm1039/96K/tzwj_video.m3u8 #EXTINF:-1 tvg-id="",Beijing Youth Radio [Geo-blocked] @@ -97,12 +99,26 @@ https://amg00405-rakutentv-cgtn-rakuten-i9tar.amagi.tv/master.m3u8 https://amg00405-rakutentv-cgtndocumentary-rakuten-0ql8j.amagi.tv/master.m3u8 #EXTINF:-1 tvg-id="ChannelLaw.cn",Channel Law http://49.113.179.174:4022/udp/238.125.2.201:5140 +#EXTINF:-1 tvg-id="ChannelMax.cn",Channel Max +http://180.213.174.225:9901/tsfile/live/1037_1.m3u8?authid=0&key=txiptv&playlive=1 +#EXTINF:-1 tvg-id="ChannelTea.cn",Channel Tea +http://180.213.174.225:9901/tsfile/live/1041_1.m3u8?authid=0&key=txiptv&playlive=1 +#EXTINF:-1 tvg-id="CHCAction.cn",CHC Action +http://180.213.174.225:9901/tsfile/live/1027_1.m3u8?authid=0&key=txiptv&playlive=1 +#EXTINF:-1 tvg-id="CHCHomeTheater.cn",CHC Home Theater +http://180.213.174.225:9901/tsfile/live/1030_1.m3u8?authid=0&key=txiptv&playlive=1 #EXTINF:-1 tvg-id="CityTheaterChannel.cn",City Theater Channel http://49.113.179.174:4022/udp/238.125.1.60:5140 #EXTINF:-1 tvg-id="CNCWorldEnglish.cn",CNC中文 (720p) [Not 24/7] http://source07.v.news.cn/live/CNC_CN/playlist.m3u8 #EXTINF:-1 tvg-id="DocumentaryHumanitiesChannel.cn",Documentary Humanities Channel http://49.113.179.174:4022/udp/238.125.3.135:5140 +#EXTINF:-1 tvg-id="DOXSurround.cn",DOX Surround +http://180.213.174.225:9901/tsfile/live/1032_1.m3u8?authid=0&key=txiptv&playlive=1 +#EXTINF:-1 tvg-id="DOXYaqu.cn",DOX Yaqu +http://180.213.174.225:9901/tsfile/live/1033_1.m3u8?authid=0&key=txiptv&playlive=1 +#EXTINF:-1 tvg-id="DOXYijia.cn",DOX Yijia +http://180.213.174.225:9901/tsfile/live/1031_1.m3u8?authid=0&key=txiptv&playlive=1 #EXTINF:-1 tvg-id="DragonTVInternational.cn",Dragon TV International (360p) http://210.210.155.37/x6bnqe/s/s29/index.m3u8 #EXTINF:-1 tvg-id="EcologyEnvironmentTV.cn",Ecology & Environment TV @@ -190,6 +206,8 @@ http://222.80.13.33:4022/udp/238.125.3.175:5140 #EXTINF:-1 tvg-id="XinjiangTV3.cn",Xinjiang TV 3 http://49.113.179.174:4022/udp/238.125.7.147:5140 #EXTINF:-1 tvg-id="XinjiangTV3.cn",Xinjiang TV 3 +http://120.70.60.179:9901/tsfile/live/1006_1.m3u8?authid=0&key=txiptv&playlive=1 +#EXTINF:-1 tvg-id="XinjiangTV3.cn",Xinjiang TV 3 https://st-video.xjmty.com/fs/livedit/e55abfa37af26e19/8ce9971c2177b3dd.m3u8 #EXTINF:-1 tvg-id="XinjiangTV5.cn",Xinjiang TV 5 http://49.113.179.174:4022/udp/238.125.7.149:5140 @@ -201,6 +219,8 @@ http://106.124.91.222:9901/tsfile/live/21216_1.m3u8?authid=0&key=txiptv&playlive http://49.113.179.174:4022/udp/238.125.3.181:5140 #EXTINF:-1 tvg-id="XinjiangTV8.cn",Xinjiang TV 8 http://106.124.91.222:85/tsfile/live/21219_1.m3u8?authid=0&key=txiptv&playlive=1 +#EXTINF:-1 tvg-id="XinjiangTV8.cn",Xinjiang TV 8 +http://120.70.60.179:9901/tsfile/live/1002_1.m3u8?authid=0&key=txiptv&playlive=1 #EXTINF:-1 tvg-id="XinjiangTV9.cn",Xinjiang TV 9 http://49.113.179.174:4022/udp/238.125.7.153:5140 #EXTINF:-1 tvg-id="XinjiangTV9.cn",Xinjiang TV 9 @@ -1545,23 +1565,3 @@ http://yslk.chinashadt.com:1635/live/stream:di1.stream/playlist.m3u8 http://yslk.chinashadt.com:1635/live/stream:di2.stream/playlist.m3u8 #EXTINF:-1 tvg-id="",龙岩综合 (540p) http://stream.lytv.net.cn/2/sd/live.m3u8 -#EXTINF:-1 tvg-id="AnimationShowChannel.cn",Animation Show Channel -http://180.213.174.225:9901/tsfile/live/1034_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="ChannelTea.cn",Channel Tea -http://180.213.174.225:9901/tsfile/live/1041_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="ChannelMax.cn",Channel Max -http://180.213.174.225:9901/tsfile/live/1037_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="DOXSurround.cn",DOX Surround -http://180.213.174.225:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="DOXYaqu.cn",DOX Yaqu -http://180.213.174.225:9901/tsfile/live/1033_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="DOXYijia.cn",DOX Yijia -http://180.213.174.225:9901/tsfile/live/1031_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="CHCAction.cn",CHC Action -http://180.213.174.225:9901/tsfile/live/1027_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="CHCHomeTheater.cn",CHC Home Theater -http://180.213.174.225:9901/tsfile/live/1030_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="XinjiangTV8.cn",Xinjiang TV 8 -http://120.70.60.179:9901/tsfile/live/1002_1.m3u8?key=txiptv&playlive=1&authid=0 -#EXTINF:-1 tvg-id="XinjiangTV3.cn",Xinjiang TV 3 -http://120.70.60.179:9901/tsfile/live/1006_1.m3u8?key=txiptv&playlive=1&authid=0 diff --git a/streams/co.m3u b/streams/co.m3u index c0f4d9f9d..048ef1589 100644 --- a/streams/co.m3u +++ b/streams/co.m3u @@ -89,10 +89,10 @@ https://streaming.amelbasoluciones.co:19360/santamartalive/santamartalive.m3u8 https://stmv2.voxtvhd.com.br/telefamilia/telefamilia/playlist.m3u8 #EXTINF:-1 tvg-id="CanalTelePalmar.co",Canal TelePalmar (480p) [Not 24/7] https://play.amelbasoluciones.co:3976/live/telepalmartvlive.m3u8 -#EXTINF:-1 tvg-id="CanalTRO.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal TRO (1080p) +#EXTINF:-1 tvg-id="CanalTRO.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal TRO (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/canaltro2live/smil:live.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="CanalTROPlus.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal TRO Plus (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="CanalTROPlus.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal TRO Plus (1080p) [Geo-blocked] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/canaltro2live/smil:troplus.smil/playlist.m3u8 #EXTINF:-1 tvg-id="",Caracol Noticias Ahora (720p) @@ -131,7 +131,7 @@ https://video.ejeserver.com/live/cncsantander.m3u8 https://servers.amelbasoluciones.co:19360/cnctulualive/cnctulualive.m3u8 #EXTINF:-1 tvg-id="Cosmovision.co",Cosmovision (720p) https://videohls2.cosmovision.tv/hls/sd.m3u8 -#EXTINF:-1 tvg-id="Cristovision.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Cristovisión (480p) +#EXTINF:-1 tvg-id="Cristovision.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Cristovisión (480p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/cristovisiontvlive/smil:rtmp01.smil/playlist.m3u8 #EXTINF:-1 tvg-id="CTV.co",CTV Barranquilla (1080p) [Not 24/7] @@ -218,29 +218,29 @@ https://livetv.305streamhd.com:3111/live/suramtvlive.m3u8 https://tvlatina.live:1936/8018/8018/playlist.m3u8 #EXTINF:-1 tvg-id="TDIColombia.co",TDI Colombia (720p) [Not 24/7] https://streaming.amelbasoluciones.co:8081/tdicolombia/index.m3u8 -#EXTINF:-1 tvg-id="TeleAmiga.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tele Amiga (480p) [Not 24/7] +#EXTINF:-1 tvg-id="TeleAmiga.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tele Amiga (480p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/teleamigatvlive/smil:dvrlive.smil/playlist.m3u8 #EXTINF:-1 tvg-id="TeleSanJacinto.co",Tele San Jacinto (720p) https://movil.ejeserver.com/live/telesanjacinto.m3u8 #EXTINF:-1 tvg-id="TeleSanJacinto.co",Tele San Jacinto (720p) https://video.ejeserver.com/live/telesanjacinto.m3u8 -#EXTINF:-1 tvg-id="TeleVid.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tele Vid (1080p) +#EXTINF:-1 tvg-id="TeleVid.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tele Vid (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/televidtvlive/smil:dvrlive.smil/playlist.m3u8?DVR= -#EXTINF:-1 tvg-id="Teleantioquia.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Teleantioquia (360p) [Not 24/7] +#EXTINF:-1 tvg-id="Teleantioquia.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Teleantioquia (360p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/teleantioquialive/smil:dvrlive.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="Teleantioquia2.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Teleantioquia 2 (720p) +#EXTINF:-1 tvg-id="Teleantioquia2.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Teleantioquia 2 (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/teleantioquialive/smil:live.smil/playlist.m3u8?DVR= -#EXTINF:-1 tvg-id="Telecafe.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecafé (720p) +#EXTINF:-1 tvg-id="Telecafe.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecafé (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecafelive/smil:dvrlive.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="Telecaribe.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecaribe (720p) +#EXTINF:-1 tvg-id="Telecaribe.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecaribe (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecaribetvlive/smil:rtmp01.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="TelecaribePlus.co" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecaribe Plus (720p) +#EXTINF:-1 tvg-id="TelecaribePlus.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecaribe Plus (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecaribetvlive/smil:rtmp02.smil/playlist.m3u8 #EXTINF:-1 tvg-id="TeleCimitarra.co",TeleCimitarra (720p) @@ -293,7 +293,7 @@ https://video.ejeserver.com/live/veotv.m3u8 https://eu1.servers10.com:8081/vidanuevatv/index.m3u8 #EXTINF:-1 tvg-id="ViveTV.co",Vive TV Colombia (1080p) http://192.144.113.132:1935/live/ViveTV/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoom.co",Zoom (1080p) +#EXTINF:-1 tvg-id="Zoom.co" http-referrer="https://canalzoom.org/senal-en-vivo",Zoom (1080p) #EXTVLCOPT:http-referrer=https://canalzoom.org/senal-en-vivo https://canalzoom.smoothcloud.co:3027/live/canalzoombr1live.m3u8 #EXTINF:-1 tvg-id="CanalRCN.co",Canal RCN (480p) diff --git a/streams/cr.m3u b/streams/cr.m3u index f1cd47afd..d4b406e01 100644 --- a/streams/cr.m3u +++ b/streams/cr.m3u @@ -51,7 +51,7 @@ https://11554-1.b.cdn13.com/EJTV/smil:ejtv-hd.smil/playlist.m3u8 https://627bb251f23c7.streamlock.net:444/ExtremaTV/ExtremaTV/playlist.m3u8 #EXTINF:-1 tvg-id="FaroPuntarenasTV.cr",Faro Puntarenas TV (720p) [Not 24/7] https://rpn3.bozztv.com/ssh101/ssh101/faroptv/playlist.m3u8 -#EXTINF:-1 tvg-id="FUTV.cr",FUTV Costa Rica (720p) +#EXTINF:-1 tvg-id="FUTV.cr" http-referrer="https://www.futvcr.com/",FUTV Costa Rica (720p) #EXTVLCOPT:http-referrer=https://www.futvcr.com/ http://45.190.187.226:58092/play/a00q #EXTINF:-1 tvg-id="GarabitoTV.cr",Garabito TV (720p) @@ -122,7 +122,7 @@ https://video20.klm99.com:3558/hybrid/play.m3u8 https://59ef525c24caa.streamlock.net/ARBtv/ARBtv/playlist.m3u8 #EXTINF:-1 tvg-id="TeleSURCostaRica.cr",TeleSUR Costa Rica (720p) [Not 24/7] https://s1.tvdatta.com:3582/live/telesurlive.m3u8 -#EXTINF:-1 tvg-id="Teletica7.cr",Teletica 7 (720p) [Geo-blocked] +#EXTINF:-1 tvg-id="Teletica7.cr" http-referrer="https://bradmax.com/client/embed-player/c7c83ebb46fa89529a7383d933e2038729f8e4c9_13428?id=tv7&mediaUrl=https://cdn01.teletica.com/TeleticaLiveStream/Stream/playlist_dvr.m3u8&mediaUrl2=https://6zklxk9bdw9b-hls-live.5centscdn.com/TeleticaLiveStream/d072c3a8dde8622c607ecd258fd628e8.sdp/playlist_dvr.m3u8",Teletica 7 (720p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://bradmax.com/client/embed-player/c7c83ebb46fa89529a7383d933e2038729f8e4c9_13428?id=tv7&mediaUrl=https://cdn01.teletica.com/TeleticaLiveStream/Stream/playlist_dvr.m3u8&mediaUrl2=https://6zklxk9bdw9b-hls-live.5centscdn.com/TeleticaLiveStream/d072c3a8dde8622c607ecd258fd628e8.sdp/playlist_dvr.m3u8 https://cdn01.teletica.com/TeleticaLiveStream/Stream/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="TicaTVPlus.cr",Tica TV+ (288p) @@ -131,7 +131,7 @@ https://593b04c4c5670.streamlock.net/portalfoxmix/portalfoxmix/.m3u8 https://acceso.radiosportstv.online:3795/stream/play.m3u8 #EXTINF:-1 tvg-id="TreceCostaRicaTelevision.cr",Trece Costa Rica Televisión (720p) [Not 24/7] https://rpn3.bozztv.com/ssh101/ssh101/sinart13/playlist.m3u8 -#EXTINF:-1 tvg-id="Trivision36.cr" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Trivisión 36 (1080p) +#EXTINF:-1 tvg-id="Trivision36.cr" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Trivisión 36 (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/trivision36live/smil:dvrlive.smil/playlist.m3u8?DVR= #EXTINF:-1 tvg-id="TVCurre.cr",TV Curré (720p) [Not 24/7] diff --git a/streams/cu.m3u b/streams/cu.m3u index a5963e10c..d0b621cd1 100644 --- a/streams/cu.m3u +++ b/streams/cu.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="CubavisionInternacional.cu",Cubavisión Internacional (720p) +#EXTINF:-1 tvg-id="CubavisionInternacional.cu" http-referrer="https://teveo.cu/",Cubavisión Internacional (720p) #EXTVLCOPT:http-referrer=https://teveo.cu/ https://cdn.teveo.cu/live/video/A36pWmuWvZBQskuZ/ngrp:gppfydfzpSUn9Udy.stream/playlist.m3u8 #EXTINF:-1 tvg-id="PrensaLatinaTV.cu",Prensa Latina TV (1080p) diff --git a/streams/cy.m3u b/streams/cy.m3u index f65fa102d..b04edfe1f 100644 --- a/streams/cy.m3u +++ b/streams/cy.m3u @@ -5,7 +5,7 @@ https://sc-kuzeykibrissmarttv.ercdn.net/adatv/bant1/playlist.m3u8 https://dev.aftermind.xyz/edge-hls/unitrust/alfasports/index.m3u8?token=8TXWzhY3h6jrzqEqx #EXTINF:-1 tvg-id="AlfaSport.cy",Alfa Sport (1080p) [Not 24/7] https://dev.aftermind.xyz/hls/unitrust/alfasports/index.m3u8?token=8TXWzhY3h6jrzqEqx -#EXTINF:-1 tvg-id="AlphaTVCyprus.cy",Alpha TV Cyprus (720p) [Geo-blocked] +#EXTINF:-1 tvg-id="AlphaTVCyprus.cy" http-referrer="http://player.cloudskep.com/alphatmp/alphacy",Alpha TV Cyprus (720p) [Geo-blocked] #EXTVLCOPT:http-referrer=http://player.cloudskep.com/alphatmp/alphacy http://l4.cloudskep.com/alphatmp/acy/playlist.m3u8 #EXTINF:-1 tvg-id="ANT1Cyprus.cy",ANT1 Cyprus (1080p) diff --git a/streams/de.m3u b/streams/de.m3u index bf12a83a0..3a06ebe70 100644 --- a/streams/de.m3u +++ b/streams/de.m3u @@ -309,10 +309,10 @@ https://bttv-live-z.r53.cdn.tv1.eu/13014bundestag-hk3/_definst_/live/video/hk3_d https://bttv-live-z.r53.cdn.tv1.eu/13014bundestag-hk4/_definst_/live/video/hk4_de.smil/playlist.m3u8 #EXTINF:-1 tvg-id="phoenix.de",Phoenix (720p) [Geo-blocked] https://zdf-hls-19.akamaized.net/hls/live/2016502/de/high/master.m3u8 -#EXTINF:-1 tvg-id="ProSieben.de",ProSieben (576p) +#EXTINF:-1 tvg-id="ProSieben.de" http-referrer="http://85.187.13.40:18000/",ProSieben (576p) #EXTVLCOPT:http-referrer=http://85.187.13.40:18000/ http://85.187.13.40:18000/ProSieben -#EXTINF:-1 tvg-id="ProSieben.de",ProSieben (576p) +#EXTINF:-1 tvg-id="ProSieben.de" http-referrer="https://2ix2.com/pro7/",ProSieben (576p) #EXTVLCOPT:http-referrer=https://2ix2.com/pro7/ https://s6.hopslan.com/pro7x1/index.m3u8 #EXTINF:-1 tvg-id="PUNKTumFernsehen.de",PUNKTum Fernsehen (1080p) [Not 24/7] @@ -383,7 +383,7 @@ http://178.219.128.68:64888/RTL http://178.219.128.68:64888/SUPERTL #EXTINF:-1 tvg-id="RTLZwei.de",RTL Zwei (1080p) http://178.219.128.68:64888/RTL2 -#EXTINF:-1 tvg-id="RTLZwei.de",RTL Zwei (576p) +#EXTINF:-1 tvg-id="RTLZwei.de" http-referrer="https://www.2ix2.com/rtl2-live/",RTL Zwei (576p) #EXTVLCOPT:http-referrer=https://www.2ix2.com/rtl2-live/ https://s6.hopslan.com/rtl2x1/index.m3u8 #EXTINF:-1 tvg-id="SaarlandFernsehen1.de",Saarland Fernsehen 1 (1080p) @@ -418,7 +418,7 @@ https://bild-und-ton.stream/sophiatv-fr/smil:sophia-tv-fr.smil/playlist.m3u8 https://www.onairport.live/sophiatv-fr-live/smil:sophia-tv-fr.smil/playlist.m3u8 #EXTINF:-1 tvg-id="SophiaTV.it",Sophia TV Italy (720p) https://bild-und-ton.stream/sophiatv-it/smil:sophia-tv-it.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="SouvenirsfromEarthTV.de",Souvenirs from Earth TV +#EXTINF:-1 tvg-id="SouvenirsfromEarthTV.de" http-referrer="https://player.castr.com/live_f3bc1800279a11ec89f80341acd6773a",Souvenirs from Earth TV #EXTVLCOPT:http-referrer=https://player.castr.com/live_f3bc1800279a11ec89f80341acd6773a https://stream.castr.com/615c867def76d75817460129/live_f3bc1800279a11ec89f80341acd6773a/index.m3u8 #EXTINF:-1 tvg-id="SRFernsehen.de",SR Fernsehen (720p) @@ -427,7 +427,7 @@ https://srfs.akamaized.net/hls/live/689649/srfsgeo/index.m3u8 https://58de7a369a9c4.streamlock.net/srf/stream_720p/playlist.m3u8 #EXTINF:-1 tvg-id="Studio47.de",Studio 47 (576p) https://h057.video-stream-hosting.de/studio47-live/_definst_/mp4:livestream/playlist.m3u8 -#EXTINF:-1 tvg-id="SuperRTLHD.de" tvg-shift="1",Super RTL HD (720p) +#EXTINF:-1 tvg-id="SuperRTLHD.de" http-referrer="https://www.2ix2.com/super-rtl-live/",Super RTL HD (720p) #EXTVLCOPT:http-referrer=https://www.2ix2.com/super-rtl-live/ https://forsizero.github.io/iptv/m3u/superrtlhd.m3u #EXTINF:-1 tvg-id="SWR3VisualRadio.de",SWR 3 Visual Radio (720p) diff --git a/streams/do.m3u b/streams/do.m3u index 57bb7189d..66d2e8817 100644 --- a/streams/do.m3u +++ b/streams/do.m3u @@ -1,7 +1,7 @@ #EXTM3U #EXTINF:-1 tvg-id="002RadioTV.do",002 Radio TV (720p) https://cdn.002radio.com:3909/live/radio002live.m3u8 -#EXTINF:-1 tvg-id="AcentoTV.do",Acento TV +#EXTINF:-1 tvg-id="AcentoTV.do" http-referrer="https://acentotv01.streamprolive.com/i/cp/hls/player.html",Acento TV #EXTVLCOPT:http-referrer=https://acentotv01.streamprolive.com/i/cp/hls/player.html https://acentotv01.streamprolive.com/hls/live.m3u8 #EXTINF:-1 tvg-id="AcentoTV.do",Acento TV @@ -148,7 +148,7 @@ https://vdopanel.jlahozconsulting.com:3720/hybrid/play.m3u8 https://glb.bozztv.com/glb/ssh101/el70tv/index.m3u8 #EXTINF:-1 tvg-id="El75TV.do",El 75 (720p) https://television.essastream.com:3502/live/bebetotelevisionlive.m3u8 -#EXTINF:-1 tvg-id="ElNuevoDiarioTV.do",El Nuevo Diario TV (480p) +#EXTINF:-1 tvg-id="ElNuevoDiarioTV.do" http-referrer="https://nuevodiario01.streamprolive.com/i/cp/hls/player.html",El Nuevo Diario TV (480p) #EXTVLCOPT:http-referrer=https://nuevodiario01.streamprolive.com/i/cp/hls/player.html https://nuevodiario01.streamprolive.com/hls/live.m3u8 #EXTINF:-1 tvg-id="ElPuertoTV.do",El PuertoTV (720p) @@ -259,7 +259,7 @@ https://paz.sytes.net:5443/live/streams/misioneltv.m3u8 https://video.udwn.net:19360/miturnotv/miturnotv.m3u8 #EXTINF:-1 tvg-id="MiTV.do",MiTV (720p) [Not 24/7] https://ss2.domint.net:3204/mitv_str/mitv/playlist.m3u8 -#EXTINF:-1 tvg-id="MocaVisionCanal48.do",Moca Vision Canal 48 (720p) [Not 24/7] +#EXTINF:-1 tvg-id="MocaVisionCanal48.do" http-referrer="https://player.castr.com/live_980a76901c6211ef8b04b736160277af",Moca Vision Canal 48 (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_980a76901c6211ef8b04b736160277af https://stream.castr.com/5da89a909db964293ad13301/live_980a76901c6211ef8b04b736160277af/index.fmp4.m3u8 #EXTINF:-1 tvg-id="",Montecristi Digital TV @@ -424,10 +424,10 @@ http://server3.prostudionetwork.com:1945/teleunion/TU/playlist.m3u8 https://teleuniversotv.streamgato.us:3110/live/teleuniversotvlive.m3u8 #EXTINF:-1 tvg-id="Telever.do",Telever (1080p) [Not 24/7] https://vdo1.streamgato.us:3342/live/televercanal12live.m3u8 -#EXTINF:-1 tvg-id="",Televiaducto 3 (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" http-referrer="https://player.castr.com/live_76112a202cd411ef87bac55efba9cb2e",Televiaducto 3 (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_76112a202cd411ef87bac55efba9cb2e https://stream.castr.com/5da89a909db964293ad13301/live_76112a202cd411ef87bac55efba9cb2e/index.fmp4.m3u8 -#EXTINF:-1 tvg-id="",Televiaducto 14 (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" http-referrer="https://player.castr.com/live_569ad240b0b911efa498833d767149d5",Televiaducto 14 (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_569ad240b0b911efa498833d767149d5 https://stream.castr.com/5ec16b5935bd933ad25fdd37/live_569ad240b0b911efa498833d767149d5/index.fmp4.m3u8 #EXTINF:-1 tvg-id="Televida.do",Televida (720p) @@ -442,7 +442,7 @@ https://soportedvb.click:3608/live/tierravisionlive.m3u8 https://ss9.domint.net:3012/ttv_str/+tigueritotv/playlist.m3u8 #EXTINF:-1 tvg-id="",Tinmarin TV (720p) https://tv.tinmarintv.com:3986/live/tinmarintvlive.m3u8 -#EXTINF:-1 tvg-id="TNECanal58.do",TNE Canal 58 (720p) [Not 24/7] +#EXTINF:-1 tvg-id="TNECanal58.do" http-referrer="https://player.castr.com/live_786ad79075d011efa3790bffd883d562",TNE Canal 58 (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_786ad79075d011efa3790bffd883d562 https://stream.castr.com/5da89a909db964293ad13301/live_786ad79075d011efa3790bffd883d562/index.fmp4.m3u8 #EXTINF:-1 tvg-id="TNICanal51.do",TNI Canal51 (720p) [Not 24/7] diff --git a/streams/dz.m3u b/streams/dz.m3u index 1a93e5ab4..1c078064e 100644 --- a/streams/dz.m3u +++ b/streams/dz.m3u @@ -5,7 +5,7 @@ https://cdn.live.easybroadcast.io/abr_corp/66_al24_u4yga6h/playlist.m3u8 http://mkstream.servehttp.com:1940/AmouYazid/ay1/playlist.m3u8 #EXTINF:-1 tvg-id="CNA.dz",CNA (Chaîne Nord Africaine) (360p) [Not 24/7] https://live.creacast.com/cna/smil:cna.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="ElwataniaTV.dz",Elwatania TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="ElwataniaTV.dz" http-referrer="https://player.castr.com/live_1b36cfb0ba2411ee9700956e0f7084c8",Elwatania TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_1b36cfb0ba2411ee9700956e0f7084c8 https://stream.castr.com/62c18c3f14d09a0b7e5355a5/live_1b36cfb0ba2411ee9700956e0f7084c8/index.fmp4.m3u8 #EXTINF:-1 tvg-id="TV2.dz",TV2 (480p) diff --git a/streams/ec.m3u b/streams/ec.m3u index c198edabc..a9144a5a9 100644 --- a/streams/ec.m3u +++ b/streams/ec.m3u @@ -31,6 +31,8 @@ https://ecotel.streamseguro.com/hls/ecoteltv.m3u8 https://video.misistemareseller.com/ecuastereotv/ecuastereotv/playlist.m3u8 #EXTINF:-1 tvg-id="EcuadorTV.ec",Ecuador TV (720p) https://samson.streamerr.co:8081/shogun/index.m3u8 +#EXTINF:-1 tvg-id="EcuadorTV.ec",Ecuador TV (480p) +http://190.2.212.209:8050/play/a0pc #EXTINF:-1 tvg-id="EcuaMundoRadioTV.ec",EcuaMundo Radio TV (720p) https://pacific.direcnode.com:3353/live/ecuamundotvlive.m3u8 #EXTINF:-1 tvg-id="Ecuavisa.ec",Ecuavisa (1080p) [Not 24/7] @@ -67,7 +69,7 @@ https://srv.panelcast.net/latinamixtvtv2021/latinamixtvtv2021/playlist.m3u8 https://stmv1.voxplayer.com.br/vidieg12/vidieg12/playlist.m3u8 #EXTINF:-1 tvg-id="MajestadTelevision.ec",Majestad Televisión (720p) https://go.majestadtv.ec/hls/stream.m3u8 -#EXTINF:-1 tvg-id="MakroDigitalTelevision.ec",MakroDigital Television (1080p) +#EXTINF:-1 tvg-id="MakroDigitalTelevision.ec" http-referrer="https://makrodigitaltelevision.com",MakroDigital Television (1080p) #EXTVLCOPT:http-referrer=https://makrodigitaltelevision.com https://makrodigitaltv.makrodigital.com/makrodigitaltelevision/iptv/playlist.m3u8 #EXTINF:-1 tvg-id="Manavision.ec",Manavisión (480p) @@ -152,5 +154,3 @@ https://cloud37.ecuatel.com/vostv/live/manifest.m3u8 https://video2.makrodigital.com/wuanplus/wuanplus/playlist.m3u8 #EXTINF:-1 tvg-id="ZaracayTV.ec",Zaracay TV (1080p) [Not 24/7] https://video2.makrodigital.com/zaracay/zaracay/playlist.m3u8 -#EXTINF:-1 tvg-id="EcuadorTV.ec",Ecuador TV (480p) -http://190.2.212.209:8050/play/a0pc diff --git a/streams/es.m3u b/streams/es.m3u index 683002043..7e4634b21 100644 --- a/streams/es.m3u +++ b/streams/es.m3u @@ -11,17 +11,17 @@ https://streaming005.gestec-video.com/hls/canal24.m3u8 http://185.189.225.150:85/8madrid/index.m3u8 #EXTINF:-1 tvg-id="9laLomaTV.es",9 la Loma TV (1080p) https://9laloma.tv/live.m3u8 -#EXTINF:-1 tvg-id="12tv.es",12tv +#EXTINF:-1 tvg-id="12tv.es" http-referrer="https://www.12tv.es/",12tv #EXTVLCOPT:http-referrer=https://www.12tv.es/ https://cloud.streamingconnect.tv/hls/12tv/12tv2.m3u8 -#EXTINF:-1 tvg-id="12tv.es",12TV Alicante (720p) +#EXTINF:-1 tvg-id="12tv.es" http-referrer="https://player.streamingconnect.com/",12TV Alicante (720p) #EXTVLCOPT:http-referrer=https://player.streamingconnect.com/ https://cloud.fastchannel.es/mic/manifiest/hls/12tv/12tv.m3u8 #EXTINF:-1 tvg-id="24HorasInternacional.es",24 Horas Internacional [Geo-blocked] https://rtvelivestream.akamaized.net/rtvesec/24h/24h_main_dvr.m3u8 #EXTINF:-1 tvg-id="28kanala.es",28 kanala (720p) [Not 24/7] https://5940924978228.streamlock.net/8157/8157/master.m3u8 -#EXTINF:-1 tvg-id="101tvAntequera.es",101tv Antequera +#EXTINF:-1 tvg-id="101tvAntequera.es" http-referrer="https://www.101tv.es/antequera/",101tv Antequera #EXTVLCOPT:http-referrer=https://www.101tv.es/antequera/ https://www.streaming101tv.es:19360/antequera/antequera.m3u8 #EXTINF:-1 tvg-id="101tvAxarquia.es",101tv Axarquia (480p) @@ -60,7 +60,7 @@ https://cartv.streaming.aranova.es/hls/live/aragontv_canal1.m3u8 http://185.189.225.150:85/BabyTV/index.m3u8 #EXTINF:-1 tvg-id="BailenTV.es",Bailén TV (720p) [Not 24/7] http://cpd.bailen.tv:8080/Playlist_CANAL_24H/playlist.m3u8 -#EXTINF:-1 tvg-id="BDN.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",BDNCOM (1080p) +#EXTINF:-1 tvg-id="BDN.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",BDNCOM (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/badalonatvlive/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Beteve.es",Betevé (1080p) @@ -127,7 +127,7 @@ https://5d8d85cf2c308.streamlock.net:1936/CanalLuz/enDirecto/playlist.m3u8 https://canalmalaga-tv-live.flumotion.com/playlist.m3u8 #EXTINF:-1 tvg-id="CanalParlamento.es",Canal Parlamento (360p) [Not 24/7] https://congresodirecto.akamaized.net/hls/live/2037973/canalparlamento/master.m3u8 -#EXTINF:-1 tvg-id="CanalReusTV.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Reus TV (720p) +#EXTINF:-1 tvg-id="CanalReusTV.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Reus TV (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/canalreustvlive/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="CanalSanRoque.es",Canal San Roque (1080p) [Not 24/7] @@ -138,19 +138,19 @@ https://s.emisoras.tv:8081/sierradecadiz/index.m3u8 https://cdnlive.codev8.net/rtvalive/smil:channel1.smil/playlist.m3u8 #EXTINF:-1 tvg-id="CanalSur2.es",Canal Sur Andalucía 2 (720p) https://cdnlive.codev8.net/rtvalive/smil:channel22.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="CanalTaronjaAnoia.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Taronja Anoia (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="CanalTaronjaAnoia.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Taronja Anoia (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest1-video.streaming-pro.com/canaltaronja/anoia/playlist.m3u8 -#EXTINF:-1 tvg-id="CanalTaronjaComarquesCentrals.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Taronja Comarques Centrals (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="CanalTaronjaComarquesCentrals.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Taronja Comarques Centrals (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest1-video.streaming-pro.com/canaltaronja/central/playlist.m3u8 -#EXTINF:-1 tvg-id="CanalTaronjaOsonaiMoianes.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Taronja Osona i Moianés (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="CanalTaronjaOsonaiMoianes.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Taronja Osona i Moianés (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest1-video.streaming-pro.com/canaltaronja/osona/playlist.m3u8 -#EXTINF:-1 tvg-id="CanalTerrassa.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Terrassa (1080p) +#EXTINF:-1 tvg-id="CanalTerrassa.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Terrassa (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest2-video.streaming-pro.com/canalterrassa/stream/playlist.m3u8 -#EXTINF:-1 tvg-id="CanalTerresdelEbre.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Terres de L'Ebre (1080p) +#EXTINF:-1 tvg-id="CanalTerresdelEbre.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal Terres de L'Ebre (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest1-video.streaming-pro.com/canalteABR/ctestream/playlist.m3u8 #EXTINF:-1 tvg-id="CanalCosta.es",CanalCosta (1080p) @@ -205,7 +205,7 @@ https://limited11.todostreaming.es/live/benalmadena-livestream.m3u8 https://cristianos2.todostreaming.es/live/malaga-livestream.m3u8 #EXTINF:-1 tvg-id="Cuatro.es",Cuatro (1080p) http://185.189.225.150:85/CuatroHD/index.m3u8 -#EXTINF:-1 tvg-id="CugatTV.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Cugat TV (1080p) +#EXTINF:-1 tvg-id="CugatTV.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Cugat TV (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/cugatcatlive/smil:rtmp01.smil/playlist.m3u8 #EXTINF:-1 tvg-id="DiezTVLasVillas.es",Diez TV Las Villas (1080p) @@ -216,7 +216,7 @@ https://streaming.cloud.innovasur.es/mmj/index.m3u8 https://nlb2-live.emitstream.com/hls/3mn7wpcv7hbmxmdzaxap/master.m3u8 #EXTINF:-1 tvg-id="DurangaldekoTelebista.es",Durangaldeko Telebista (576p) https://nlb2-live.emitstream.com/hls/5f9asjsehd7gmyxsdpzu/master.m3u8 -#EXTINF:-1 tvg-id="El9TV.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",El 9 TV (1080p) +#EXTINF:-1 tvg-id="El9TV.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",El 9 TV (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/9tvlive/smil:live.smil/playlist.m3u8?DVR= #EXTINF:-1 tvg-id="El33SX3.es",El 33 SX3 (1080p) [Geo-blocked] @@ -243,7 +243,7 @@ https://directes-tv-es.3catdirectes.cat/live-origin/esport3-hls/master.m3u8 http://synclosdragos1.syncsolutions.es:8008/live3/emision/index.m3u8 #EXTINF:-1 tvg-id="EsteponaTelevision.es",Estepona Televisión (720p) https://cloudvideo.servers10.com:8081/8022/index.m3u8 -#EXTINF:-1 tvg-id="EsTuTele.es",EsTuTele (720p) +#EXTINF:-1 tvg-id="EsTuTele.es" http-referrer="https://player.streamingconnect.com/",EsTuTele (720p) #EXTVLCOPT:http-referrer=https://player.streamingconnect.com/ https://cloud.streamingconnect.tv/hls/estutele/estutele.m3u8 #EXTINF:-1 tvg-id="ETB1.es",ETB 1 (720p) @@ -252,7 +252,7 @@ https://multimedia.eitb.eus/live-content/etb1hd-hls/master.m3u8 https://multimedia.eitb.eus/live-content/etb2hd-hls/master.m3u8 #EXTINF:-1 tvg-id="ETBBasque.es",ETB Basque (480p) https://multimedia.eitb.eus/live-content/eitbbasque-hls/master.m3u8 -#EXTINF:-1 tvg-id="etv.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",ETV Terramar (1080p) +#EXTINF:-1 tvg-id="etv.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",ETV Terramar (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/tvetvlive/smil:rtmp01.smil/playlist.m3u8 #EXTINF:-1 tvg-id="EurolatinaTV.es",Eurolatina TV (720p) [Not 24/7] @@ -335,7 +335,7 @@ https://urbanrevolution.es:8443/live/TV/playlist.m3u8 https://5c0956165db0b.streamlock.net:8090/directo/_definst_/lancelot.television/master.m3u8 #EXTINF:-1 tvg-id="LaOtra.es",LaOtra (720p) https://laotra-1-23-secure2.akamaized.net/master.m3u8 -#EXTINF:-1 tvg-id="LleidaTelevisio.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Lleida Televisió (1080p) +#EXTINF:-1 tvg-id="LleidaTelevisio.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Lleida Televisió (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/lleidatvlive/smil:live.smil/playlist.m3u8?DVR= #EXTINF:-1 tvg-id="LogosTV.es",Logos TV (1080p) [Not 24/7] @@ -352,7 +352,7 @@ https://limited2.todostreaming.es/live/m95-livestream.m3u8 https://stream.maestrat.tv/hls/stream.m3u8 #EXTINF:-1 tvg-id="MarTV.es",Mar TV (1080p) http://iptv.services.everywan.net:8080/martv-web/video.m3u8 -#EXTINF:-1 tvg-id="MataroTelevisio.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Mataró Televisió (1080p) +#EXTINF:-1 tvg-id="MataroTelevisio.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Mataró Televisió (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/m1tvlive/smil:live.smil/playlist.m3u8?DVR= #EXTINF:-1 tvg-id="Mega.es",Mega (Spain) (576p) @@ -379,7 +379,7 @@ http://amaru.dyndns.org:8870/0.m3u8 http://185.189.225.150:85/nova/index.m3u8 #EXTINF:-1 tvg-id="OizmendiTelebista.es",Oizmendi Telebista (404p) [Not 24/7] https://5940924978228.streamlock.net/8161/8161/master.m3u8 -#EXTINF:-1 tvg-id="OlotTV.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Olot TV (1080p) +#EXTINF:-1 tvg-id="OlotTV.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Olot TV (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/olottvlive/smil:live.smil/playlist.m3u8?DVR= #EXTINF:-1 tvg-id="Onda15TV.es",Onda 15 TV (224p) @@ -398,7 +398,7 @@ http://185.189.225.150:85/Paramount/index.m3u8 http://193.147.254.64:1935/realizacion1/realizacion1/playlist.m3u8 #EXTINF:-1 tvg-id="ParlamentodeNavarra.es",Parlamento de Navarra (368p) [Not 24/7] https://broadcasting.parlamentodenavarra.es/live/canal1/master.m3u8 -#EXTINF:-1 tvg-id="PenedesTelevisio.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Penedès Televisió (1080p) +#EXTINF:-1 tvg-id="PenedesTelevisio.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Penedès Televisió (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/rtvvilafrancalive/smil:live.smil/playlist.m3u8?DVR= #EXTINF:-1 tvg-id="Pequeradio.es",Pequeradio (720p) [Not 24/7] @@ -415,7 +415,7 @@ https://limited12.todostreaming.es/live/ptvcantabria-livestream.m3u8 http://5940924978228.streamlock.net:1935/8009/8009/playlist.m3u8 #EXTINF:-1 tvg-id="PopularTVMelilla.es",Popular TV Melilla (1080p) [Not 24/7] https://5940924978228.streamlock.net/8009/8009/master.m3u8 -#EXTINF:-1 tvg-id="PopularTVMurcia.es",Popular TV Murcia (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="PopularTVMurcia.es" http-referrer="https://player.streamingconnect.com/",Popular TV Murcia (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.streamingconnect.com/ https://cloud.fastchannel.es/mic/manifiest/populartvrm.m3u8 #EXTINF:-1 tvg-id="PTVAlmeria.es",PTV Almería (1080p) @@ -450,17 +450,17 @@ https://rmtv.akamaized.net/hls/live/2043153/rmtv-es-web/master.m3u8 https://common01.todostreaming.es/live/ribera-livestream.m3u8 #EXTINF:-1 tvg-id="TVR.es",Rioja Televisión (360p) [Not 24/7] https://5924d3ad0efcf.streamlock.net/riojatv/riojatvlive/playlist.m3u8 -#EXTINF:-1 tvg-id="RTVElVendrell.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",RTV El Vendrell (1080p) +#EXTINF:-1 tvg-id="RTVElVendrell.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",RTV El Vendrell (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/tvvendrelllive/smil:live.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTVManilva.es",RTV Manilva (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="RTVManilva.es" http-referrer="https://player.castr.com/live_e2ae1780dc2a11eca660b7b17b7952a5",RTV Manilva (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_e2ae1780dc2a11eca660b7b17b7952a5 https://stream.castr.com/627a72d21914543be01c1720/live_e2ae1780dc2a11eca660b7b17b7952a5/index.m3u8 #EXTINF:-1 tvg-id="RadioTelevisionMarbella.es",RTV Marbella (720p) https://streaming.rtvmarbella.tv/hls/streamingweb.m3u8 #EXTINF:-1 tvg-id="RTVVida.es",RTV Vida (1080p) https://vidartv2.todostreaming.es/live/radiovida-emisiontvhd.m3u8 -#EXTINF:-1 tvg-id="RTVCCardedeu.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",RTVC Cardedeu (1080p) +#EXTINF:-1 tvg-id="RTVCCardedeu.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",RTVC Cardedeu (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/cardedeutvlive/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="RadioTelevisionCeuta.es",RTVCE (1080p) @@ -481,7 +481,7 @@ https://cloudvideo.servers10.com:8081/stztelebista/index.m3u8 https://directes-tv-cat.3catdirectes.cat/live-origin/super3-hls/master.m3u8 #EXTINF:-1 tvg-id="SX3.es",SX3 (1080p) [Geo-blocked] https://directes-tv-es.3catdirectes.cat/live-origin/super3-hls/master.m3u8 -#EXTINF:-1 tvg-id="Tac12.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tac12 (720p) +#EXTINF:-1 tvg-id="Tac12.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tac12 (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest1-video.streaming-pro.com/nimble/tac12/playlist.m3u8 #EXTINF:-1 tvg-id="Taroteame.es",Tarotéame (576p) @@ -492,14 +492,14 @@ https://stream.andalhost.com/hls/tarotvision.m3u8 https://edge.xn--tbnespaa-j3a.es/LiveApp/streams/tbnlive.m3u8 #EXTINF:-1 tvg-id="TEF.es",TEF (540p) https://5940924978228.streamlock.net/EIVISSA_2/EIVISSA_2/playlist.m3u8 -#EXTINF:-1 tvg-id="Tele7.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tele 7 (720p) +#EXTINF:-1 tvg-id="Tele7.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tele 7 (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest2-video.streaming-pro.com/tele7_ABR/stream/playlist.m3u8 #EXTINF:-1 tvg-id="TeleElx.es",Tele Elx (1080p) https://tvdirecto.teleelx.es/stream/teleelx.m3u8 #EXTINF:-1 tvg-id="TeleSafor.es",Tele Safor (720p) [Not 24/7] https://video.telesafor.com/hls/video.m3u8 -#EXTINF:-1 tvg-id="TeleBilbao.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TeleBilbao (384p) +#EXTINF:-1 tvg-id="TeleBilbao.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TeleBilbao (384p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://tbilbo.dyndns.org/hls/stream.m3u8 #EXTINF:-1 tvg-id="Telecinco.es",Telecinco (720p) @@ -520,7 +520,7 @@ https://5940924978228.streamlock.net/8431/8431/playlist.m3u8 https://5d8d85cf2c308.streamlock.net:1936/Teleonuba/endirecto/playlist.m3u8 #EXTINF:-1 tvg-id="TeleRibera.es",TeleRibera (720p) [Not 24/7] https://video1.lhdserver.es/teleribera/live.m3u8 -#EXTINF:-1 tvg-id="TeleVigo.es",TeleVigo (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="TeleVigo.es" http-referrer="http://www.televigo.com",TeleVigo (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=http://www.televigo.com https://cloud.fastchannel.es/mic/manifiest/hls/televigo/televigo.m3u8 #EXTINF:-1 tvg-id="TelevisionAranda.es",Televisión Aranda (720p) @@ -551,10 +551,10 @@ https://limited09.todostreaming.es/live/tarson-livestream.m3u8 https://live.fullsport.es/hls/tvalmassora.m3u8 #EXTINF:-1 tvg-id="TVA.es",TV Artequatre (576p) https://streaming007.gestec-video.com/hls/artequatreTVA.m3u8 -#EXTINF:-1 tvg-id="TVBergueda.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Berguedà (1080p) +#EXTINF:-1 tvg-id="TVBergueda.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Berguedà (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/berguedatvlive/smil:migracion.smil/playlist.m3u8?DVR= -#EXTINF:-1 tvg-id="TVCostaBrava.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Costa Brava (1080p) +#EXTINF:-1 tvg-id="TVCostaBrava.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Costa Brava (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/costabravatvlive/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="",Tv Famypanc HD (1080p) @@ -565,13 +565,13 @@ https://directo.tvferrol.es/tv.m3u8 http://ventdelnord.tv:8080/girona/directe.m3u8 #EXTINF:-1 tvg-id="TVHellin.es",TV Hellín (720p) https://hellin-hls-live.flumotion.com/playlist.m3u8 -#EXTINF:-1 tvg-id="TVLHospitalet.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV L'Hospitalet (1080p) +#EXTINF:-1 tvg-id="TVLHospitalet.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV L'Hospitalet (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/tvhospitaletlive/smil:tvhospitalet.smil/playlist.m3u8?DVR= -#EXTINF:-1 tvg-id="TVRipolles.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Ripollès (1080p) +#EXTINF:-1 tvg-id="TVRipolles.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Ripollès (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/tvripolleslive/smil:live.smil/playlist.m3u8?DVR= -#EXTINF:-1 tvg-id="TVSabadellValles.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Sabadell-Vallès (1080p) +#EXTINF:-1 tvg-id="TVSabadellValles.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Sabadell-Vallès (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest1-video.streaming-pro.com/canaltaronja/sabadell/playlist.m3u8 #EXTINF:-1 tvg-id="TelevisiondeSanVicente.es",TV San Vicente (1080p) @@ -628,7 +628,7 @@ https://streamingtvi.gestec-video.com/hls/unesd.m3u8 https://cloud2.streaminglivehd.com:1936/universfaller/universfaller/playlist.m3u8 #EXTINF:-1 tvg-id="UrolaTelebista.es",Urola Telebista (416p) https://5940924978228.streamlock.net/j_Directo2/mp4:j_Directo2/playlist.m3u8 -#EXTINF:-1 tvg-id="VallesVisio.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Vallès Visió (1080p) +#EXTINF:-1 tvg-id="VallesVisio.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Vallès Visió (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta318.cdnmedia.tv/vallesvisiotvlive/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="VentdelnordTV.es",Ventdelnord TV (404p) @@ -643,7 +643,7 @@ https://secure3.todostreaming.es/live/visionseis-livestream.m3u8 http://185.36.211.142:8080/tmp_hls/viva/index.m3u8 #EXTINF:-1 tvg-id="Vivamovil.es",Vivamóvil (720p) https://5d8d85cf2c308.streamlock.net:1936/AlcalaTV/endirecto/playlist.m3u8 -#EXTINF:-1 tvg-id="VOTV.es" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",VOTV (1080p) +#EXTINF:-1 tvg-id="VOTV.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",VOTV (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://ingest2-video.streaming-pro.com/votv/streaming_web/playlist.m3u8 #EXTINF:-1 tvg-id="XPTV1.es",XPTV1 (720p) @@ -652,7 +652,7 @@ https://janus.xpbroadcasting.com:8443/hls/xptv1.m3u8 https://janus.xpbroadcasting.com:8443/hls/xptv2.m3u8 #EXTINF:-1 tvg-id="XPTVUS.es",XPTV US (720p) https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8 -#EXTINF:-1 tvg-id="ZafraTV.es",Zafra TV (1080p) +#EXTINF:-1 tvg-id="ZafraTV.es" http-referrer="https://player.streamingconnect.com/",Zafra TV (1080p) #EXTVLCOPT:http-referrer=https://player.streamingconnect.com/ https://cloud.fastchannel.es/mic/manifiest/hls/radiotvzafra/radiotvzafra.m3u8 #EXTINF:-1 tvg-id="RakutenViki.es",Rakuten Viki (1080p) diff --git a/streams/fi.m3u b/streams/fi.m3u index 6ee4b1f66..6c6138b9b 100644 --- a/streams/fi.m3u +++ b/streams/fi.m3u @@ -1,6 +1,8 @@ #EXTM3U #EXTINF:-1 tvg-id="Eveo.fi",Eveo (720p) https://live-fi.tvkaista.net/tapahtumatv-eveo/live.m3u8?hd=true +#EXTINF:-1 tvg-id="Hero.fi",Hero (720p) +https://live-fi.tvkaista.net/hero/live.m3u8?hd=true #EXTINF:-1 tvg-id="HimlenTV7.fi",Himlen TV7 (720p) https://vod.tv7.fi/tv7-se/smil:tv7-se.smil/playlist.m3u8 #EXTINF:-1 tvg-id="IRRTV.fi",IRR-TV (576p) [Not 24/7] @@ -13,7 +15,7 @@ https://streamer.radiotaajuus.fi/memfs/47f113bf-04ea-493b-a9d4-52945fd9db31.m3u8 https://kotitv.digitacdn.net/amlst:kotitv.amlst/playlist.m3u8 #EXTINF:-1 tvg-id="Liv.fi",Liv (720p) https://live-fi.tvkaista.net/liv/live.m3u8?hd=true -#EXTINF:-1 tvg-id="MTV3.fi",MTV3 (576p) +#EXTINF:-1 tvg-id="MTV3.fi" http-referrer="http://195.222.7.17:8002/",MTV3 (576p) #EXTVLCOPT:http-referrer=http://195.222.7.17:8002/ http://195.222.7.17:8002/ch352 #EXTINF:-1 tvg-id="MTVUutiset.fi",MTV Uutiset (720p) diff --git a/streams/fr_bfm.m3u b/streams/fr_bfm.m3u index 8c742c068..3d250bf38 100644 --- a/streams/fr_bfm.m3u +++ b/streams/fr_bfm.m3u @@ -1,53 +1,53 @@ #EXTM3U -#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM 2 (1080p) +#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM 2 (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM2/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMAlsace.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Alsace (1080p) +#EXTINF:-1 tvg-id="BFMAlsace.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Alsace (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_ALSACE/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMBusiness.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Business (1080p) +#EXTINF:-1 tvg-id="BFMBusiness.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Business (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_BUSINESS/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMDICIAlpesduSud.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM DICI Alpes du Sud (1080p) +#EXTINF:-1 tvg-id="BFMDICIAlpesduSud.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM DICI Alpes du Sud (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_DICI_ALPESDUSUD/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMDICIHauteProvence.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM DICI Haute-Provence (1080p) +#EXTINF:-1 tvg-id="BFMDICIHauteProvence.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM DICI Haute-Provence (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_DICI_HAUTEPROVENCE/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMGrandLille.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Grand Lille (1080p) +#EXTINF:-1 tvg-id="BFMGrandLille.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Grand Lille (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFMGRANDLILLE/index.m3u8?end=END&start=LIVE #EXTINF:-1 tvg-id="BFMGrandLille.fr",BFM Grand Lille (720p) https://live.creacast.com/grandlilletv/smil:grandlilletv.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="BFMGrandLittoral.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Grand Littoral (1080p) +#EXTINF:-1 tvg-id="BFMGrandLittoral.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Grand Littoral (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFMGRANDLITTORAL/index.m3u8?end=END&start=LIVE #EXTINF:-1 tvg-id="BFMGrandLittoral.fr",BFM Grand Littoral (720p) https://live.creacast.com/grandlittoral/smil:grandlittoral.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Grands Reportages (1080p) +#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Grands Reportages (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_GRANDSREPORTAGES/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMLyon.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Lyon (1080p) +#EXTINF:-1 tvg-id="BFMLyon.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Lyon (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_LYON/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMMarseille.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Marseille (1080p) +#EXTINF:-1 tvg-id="BFMMarseille.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Marseille (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_MARSEILLEPROV/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMCotedAzur.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Nice Côte d'Azur (1080p) +#EXTINF:-1 tvg-id="BFMCotedAzur.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Nice Côte d'Azur (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_NICECOTEDAZUR/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMNormandie.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Normandie (1080p) +#EXTINF:-1 tvg-id="BFMNormandie.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Normandie (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_NORMANDIE/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMParisIledeFrance.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Paris Île-de-France (1080p) +#EXTINF:-1 tvg-id="BFMParisIledeFrance.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Paris Île-de-France (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_PARIS/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMTechCo.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Tech & Co (1080p) +#EXTINF:-1 tvg-id="BFMTechCo.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Tech & Co (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_TECHANDCO/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMVar.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Toulon Var (1080p) +#EXTINF:-1 tvg-id="BFMVar.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM Toulon Var (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_TOULONVAR/index.m3u8?end=END&start=LIVE -#EXTINF:-1 tvg-id="BFMTV.fr" user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM TV (1080p) +#EXTINF:-1 tvg-id="BFMTV.fr" http-user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",BFM TV (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 https://ncdn-live-bfm.pfd.sfr.net/shls/LIVE$BFM_TV/index.m3u8?end=END&start=LIVE diff --git a/streams/gn.m3u b/streams/gn.m3u index f085349fd..6c2acd0e9 100644 --- a/streams/gn.m3u +++ b/streams/gn.m3u @@ -17,10 +17,10 @@ https://helga.iptv2022.com/GTV/index.m3u8 https://guineetvdirect.online:3842/live/kabacktvlive.m3u8 #EXTINF:-1 tvg-id="KalacTV.gn",Kalac TV (1080p) https://edge.vedge.infomaniak.com/livecast/ik:kalactv/manifest.m3u8 -#EXTINF:-1 tvg-id="RTG1.gn",RTG 1 (240p) [Not 24/7] +#EXTINF:-1 tvg-id="RTG1.gn" http-referrer="https://player.castr.com/live_e05d20809c3611edadb72177341481c3",RTG 1 (240p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_e05d20809c3611edadb72177341481c3 https://stream.castr.com/6358a30fa50e3ae11b6d0424/live_e05d20809c3611edadb72177341481c3/index.m3u8 -#EXTINF:-1 tvg-id="RTG2.gn",RTG 2 (240p) [Not 24/7] +#EXTINF:-1 tvg-id="RTG2.gn" http-referrer="https://player.castr.com/live_cbde16509c3611ed91f289dac03ffaaf",RTG 2 (240p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_cbde16509c3611ed91f289dac03ffaaf https://stream.castr.com/6358a30fa50e3ae11b6d0424/live_cbde16509c3611ed91f289dac03ffaaf/index.m3u8 #EXTINF:-1 tvg-id="SabTV.gn",Sab TV (720p) diff --git a/streams/gr.m3u b/streams/gr.m3u index 8f2bfa41c..c896f6278 100644 --- a/streams/gr.m3u +++ b/streams/gr.m3u @@ -127,7 +127,7 @@ http://web.onair-radio.eu:1935/groovytv/groovytv/playlist.m3u8 https://l5.cloudskep.com/hellenictv/htv/playlist.m3u8 #EXTINF:-1 tvg-id="HighTV.gr",High TV (720p) [Not 24/7] http://live.streams.ovh:1935/hightv/hightv/playlist.m3u8 -#EXTINF:-1 tvg-id="IoanninaTV.gr",Ioannina TV (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="IoanninaTV.gr" http-referrer="https://nick.gr/itv/",Ioannina TV (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=https://nick.gr/itv/ https://raw.githubusercontent.com/iptvnikolas/Nikki-TVM3U8/main/ioanninatv.m3u8 #EXTINF:-1 tvg-id="IonianTV.gr",Ionian Channel (1080p) [Not 24/7] @@ -220,7 +220,7 @@ http://livestar.siliconweb.com/starvod/star4/star4.m3u8 https://livestar.siliconweb.com/starvod/star_int/star_int.m3u8 #EXTINF:-1 tvg-id="StarKentrikisElladas.gr",Star Kentrikis Elladas (1080p) https://telmacosa.s.llnwi.net/starcgr/default/index.m3u8 -#EXTINF:-1 tvg-id="StarKentrikisElladas.gr",Star Kentrikis Elladas (720p) [Not 24/7] +#EXTINF:-1 tvg-id="StarKentrikisElladas.gr" http-referrer="https://player.castr.com",Star Kentrikis Elladas (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com https://stream.castr.com/651d8d36a57bf232bc830464/live_01fd9e80636111eebd0da35d4eac7f71/index.m3u8 #EXTINF:-1 tvg-id="StartTV.gr",Start TV (480p) diff --git a/streams/hn.m3u b/streams/hn.m3u index 3e432baac..5c59af196 100644 --- a/streams/hn.m3u +++ b/streams/hn.m3u @@ -135,7 +135,7 @@ https://cloud2.streaminglivehd.com:1936/8004/8004/playlist.m3u8 https://cloud2.streaminglivehd.com:1936/8032/8032/playlist.m3u8 #EXTINF:-1 tvg-id="TVCopan.hn",TV Copán (720p) [Not 24/7] https://s.emisoras.tv:8081/tvcopan/index.m3u8 -#EXTINF:-1 tvg-id="TVEstrella.hn",TV Estrella (720p) +#EXTINF:-1 tvg-id="TVEstrella.hn" http-referrer="https://player.castr.com/live_ab3fd7a07fff11eea3d485758bf6a333",TV Estrella (720p) #EXTVLCOPT:http-referrer=https://player.castr.com/live_ab3fd7a07fff11eea3d485758bf6a333 https://stream.castr.com/6540085553d46d4f7a2ec2e5/live_ab3fd7a07fff11eea3d485758bf6a333/index.fmp4.m3u8 #EXTINF:-1 tvg-id="TVMASHD.hn",TV MÁS HD (720p) diff --git a/streams/in.m3u b/streams/in.m3u index b0cea6085..5abd81d3c 100644 --- a/streams/in.m3u +++ b/streams/in.m3u @@ -19,7 +19,7 @@ https://aajtaklive-amd.akamaized.net/hls/live/2014416/aajtak/aajtaklive/live_404 https://lmil.live-s.cdn.bitgravity.com/cdn-live/_definst_/lmil/live/aajtak_app.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Aastha.in",Aastha (480p) https://aasthaott.akamaized.net/110923/smil:aasthatv.smil/chunklist_b1328000.m3u8 -#EXTINF:-1 tvg-id="AasthaBhajan.in",Aastha Bhajan (480p) +#EXTINF:-1 tvg-id="AasthaBhajan.in" http-referrer="Aasthatv.in",Aastha Bhajan (480p) #EXTVLCOPT:http-referrer=Aasthatv.in https://aasthaott.akamaized.net/110923/smil:bhajan.smil/chunklist_b264000.m3u8 #EXTINF:-1 tvg-id="AathavanTV.uk",Aathavan TV (720p) [Not 24/7] @@ -322,7 +322,7 @@ https://932y4x26ljv8-hls-live.5centscdn.com/victers/tv.stream/playlist.m3u8 http://59c3ec70cfde0.streamlock.net/channel_6/channel6/playlist.m3u8 #EXTINF:-1 tvg-id="LivingIndiaNews.in",Living India News (360p) https://livelegitpro.in/hls14/livingindia/index.m3u8 -#EXTINF:-1 tvg-id="LokSabhaTV.in",Lok Sabha TV (1080p) +#EXTINF:-1 tvg-id="LokSabhaTV.in" http-referrer="https://webcast.gov.in/",Lok Sabha TV (1080p) #EXTVLCOPT:http-referrer=https://webcast.gov.in/ https://playhls.media.nic.in/hls/live/lstv/lstv.m3u8 #EXTINF:-1 tvg-id="MSignMedia.in",M Sign Media (720p) [Not 24/7] @@ -523,14 +523,14 @@ https://6284rn2xr7xv-hls-live.wmncdn.net/shubhsandeshtv1/live123.stream/index.m3 https://yupplivefragcp3.yuppcdn.net/260423/smil:songdew.smil/index.m3u8 #EXTINF:-1 tvg-id="SonyKALHindi.us",Sony Kal (1080p) https://spt-sonykal-1-us.lg.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="SonySportsTen5.in" user-agent="stream",Sony Six HD (1080p) +#EXTINF:-1 tvg-id="SonySportsTen5.in" http-user-agent="stream",Sony Six HD (1080p) #EXTVLCOPT:http-user-agent=stream http://103.81.104.118/hls/stream10.m3u8 #EXTINF:-1 tvg-id="SooriyanTV.ca",Sooriyan TV https://cdn.jwplayer.com/videos/1m0nMXhZ-3SDdwqdV.m3u8 #EXTINF:-1 tvg-id="",Star Family (576p) [Not 24/7] http://c0.cdn.trinity-tv.net/stream/zfmjgma9zn46fa797ez9fgkw7msh9mj4tppspg23gey6mmx5fqiy7ky3jqx4uhgsfsrd8r76si8ykb2anw9442g4qkq5fzpdvwdqf5te24ixu9zrx3aesm9fzt59q5y2s8qwgbqhvf6d3z5bjy3qb2t4.m3u8 -#EXTINF:-1 tvg-id="StarGold.in" user-agent="stream",Star Gold HD (1080p) +#EXTINF:-1 tvg-id="StarGold.in" http-user-agent="stream",Star Gold HD (1080p) #EXTVLCOPT:http-user-agent=stream http://103.81.104.118/hls/stream19.m3u8 #EXTINF:-1 tvg-id="Starnet.in",Starnet (480p) @@ -621,7 +621,7 @@ https://5b48d7e1b4bce.streamlock.net/myapp/vtvlive/playlist.m3u8 https://cdn.smartstream.video/smartstream-us/vtvlive/vtvlive/playlist.m3u8 #EXTINF:-1 tvg-id="VyasChannel.in",Vyas NIC (576p) https://playhls.media.nic.in/hls/live/vyas/vyas.m3u8 -#EXTINF:-1 tvg-id="VyasChannel.in",Vyas NIC (480p) +#EXTINF:-1 tvg-id="VyasChannel.in" http-referrer="https://webcast.gov.in/",Vyas NIC (480p) #EXTVLCOPT:http-referrer=https://webcast.gov.in/ https://hls.media.nic.in/hls/live/vyas/vyas.m3u8 #EXTINF:-1 tvg-id="WeOneKerala.in",We One Kerala (720p) [Geo-blocked] diff --git a/streams/iq.m3u b/streams/iq.m3u index 6efb5a9b5..474e93d4c 100644 --- a/streams/iq.m3u +++ b/streams/iq.m3u @@ -23,7 +23,7 @@ https://cdn.catiacast.video/abr/78054972db7708422595bc96c6e024ac/playlist.m3u8 http://63b03f7689049.streamlock.net:1935/live/18/playlist.m3u8 #EXTINF:-1 tvg-id="AlNujabaTV.iq",Al Nujaba http://63b03f7689049.streamlock.net:1935/live/3/playlist.m3u8 -#EXTINF:-1 tvg-id="AlRabiaaTV.iq",Al Rabiaa TV (1080p) +#EXTINF:-1 tvg-id="AlRabiaaTV.iq" http-referrer="https://player.castr.com/live_c6c4040053cd11ee95b47153d2861736",Al Rabiaa TV (1080p) #EXTVLCOPT:http-referrer=https://player.castr.com/live_c6c4040053cd11ee95b47153d2861736 https://stream.castr.com/65045e4aba85cfe0025e4a60/live_c6c4040053cd11ee95b47153d2861736/index.fmp4.m3u8 #EXTINF:-1 tvg-id="AlRafidainTV.tr",Al Rafidain (720p) [Not 24/7] @@ -32,7 +32,7 @@ https://arrafidain.tvplayer.online/arrafidaintv/source2/playlist.m3u8 https://arrafidain.tvplayer.online/arrafidaintv/source/playlist.m3u8 #EXTINF:-1 tvg-id="AlRasheedTV.iq",Al Rasheed TV (1080p) [Not 24/7] https://media1.livaat.com/static/AL-RASHEED-HD/playlist.m3u8 -#EXTINF:-1 tvg-id="AlAimmaTV.iq",Al-Aimma TV (1080p) +#EXTINF:-1 tvg-id="AlAimmaTV.iq" http-referrer="https://alaimma.tv",Al-Aimma TV (1080p) #EXTVLCOPT:http-referrer=https://alaimma.tv http://stream.alaimma.tv/hls/alaimma/h3b1rd584cpq8p60okoj01rnfigdcnia.m3u8 #EXTINF:-1 tvg-id="AlJawadainTV.iq",Al-Jawadain TV (1080p) [Not 24/7] @@ -49,13 +49,13 @@ https://63b03f7689049.streamlock.net/live/1tv/playlist.m3u8 http://95.216.180.111:1935/live/10/playlist.m3u8 #EXTINF:-1 tvg-id="",Alqanat9 TV (1080p) https://cdn.bestream.io:19360/alqanat9/alqanat9.m3u8 -#EXTINF:-1 tvg-id="Alquran.iq" tvg-shift="0",Alquran (1080p) +#EXTINF:-1 tvg-id="Alquran.iq",Alquran (1080p) https://ktvlive.online/stream/hls/ch1.m3u8 #EXTINF:-1 tvg-id="",Althaqalayn TV http://63b03f7689049.streamlock.net:1935/live/16/playlist.m3u8 #EXTINF:-1 tvg-id="",Althaqalayn TV http://77.36.160.164:1935/live4/thaghalayn/playlist.m3u8 -#EXTINF:-1 tvg-id="AnwarTV2.iq",Anwar TV2 (720p) +#EXTINF:-1 tvg-id="AnwarTV2.iq" http-referrer="https://odysee.com/",Anwar TV2 (720p) #EXTVLCOPT:http-referrer=https://odysee.com/ https://cloud.odysee.live/content/f92670235a1ce2bce4cf77671cc4dcc2188baa1d/master.m3u8 #EXTINF:-1 tvg-id="AnwarTV2.iq",Anwar TV2 (288p) diff --git a/streams/it.m3u b/streams/it.m3u index 5de26eb77..0c6302a2a 100644 --- a/streams/it.m3u +++ b/streams/it.m3u @@ -247,7 +247,7 @@ https://iptv.peer.biz/live/peertv-it.m3u8 https://iptv.peer.biz/live/peertv-en.m3u8 #EXTINF:-1 tvg-id="PeerTVSudtirol.it",Peer TV Südtirol (1080p) https://iptv.peer.biz/live/peertv.m3u8 -#EXTINF:-1 tvg-id="PlutoTVTopGear.it",Pluto TV Top Gear +#EXTINF:-1 tvg-id="PlutoTVTopGear.it" http-referrer="https://pluto.tv/it/live-tv/64c109a4798def0008a6e03e",Pluto TV Top Gear #EXTVLCOPT:http-referrer=https://pluto.tv/it/live-tv/64c109a4798def0008a6e03e https://stitcher-ipv4.pluto.tv/v1/stitch/embed/hls/channel/64c109a4798def0008a6e03e/master.m3u8?advertisingId={PSID}&appVersion=unknown&deviceDNT={TARGETOPT}&deviceId={PSID}&deviceLat=0&deviceLon=0&deviceMake=samsung&deviceModel=samsung&deviceType=samsung-tvplus&deviceVersion=unknown&embedPartner=samsung-tvplus&profileFloor=&profileLimit=&samsung_app_domain={APP_DOMAIN}&samsung_app_name={APP_NAME}&us_privacy=1YNY #EXTINF:-1 tvg-id="",POP Television (720p) diff --git a/streams/jm.m3u b/streams/jm.m3u index 17aea4a50..cafdbec4f 100644 --- a/streams/jm.m3u +++ b/streams/jm.m3u @@ -5,7 +5,7 @@ https://5a1178b42cc03.streamlock.net/CGTV2024/CGTV2024/playlist.m3u8 https://rjr-fame.akamaized.net/hls/live/2033820/RJR_FAME/master.m3u8 #EXTINF:-1 tvg-id="JamaicaOnlineTV.jm",Jamaica Online TV (1080p) [Not 24/7] https://tvsw7-hls.secdn.net/tvsw7-chorigin/play/prod-bb11dd0e11ca45229a3f58aeff5213d8/playlist.m3u8 -#EXTINF:-1 tvg-id="JamaicaTravelChannel.jm",Jamaica Travel Channel (720p) +#EXTINF:-1 tvg-id="JamaicaTravelChannel.jm" http-referrer="https://player.castr.com/live_2e935360c78c11eea7a2615e1a7388f3",Jamaica Travel Channel (720p) #EXTVLCOPT:http-referrer=https://player.castr.com/live_2e935360c78c11eea7a2615e1a7388f3 https://stream.castr.com/651b2d8bde8119abf5dabf19/live_2e935360c78c11eea7a2615e1a7388f3/index.fmp4.m3u8 #EXTINF:-1 tvg-id="MercyandTruthMinistriesTelevision.jm",MTM TV (720p) diff --git a/streams/jo.m3u b/streams/jo.m3u index 4d3a7412d..ddc9d74b5 100644 --- a/streams/jo.m3u +++ b/streams/jo.m3u @@ -11,6 +11,8 @@ https://ghaasiflu.online/alhqeqa/index.m3u8 https://194788.global.ssl.fastly.net/63c63697632705047ffda2da/live_d33349a0962a11ed907dd9e556777b63/rewind-14400.m3u8 #EXTINF:-1 tvg-id="AmmanTV.jo",Amman TV (720p) https://ammantv-live.ercdn.net/ammantvhd/ammantvhd.m3u8 +#EXTINF:-1 tvg-id="AmmanTV.jo",Amman TV (720p) +https://htvnksdtmy.erbvr.com/ammantvhd/ammantvhd.m3u8 #EXTINF:-1 tvg-id="JawharaFM.jo",Jawhara FM (720p) [Not 24/7] http://streaming.toutech.net:1935/live/mp4:jawharafm.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="JordanArchive.jo",Jordan Archive (1080p) @@ -51,7 +53,5 @@ https://playlist.fasttvcdn.com/pl/ptllxjd03j6g9oxxjdfapg/roya-kids-originals/pla https://playlist.fasttvcdn.com/pl/toa2uuhhygheuly7xtuqrg/roya-kitchen/playlist.m3u8 #EXTINF:-1 tvg-id="RoyaTV.jo",Roya TV (1080p) [Not 24/7] https://royatv-live.daioncdn.net/royatv/royatv.m3u8 -#EXTINF:-1 tvg-id="AmmanTV.jo",Amman TV (720p) -https://htvnksdtmy.erbvr.com/ammantvhd/ammantvhd.m3u8 #EXTINF:-1 tvg-id="RoyaTV.jo",Roya TV (720p) https://weyyak-live.akamaized.net/weyyak_roya/index.m3u8 diff --git a/streams/jp.m3u b/streams/jp.m3u index 888500bae..33e9a1736 100644 --- a/streams/jp.m3u +++ b/streams/jp.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="CGNTVJapan.jp",CGNTV Japan (1080p) +#EXTINF:-1 tvg-id="CGNTVJapan.jp" http-referrer="http://japan.cgntv.net/HD_player_jp.html",CGNTV Japan (1080p) #EXTVLCOPT:http-referrer=http://japan.cgntv.net/HD_player_jp.html https://d2p4mrcwl6ly4.cloudfront.net/out/v1/8d50f69fdbbf411a8d302743e4263716/CGNWebLiveJP.m3u8 #EXTINF:-1 tvg-id="CGNTVJapan.jp",CGNTV Japan (720p) @@ -28,6 +28,8 @@ https://cdn.nhkworld.jp/www11/nhkworld-tv/bmcc-live/es/playlist.m3u8 https://cdn.nhkworld.jp/www11/nhkworld-tv/pre/hlscomp.m3u8 #EXTINF:-1 tvg-id="NHKWorldPremium.jp",NHK World Premium (480p) https://cdn.skygo.mn/live/disk1/NHK_World_Premium/HLSv3-FTA/NHK_World_Premium.m3u8 +#EXTINF:-1 tvg-id="NHKWorldJapan.jp",NHK World-Japan (720p) +https://master.nhkworld.jp/nhkworld-tv/playlist/live.m3u8 #EXTINF:-1 tvg-id="JOAXDTV.jp",Nippon TV (540p) [Not 24/7] https://ntv4.mov3.co/hls/ntv.m3u8 #EXTINF:-1 tvg-id="NTVNEWS24.jp",NTV News24 (480p) @@ -40,5 +42,3 @@ https://cdn-live1.qvc.jp/iPhone/1501/1501.m3u8 https://stream3.shopch.jp/HLS/master.m3u8 #EXTINF:-1 tvg-id="Weathernews.jp",Weathernews (720p) https://weather-live-hls01e.akamaized.net/ade36978-4ad3-48de-91ab-7d6edd0b6388/11ed8ed8ca.ism/manifest(format=m3u8-aapl-v3,audio-only=false).m3u8 -#EXTINF:-1 tvg-id="NHKWorldJapan.jp",NHK World-Japan (720p) -https://master.nhkworld.jp/nhkworld-tv/playlist/live.m3u8 diff --git a/streams/kh.m3u b/streams/kh.m3u index 7fc5edaf1..b51923378 100644 --- a/streams/kh.m3u +++ b/streams/kh.m3u @@ -17,7 +17,7 @@ https://streaming.freshnewsasia.com/live/ngrp:myStream_all/playlist.m3u8 http://clive.malisresidences.com:1935/hm_hdtv/_definst_/smil:HMHDTV.smil/playlist.m3u8 #EXTINF:-1 tvg-id="iTVHD.kh",iTV HD http://43.252.18.195:5080/live/streams/itv.khmeretv.m3u8 -#EXTINF:-1 tvg-id="MSJTV.kh",MSJ TV (1080p) +#EXTINF:-1 tvg-id="MSJTV.kh" http-referrer="https://www.iptvservice.site/",MSJ TV (1080p) #EXTVLCOPT:http-referrer=https://www.iptvservice.site/ https://live-ali7.tv360.metfone.com.kh/live/myStream/playlist.m3u8 #EXTINF:-1 tvg-id="MSJTV.kh",MSJ TV (720p) diff --git a/streams/kp.m3u b/streams/kp.m3u index 2624670ed..09c5cdeee 100644 --- a/streams/kp.m3u +++ b/streams/kp.m3u @@ -1,6 +1,6 @@ #EXTM3U #EXTINF:-1 tvg-id="KoreanCentralTelevision.kp",Korean Central Television (576p) https://tv.nknews.org/tvhls/stream.m3u8 -#EXTINF:-1 tvg-id="KoreanCentralTelevision.kp" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.4044.138 Safari/537.36",Korean Central Television (KCTV) (576p) +#EXTINF:-1 tvg-id="KoreanCentralTelevision.kp" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.4044.138 Safari/537.36",Korean Central Television (KCTV) (576p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.4044.138 Safari/537.36 https://tv.nknews.org/tvdash/stream.mpd diff --git a/streams/kr.m3u b/streams/kr.m3u index f697b3bfe..288b7037b 100644 --- a/streams/kr.m3u +++ b/streams/kr.m3u @@ -207,10 +207,10 @@ https://live.shoppingntmall.com/live/10011.m3u8 https://606d65214d80f.streamlock.net/live-stb/_definst_/113988c056b574662480f93ea08de94888b475fb32f740d2449552e043298002/playlist.m3u8 #EXTINF:-1 tvg-id="TBSTV.kr",TBS Seoul (720p) https://cdntv.tbs.seoul.kr/tbs/tbs_tv_web.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="TVChosun.kr",TV Chosun (720p) +#EXTINF:-1 tvg-id="TVChosun.kr" http-referrer="http://broadcast.tvchosun.com/onair/on.cstv",TV Chosun (720p) #EXTVLCOPT:http-referrer=http://broadcast.tvchosun.com/onair/on.cstv http://onair.cdn.tvchosun.com/origin1/_definst_/tvchosun_s1/playlist.m3u8 -#EXTINF:-1 tvg-id="TVChosun2.kr",TV Chosun 2 (720p) +#EXTINF:-1 tvg-id="TVChosun2.kr" http-referrer="http://broadcast.tvchosun.com/onair/on2.cstv",TV Chosun 2 (720p) #EXTVLCOPT:http-referrer=http://broadcast.tvchosun.com/onair/on2.cstv http://onair2.cdn.tvchosun.com/origin2/_definst_/tvchosun_s3/playlist.m3u8 #EXTINF:-1 tvg-id="tvN.kr",tvN Asia (Indonesian Subtitle) (576p) diff --git a/streams/kz.m3u b/streams/kz.m3u index 5f3440b8f..9c58de14a 100644 --- a/streams/kz.m3u +++ b/streams/kz.m3u @@ -23,6 +23,8 @@ https://stream.kaztrk.kz/regional/pavlodartv/index.m3u8 https://stream.kaztrk.kz/regional/taraztv/index.m3u8 #EXTINF:-1 tvg-id="JibekJoly.kz",Jibek Joly (1080p) https://stream.qazcdn.net/jjtv/jjtv/playlist.m3u8 +#EXTINF:-1 tvg-id="Khabar.kz",Khabar +http://120.70.60.179:9901/tsfile/live/1000_1.m3u8?authid=0&key=txiptv&playlive=0 #EXTINF:-1 tvg-id="Kokshe.kz",Kókshe (720p) [Not 24/7] https://stream.kaztrk.kz/regional/kokshetautv/index.m3u8 #EXTINF:-1 tvg-id="",Manas TV (1080p) @@ -61,5 +63,3 @@ https://tvcdn01.oktv.kz/tv/mtrk/playlist.m3u8 http://serv25.vintera.tv:8081/novoetv/nov_tv/playlist.m3u8 #EXTINF:-1 tvg-id="ChannelOneEurasia.kz",Первый канал Евразия (720p) https://1tvkz-stream.daitsuna.net/1tvkz/1tvkz/playlist.m3u8 -#EXTINF:-1 tvg-id="Khabar.kz",Khabar -http://120.70.60.179:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0 diff --git a/streams/la.m3u b/streams/la.m3u index 381e9c76b..89565ac6b 100644 --- a/streams/la.m3u +++ b/streams/la.m3u @@ -11,6 +11,8 @@ https://livefta.malimarcdn.com/ftaedge00/ichannel.sdp/playlist.m3u8 https://livefta.malimarcdn.com/ftaedge00/lookthoongtv.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="LSTV.la",LS TV (480p) https://livefta.malimarcdn.com/ftaedge00/laostv.sdp/playlist.m3u8 +#EXTINF:-1 tvg-id="MVLaoTV.la",MV Lao TV +https://edge2a.v2h-cdn.com/mvlao/mvlao.stream/playlist.m3u8 #EXTINF:-1 tvg-id="MVLaoTV.la",MV Lao TV [Geo-blocked] https://n-edge-1-th.v2h-cdn.com/mvlao/mvlao/playlist.m3u8 #EXTINF:-1 tvg-id="MVLaoTV.la",MV Lao TV (720p) @@ -21,5 +23,3 @@ https://livefta.malimarcdn.com/ftaedge00/nat.sdp/playlist.m3u8 https://livefta.malimarcdn.com/ftaedge00/ohmuanglao.stream/playlist.m3u8 #EXTINF:-1 tvg-id="VatiLao.la",Vati Lao TV (720p) https://livefta.malimarcdn.com/ftaedge00/vatilaotv.stream/playlist.m3u8 -#EXTINF:-1 tvg-id="MVLaoTV.la",MV Lao TV -https://edge2a.v2h-cdn.com/mvlao/mvlao.stream/playlist.m3u8 diff --git a/streams/lb.m3u b/streams/lb.m3u index 056a0b058..8fedf4421 100644 --- a/streams/lb.m3u +++ b/streams/lb.m3u @@ -33,7 +33,7 @@ https://5dc7d824154d0.streamlock.net/live/Nabaa/playlist.m3u8 https://655ca86f46b1f.streamlock.net/live/Nabaa/playlist.m3u8 #EXTINF:-1 tvg-id="NBN.lb",NBN (1080p) http://5.9.119.146:8883/nbn/index.m3u8 -#EXTINF:-1 tvg-id="NBN.lb",NBN (720p) +#EXTINF:-1 tvg-id="NBN.lb" http-referrer="https://odysee.com",NBN (720p) #EXTVLCOPT:http-referrer=https://odysee.com https://cloud.odysee.live/content/1d8edd84bd42e695555dbf20d83b45e203ed9ed0/master.m3u8 #EXTINF:-1 tvg-id="NourAlKoddass.lb",Nour Al Koddas (406p) [Not 24/7] @@ -50,6 +50,8 @@ https://svs.itworkscdn.net/nour4satlive/livestream/playlist.m3u8 https://svs.itworkscdn.net/noursatenglive/noursateng.smil/playlist.m3u8 #EXTINF:-1 tvg-id="OneTV.lb",One TV (720p) https://hms.pfs.gdn/v1/broadcast/one/playlist.m3u8 +#EXTINF:-1 tvg-id="OneFM.lb",OneFM (720p) [Not 24/7] +https://hms.pfs.gdn/v1/broadcast/onefm/playlist.m3u8 #EXTINF:-1 tvg-id="SensesTV.lb",Senses TV (1080p) https://sensestv.com:4433/hls/sensesonline/index.m3u8 #EXTINF:-1 tvg-id="SPILebanon.lb",SPI LEBANON @@ -60,5 +62,3 @@ https://suborotv.hibridcdn.net/suborotv/suborotv_abr/playlist.m3u8 https://cdn.catiacast.video/abr/ed8f807e2548db4507d2a6f4ba0c4a06/playlist.m3u8 #EXTINF:-1 tvg-id="VoiceofLebanon.lb",Voice of Lebanon (1080p) https://svs.itworkscdn.net/vdltvlive/vdltv.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="OneFM.lb",OneFM (720p) [Not 24/7] -https://hms.pfs.gdn/v1/broadcast/onefm/playlist.m3u8 diff --git a/streams/lv.m3u b/streams/lv.m3u index fe8680fb3..7a3d2d8e5 100644 --- a/streams/lv.m3u +++ b/streams/lv.m3u @@ -11,17 +11,17 @@ https://5a44e5b800a41.streamlock.net/liveVLR2/mp4:LR2/playlist.m3u8 https://5a44e5b800a41.streamlock.net/liveVLR3/mp4:Klasika/playlist.m3u8 #EXTINF:-1 tvg-id="LatvijasSlagerkanals.lv",Latvijas Šlāgerkanāls (720p) https://stream.onlive-media.com/live/streams/smk.m3u8 -#EXTINF:-1 tvg-id="LTV1.lv",LTV1 (1080p) +#EXTINF:-1 tvg-id="LTV1.lv" http-referrer="http://89.254.128.5:22280/",LTV1 (1080p) #EXTVLCOPT:http-referrer=http://89.254.128.5:22280/ http://89.254.128.5:22280/ltv1_hd/index.m3u8 -#EXTINF:-1 tvg-id="MovifyKino.lv",Movify Kino (576p) +#EXTINF:-1 tvg-id="MovifyKino.lv" http-referrer="https://void.greenhosting.ru/",Movify Kino (576p) #EXTVLCOPT:http-referrer=https://void.greenhosting.ru/ https://void.greenhosting.ru/MovifyKino_Mpeg4/index.m3u8 #EXTINF:-1 tvg-id="Multimania.lv",Multimania (Latvia) (576p) https://void.greenhosting.ru/Multimania_Mpeg4/index.m3u8 #EXTINF:-1 tvg-id="MuzikasVideoKanals.lv",Mūzikas Video Kanāls (720p) https://stream.onlive-media.com/live/streams/mvk.m3u8 -#EXTINF:-1 tvg-id="Pingviins.lv",Pingvīns (576p) [Geo-blocked] +#EXTINF:-1 tvg-id="Pingviins.lv" http-referrer="https://void.greenhosting.ru/",Pingvīns (576p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://void.greenhosting.ru/ https://void.greenhosting.ru/PingvinsLV_Mpeg4/video.m3u8 #EXTINF:-1 tvg-id="ReTV.lv",Re TV (1080p) @@ -34,6 +34,6 @@ https://player.tvnet.lv/stream/amlst:61659/playlist.m3u8 https://straume.vdtv.lv/vdtv2/index.m3u8 #EXTINF:-1 tvg-id="Pingviins.lv",Пингвин https://sirius.greenhosting.ru/PingvinRu/video.m3u8 -#EXTINF:-1 tvg-id="Gribuvisuzinat.lv",Хочу всё знать (576p) +#EXTINF:-1 tvg-id="Gribuvisuzinat.lv" http-referrer="https://void.greenhosting.ru/",Хочу всё знать (576p) #EXTVLCOPT:http-referrer=https://void.greenhosting.ru/ https://void.greenhosting.ru/HochuVjeZnat_Mpeg4/index.m3u8 diff --git a/streams/ly.m3u b/streams/ly.m3u index a39749205..fbbd4d76c 100644 --- a/streams/ly.m3u +++ b/streams/ly.m3u @@ -3,7 +3,7 @@ https://starmenajo.com/hls/almasar/index.m3u8 #EXTINF:-1 tvg-id="FebruaryChannel.ly",February Channel (1080p) https://b01c02nl.mediatriple.net/videoonlylive/mtfknklgwrlive/broadcast_5dc818c793576.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="",Libya Al Ahrar TV (1080p) +#EXTINF:-1 tvg-id="" http-referrer="https://player.castr.com/live_8c1539b0eb6c11eda9f0c7bd90506d4f",Libya Al Ahrar TV (1080p) #EXTVLCOPT:http-referrer=https://player.castr.com/live_8c1539b0eb6c11eda9f0c7bd90506d4f https://stream.castr.com/64490fcefe045f1b63012886/live_8c1539b0eb6c11eda9f0c7bd90506d4f/index.m3u8 #EXTINF:-1 tvg-id="LibyaAlWataniya.ly",Libya Al Wataniya (360p) diff --git a/streams/ma.m3u b/streams/ma.m3u index dbcb4d06f..7ab5e5241 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -1,24 +1,24 @@ #EXTM3U -#EXTINF:-1 tvg-id="2MMonde.ma" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0",2M Monde (360p) +#EXTINF:-1 tvg-id="2MMonde.ma" http-referrer="http://www.radio2m.ma/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0",2M Monde (360p) #EXTVLCOPT:http-referrer=http://www.radio2m.ma/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0 https://cdn-globecast.akamaized.net/live/eds/2m_monde/hls_video_ts_tuhawxpiemz257adfc/2m_monde.m3u8 -#EXTINF:-1 tvg-id="AlAoulaInter.ma",Al Aoula International (360p) +#EXTINF:-1 tvg-id="AlAoulaInter.ma" http-referrer="https://snrtlive.ma/",Al Aoula International (360p) #EXTVLCOPT:http-referrer=https://snrtlive.ma/ https://cdn-globecast.akamaized.net/live/eds/al_aoula_inter/hls_snrt/al_aoula_inter.m3u8 -#EXTINF:-1 tvg-id="AlAoula.ma",Al Aoula Laâyoune (360p) +#EXTINF:-1 tvg-id="AlAoula.ma" http-referrer="https://snrtlive.ma/",Al Aoula Laâyoune (360p) #EXTVLCOPT:http-referrer=https://snrtlive.ma/ https://cdn-globecast.akamaized.net/live/eds/al_aoula_laayoune/hls_snrt/index.m3u8 -#EXTINF:-1 tvg-id="AlMaghribia.ma",Al Maghribia (360p) +#EXTINF:-1 tvg-id="AlMaghribia.ma" http-referrer="https://snrtlive.ma/",Al Maghribia (360p) #EXTVLCOPT:http-referrer=https://snrtlive.ma/ https://cdn-globecast.akamaized.net/live/eds/al_maghribia_snrt/hls_snrt/index.m3u8 -#EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (360p) [Not 24/7] +#EXTINF:-1 tvg-id="Arryadia.ma" http-referrer="https://snrtlive.ma/",Arryadia (360p) [Not 24/7] #EXTVLCOPT:http-referrer=https://snrtlive.ma/ https://cdn-globecast.akamaized.net/live/eds/arriadia/hls_snrt/index.m3u8 -#EXTINF:-1 tvg-id="Assadissa.ma",Assadissa (360p) +#EXTINF:-1 tvg-id="Assadissa.ma" http-referrer="https://snrtlive.ma/",Assadissa (360p) #EXTVLCOPT:http-referrer=https://snrtlive.ma/ https://cdn-globecast.akamaized.net/live/eds/assadissa/hls_snrt/index.m3u8 -#EXTINF:-1 tvg-id="Athaqafia.ma",Athaqafia (360p) +#EXTINF:-1 tvg-id="Athaqafia.ma" http-referrer="https://snrtlive.ma/",Athaqafia (360p) #EXTVLCOPT:http-referrer=https://snrtlive.ma/ https://cdn-globecast.akamaized.net/live/eds/arrabiaa/hls_snrt/index.m3u8 #EXTINF:-1 tvg-id="ChadaTV.ma",Chada TV (720p) @@ -35,6 +35,6 @@ https://streaming2.medi1tv.com/live/smil:medi1ar.smil/playlist.m3u8 https://streaming1.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Medi1TVMaghreb.ma",Medi 1 TV Maghreb (1080p) [Not 24/7] https://streaming2.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (360p) +#EXTINF:-1 tvg-id="TamazightTV.ma" http-referrer="https://snrtlive.ma/",Tamazight (360p) #EXTVLCOPT:http-referrer=https://snrtlive.ma/ https://cdn-globecast.akamaized.net/live/eds/tamazight_tv8_snrt/hls_snrt/index.m3u8 diff --git a/streams/mo.m3u b/streams/mo.m3u index ac06d090d..93eb1dcc3 100644 --- a/streams/mo.m3u +++ b/streams/mo.m3u @@ -3,7 +3,7 @@ https://live3.tdm.com.mo/ch2/ch2.live/playlist.m3u8 #EXTINF:-1 tvg-id="",Directo das Reuniões da Assembleia de Macau (720p) https://live3.tdm.com.mo/tv/ch22.live/playlist.m3u8 -#EXTINF:-1 tvg-id="LotusTV.mo" tvg-shift="0",Lotus Macau HD (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="LotusTV.mo",Lotus Macau HD (1080p) [Not 24/7] https://cdn1.skygo.mn/live/disk1/Lotus/HLS-FTA/Lotus.m3u8 #EXTINF:-1 tvg-id="TDMMacauSatellite.mo",Ou-Mun Macau Satellite Ch. 96 (720p) https://live3.tdm.com.mo/ch3/ch3.live/playlist.m3u8 diff --git a/streams/mx.m3u b/streams/mx.m3u index 2ddf0f584..c07e52137 100644 --- a/streams/mx.m3u +++ b/streams/mx.m3u @@ -87,7 +87,7 @@ https://stream.oursnetworktv.com/latin/encoder91/playlist.m3u8 https://5fc584f3f19c9.streamlock.net/canal22/smil:canal22.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Canal26.mx",Canal 26 Aguascalientes (1080p) https://60417ddeaf0d9.streamlock.net/telemetrika3/smil:telemetrika3.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="Canal28.mx",Canal 28 (720p) [Not 24/7] +#EXTINF:-1 tvg-id="Canal28.mx" http-referrer="https://player.castr.com/live_bf24d4208d8611eeb116dbe87aa63be0",Canal 28 (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_bf24d4208d8611eeb116dbe87aa63be0 https://stream.castr.com/653d77dcde70014f52ad1e19/live_bf24d4208d8611eeb116dbe87aa63be0/rewind-3600.m3u8 #EXTINF:-1 tvg-id="Canal30Cintalapa.mx",Canal 30 Cintalapa (720p) [Not 24/7] @@ -104,7 +104,7 @@ https://5e50264bd6766.streamlock.net/canal44/videocanal44/playlist.m3u8 https://stream.oursnetworktv.com/latin/encoder28/playlist.m3u8 #EXTINF:-1 tvg-id="XEJTDT.mx",Canal 50.1 Juárez (XEJ-TDT) (614p) https://stream.oursnetworktv.com/latin/juarez50/playlist.m3u8 -#EXTINF:-1 tvg-id="XHSPRTDT1.mx",Canal Catorce +#EXTINF:-1 tvg-id="XHSPRTDT1.mx" http-referrer="https://www.canalcatorce.tv/",Canal Catorce #EXTVLCOPT:http-referrer=https://www.canalcatorce.tv/ https://s5.mexside.net:1936/canal14/canal14/playlist.m3u8 #EXTINF:-1 tvg-id="CanaldelCongreso451.mx",Canal del Congreso 45.1 (480p) [Not 24/7] @@ -147,7 +147,7 @@ https://s5.mexside.net:1936/elsonorense/elsonorense/playlist.m3u8 https://5ca9af4645e15.streamlock.net/teleradio/smil:teleradio.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Foro.mx",Foro TV (1080p) https://channel02-notusa.akamaized.net/hls/live/2023914/event01/index.m3u8 -#EXTINF:-1 tvg-id="GikTVMX.mx",GikTVMx (480p) +#EXTINF:-1 tvg-id="GikTVMX.mx" http-referrer="https://giktvmx.g3radio.mx",GikTVMx (480p) #EXTVLCOPT:http-referrer=https://giktvmx.g3radio.mx https://pistream.ddns.net/hls/stream.m3u8 #EXTINF:-1 tvg-id="GoldenEdgePanregional.mx",Golden Edge Panregional (576p) @@ -282,6 +282,8 @@ https://5fa5de1a545ae.streamlock.net/4982/4982/playlist.m3u8 https://servilive.com:3263/live/channel12live.m3u8 #EXTINF:-1 tvg-id="TELE4Ojocaliente.mx",TELE 4 Ojocaliente (720p) https://stream.oursnetworktv.com/latin/encoder53/playlist.m3u8 +#EXTINF:-1 tvg-id="TeleYucatan.mx",Tele Yucatan [Geo-blocked] +https://5ca3e84a76d30.streamlock.net/teleyucatan/videoteleyucatan/playlist.m3u8 #EXTINF:-1 tvg-id="TeleFormula.mx",TeleFórmula (720p) [Geo-blocked] https://mdstrm.com/live-stream-playlist/62f2c855f7981b5a5a2d8763.m3u8 #EXTINF:-1 tvg-id="TeleHit.mx",Telehit (1080p) @@ -388,5 +390,3 @@ https://stream.oursnetworktv.com/latin/encoder73/playlist.m3u8 https://stream8.mexiserver.com:1936/xtinetwork/xtinetwork/playlist.m3u8 #EXTINF:-1 tvg-id="ZAZ.mx",ZAZ https://cloud.fastchannel.es/mic/manifiest/hls/zaztv/zaztv.m3u8 -#EXTINF:-1 tvg-id="TeleYucatan.mx",Tele Yucatan [Geo-blocked] -https://5ca3e84a76d30.streamlock.net:443/teleyucatan/videoteleyucatan/playlist.m3u8 diff --git a/streams/my.m3u b/streams/my.m3u index fd034167c..8a57e877c 100644 --- a/streams/my.m3u +++ b/streams/my.m3u @@ -3,7 +3,7 @@ https://d2idp3hzkhjpih.cloudfront.net/out/v1/4b85d9c2bf97413eb0c9fd875599b837/index.m3u8 #EXTINF:-1 tvg-id="AwesomeTV.my",Awesome TV [Geo-blocked] https://488b9e074624.ap-south-1.playback.live-video.net/api/video/v1/ap-south-1.533267421985.channel.B7bB1wHJRCnw.m3u8 -#EXTINF:-1 tvg-id="BeritaRTM.my",Berita RTM [Geo-blocked] +#EXTINF:-1 tvg-id="BeritaRTM.my" http-referrer="https://rtm-player.glueapi.io/",Berita RTM [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:berita/playlist.m3u8?id=5 #EXTINF:-1 tvg-id="CinemaWorld.my",CinemaWorld (576p) @@ -14,13 +14,13 @@ http://210.210.155.35/dr9445/h/h04/index.m3u8 http://210.210.155.37/uq2663/h/h22/index.m3u8 #EXTINF:-1 tvg-id="MaahTV.my",Maah TV (720p) [Not 24/7] https://hls.maahtv.live/hls/stream.m3u8 -#EXTINF:-1 tvg-id="Okey.my",Okey RTM [Geo-blocked] +#EXTINF:-1 tvg-id="Okey.my" http-referrer="https://rtm-player.glueapi.io/",Okey RTM [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:okey/playlist.m3u8?id=3 -#EXTINF:-1 tvg-id="ParlimenMalaysia.my",RTM Parlimen (Dewan Negara) [Geo-blocked] +#EXTINF:-1 tvg-id="ParlimenMalaysia.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Negara) [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:negara/playlist.m3u8?id=8 -#EXTINF:-1 tvg-id="ParlimenMalaysia.my",RTM Parlimen (Dewan Rakyat) [Geo-blocked] +#EXTINF:-1 tvg-id="ParlimenMalaysia.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Rakyat) [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:rakyat/playlist.m3u8?id=7 #EXTINF:-1 tvg-id="TV1.my",RTM TV 1 [Geo-blocked] @@ -29,15 +29,15 @@ https://d25tgymtnqzu8s.cloudfront.net/smil:tv1/manifest.mpd https://d25tgymtnqzu8s.cloudfront.net/smil:tv2/manifest.mpd #EXTINF:-1 tvg-id="SukanRTM.my",Sukan RTM [Geo-blocked] https://d25tgymtnqzu8s.cloudfront.net/smil:sukan/manifest.mpd -#EXTINF:-1 tvg-id="TV1.my",TV1 [Geo-blocked] +#EXTINF:-1 tvg-id="TV1.my" http-referrer="https://rtm-player.glueapi.io/",TV1 [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:tv1/playlist.m3u8?id=1 -#EXTINF:-1 tvg-id="TV2.my",TV2 [Geo-blocked] +#EXTINF:-1 tvg-id="TV2.my" http-referrer="https://rtm-player.glueapi.io/",TV2 [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:tv2/playlist.m3u8?id=2 #EXTINF:-1 tvg-id="TV3.my",TV3 https://tonton-live-switch-ssar.akamaized.net/stream-tv3/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 -#EXTINF:-1 tvg-id="TV6.my",TV6 [Geo-blocked] +#EXTINF:-1 tvg-id="TV6.my" http-referrer="https://rtm-player.glueapi.io/",TV6 [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:tv6/playlist.m3u8?id=6 #EXTINF:-1 tvg-id="TV9.my",TV9 diff --git a/streams/ng.m3u b/streams/ng.m3u index c4c034e0a..b2b4c46be 100644 --- a/streams/ng.m3u +++ b/streams/ng.m3u @@ -77,7 +77,7 @@ https://webstreaming-2.viewmedia.tv/web_027/Stream/playlist.m3u8 https://mn-nl.mncdn.com/nigbatisrt/nigbatisrt.stream/playlist.m3u8 #EXTINF:-1 tvg-id="NTAInternational.ng",NTA International (576p) [Not 24/7] https://api.visionip.tv/live/ASHTTP/visiontvuk-entertainment-ntai-hsslive-25f-4x3-MB/playlist.m3u8 -#EXTINF:-1 tvg-id="OSBCTV.ng",OSBC TV (480p) +#EXTINF:-1 tvg-id="OSBCTV.ng" http-referrer="https://odysee.com/",OSBC TV (480p) #EXTVLCOPT:http-referrer=https://odysee.com/ https://cloud.odysee.live/content/0edfb4b7fb52d2d5ae30e052ce6b61d376fcd662/master.m3u8 #EXTINF:-1 tvg-id="PhenomenalLifeTV.ng",Phenomenal Life TV (1080p) diff --git a/streams/ni.m3u b/streams/ni.m3u index 9e82e3a26..3e0783339 100644 --- a/streams/ni.m3u +++ b/streams/ni.m3u @@ -27,7 +27,7 @@ https://cootv.cootel.com.ni:8095/Canal22_CooTel/playlist.m3u8 https://hdbox.chunklistv.com/live?stream=megabox #EXTINF:-1 tvg-id="RadioVisiondeDiosStereo.ni",Radio Visión de Dios Stereo (720p) [Not 24/7] https://live.tvcontrolcp.com:1936/8286/8286/playlist.m3u8 -#EXTINF:-1 tvg-id="Telenorte.ni",Telenorte (1080p) +#EXTINF:-1 tvg-id="Telenorte.ni" http-referrer="https://odysee.com/",Telenorte (1080p) #EXTVLCOPT:http-referrer=https://odysee.com/ https://cloud.odysee.live/content/e4037b515169fa8e91645219d0f48aa2e69f0546/master.m3u8 #EXTINF:-1 tvg-id="TV45.ni",TV45-3ABN Nicaragua (720p) [Not 24/7] diff --git a/streams/nl.m3u b/streams/nl.m3u index a0a890950..be5e707c3 100644 --- a/streams/nl.m3u +++ b/streams/nl.m3u @@ -195,7 +195,7 @@ https://ms2.mx-cd.net/dtv-02/260-2403096/Regio90TV.smil/playlist.m3u8 https://d3ud9qm9b5yby9.cloudfront.net/nlpo/clr-nlpo/76ecd122/index.m3u8 #EXTINF:-1 tvg-id="RegioTVNieuws.nl",Regio TV Nieuws (1080p) [Not 24/7] http://highvolume04.streampartner.nl/regiomedia/regiomedia/playlist.m3u8 -#EXTINF:-1 tvg-id="RN7.nl",RN7 TV (1080p) +#EXTINF:-1 tvg-id="RN7.nl" http-referrer="https://player.rn7.nl/",RN7 TV (1080p) #EXTVLCOPT:http-referrer=https://player.rn7.nl/ https://streaming.rn7.nl/rn7live_abr/visualradio/playlist.m3u8 #EXTINF:-1 tvg-id="ROSTVKrant.nl",ROS TV-Krant (1080p) diff --git a/streams/pe.m3u b/streams/pe.m3u index 000bd10cf..56d796608 100644 --- a/streams/pe.m3u +++ b/streams/pe.m3u @@ -99,6 +99,8 @@ https://vdo.grupolimalive.com:3277/live/riberenatvlive.m3u8 https://redirector.rudo.video/hls-video/567ffde3fa319fadf3419efda25619456231dfea/latina/latina.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Latina.pe",Latina (720p) [Geo-blocked] https://live-latinav2-mdstrm.secure.footprint.net/live-stream-mp/d1aden84nxx8u4/3330943a0248407faa8c6f5f5c874fa4/5ce7109c7398b977dc0744cd/index.m3u8 +#EXTINF:-1 tvg-id="Latina.pe",Latina (480p) +http://190.2.212.209:8050/play/a0p3 #EXTINF:-1 tvg-id="LatinaClasicos.pe",Latina Clasicos https://redirector.rudo.video/hls-video/plus226/latina2/latina2.smil/playlist.m3u8 #EXTINF:-1 tvg-id="LikeTV.pe",Like TV @@ -155,6 +157,8 @@ https://tv.ondadigital.pe:1936/ondatv2/ondatv2/playlist.m3u8 http://cdn2.ujjina.com:1935/iptvovacion1/liveovacion1tv/playlist.m3u8 #EXTINF:-1 tvg-id="OvacionTV.pe",Ovación TV (720p) [Not 24/7] https://5c3fb01839654.streamlock.net:1963/iptvovacion1/liveovacion1tv/playlist.m3u8 +#EXTINF:-1 tvg-id="PanamericanaTV.pe",Panamericana TV (480p) +http://190.2.212.209:8050/play/a0p5 #EXTINF:-1 tvg-id="PancTVPeru.pe",Panc TV Peru (1080p) https://panel.host-live.com:19360/20000/20000.m3u8 #EXTINF:-1 tvg-id="",Peru Visual TV @@ -245,6 +249,8 @@ https://5790d294af2dc.streamlock.net/8134/8134/playlist.m3u8 https://tvdatta.com:3211/stream/play.m3u8 #EXTINF:-1 tvg-id="TVPalmeras.pe",TV Palmeras (1080p) https://video.ingenioperu.com:3982/live/palmerastvlive.m3u8 +#EXTINF:-1 tvg-id="TVPeru.pe",TV Peru (480p) +http://190.2.212.209:8050/play/a0p8 #EXTINF:-1 tvg-id="TVPeru.pe",TV Perú https://cdnhd.iblups.com/hls/777b4d4cc0984575a7d14f6ee57dbcaf.m3u8 #EXTINF:-1 tvg-id="TVPeruInternacional.pe",TV Perú Internacional (1080p) @@ -289,17 +295,11 @@ https://live.obslivestream.com/vivatv/index.m3u8 https://videoserver.tmcreativos.com:19360/visionnoticias/visionnoticias.m3u8 #EXTINF:-1 tvg-id="VZTV.pe",VZ TV (720p) [Not 24/7] https://live.obslivestream.com/vztv/index.m3u8 +#EXTINF:-1 tvg-id="WillaxTV.pe",Willax TV (480p) +http://190.2.212.209:8050/play/a0p1 #EXTINF:-1 tvg-id="Wtv.pe",Wtv (720p) [Not 24/7] https://live.obslivestream.com/wtv/index.m3u8 #EXTINF:-1 tvg-id="XTVChachapoyas.pe",X TV Chachapoyas (720p) https://vdo.panelchs.com:3927/live/xtvcontrollive.m3u8 #EXTINF:-1 tvg-id="",X TV Zona Film https://vdo.panelchs.com:3769/live/vdo54575151live.m3u8 -#EXTINF:-1 tvg-id="Latina.pe",Latina (480p) -http://190.2.212.209:8050/play/a0p3 -#EXTINF:-1 tvg-id="PanamericanaTV.pe",Panamericana TV (480p) -http://190.2.212.209:8050/play/a0p5 -#EXTINF:-1 tvg-id="TVPeru.pe",TV Peru (480p) -http://190.2.212.209:8050/play/a0p8 -#EXTINF:-1 tvg-id="WillaxTV.pe",Willax TV (480p) -http://190.2.212.209:8050/play/a0p1 diff --git a/streams/ph.m3u b/streams/ph.m3u index ccab51891..2179a116a 100644 --- a/streams/ph.m3u +++ b/streams/ph.m3u @@ -15,7 +15,7 @@ https://live.cltv36.tv:5443/LiveApp/streams/cltvlive.m3u8 https://d3cbe0gidjd4k2.cloudfront.net/channel_7/channel7/playlist.m3u8 #EXTINF:-1 tvg-id="GreatCommissionTV.ph",Great Commission TV (468p) http://45.32.115.103/live/livestream/index.m3u8 -#EXTINF:-1 tvg-id="INCTV.ph" tvg-shift="0",INC TV (720p) (720p) [Geo-blocked] +#EXTINF:-1 tvg-id="INCTV.ph",INC TV (720p) (720p) [Geo-blocked] https://199211.global.ssl.fastly.net/643cc12aa824db4374021c8c/live_95f6ac80dd6511ed9d08b12be56ae55e/index.m3u8 #EXTINF:-1 tvg-id="Myx.ph",Myx (720p) https://myxnola-abscbn-ono.amagi.tv/index.m3u8 diff --git a/streams/pk.m3u b/streams/pk.m3u index 715e6cf3c..93bb1af54 100644 --- a/streams/pk.m3u +++ b/streams/pk.m3u @@ -5,10 +5,10 @@ http://92news.vdn.dstreamone.net/92newshd/92hd/playlist.m3u8 https://securecontributions.sechls01.visionip.tv/live/securecontributions-securecontributions-92_news-hsslive-25f-16x9-SD/chunklist.m3u8 #EXTINF:-1 tvg-id="AlEhsaanTV.pk",Al Ehsaan TV (720p) https://cdn.bmstudiopk.com/alehsaan/live/playlist.m3u8 -#EXTINF:-1 tvg-id="ARYDigitalUSA.us",ARY Digital USA (720p) [Not 24/7] +#EXTINF:-1 tvg-id="ARYDigitalUSA.us" http-referrer="https://live.arydigital.tv/",ARY Digital USA (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://live.arydigital.tv/ https://6zklx4wryw9b-hls-live.5centscdn.com/arydigitalusa/498f1704b692c3ad4dbfdf5ba5d04536.sdp/playlist.m3u8 -#EXTINF:-1 tvg-id="ARYMusik.pk",ARY Musik (1080p) +#EXTINF:-1 tvg-id="ARYMusik.pk" http-referrer="https://live.arydigital.tv/",ARY Musik (1080p) #EXTVLCOPT:http-referrer=https://live.arydigital.tv/ https://arymusik.aryzap.com/3fd38b2c62d0c3bbd74aedabb533c03a/6459fa78/v1/01847ac7a4930b8ed5aa6ed04aba/01847ac8f5f70b8ed5aa6ed04abd/main.m3u8 #EXTINF:-1 tvg-id="aurLifeHD.pk",aurLife HD (614p) diff --git a/streams/pl.m3u b/streams/pl.m3u index 0b80b1b0f..332c99a12 100644 --- a/streams/pl.m3u +++ b/streams/pl.m3u @@ -80,6 +80,13 @@ https://windnew.iosplayer.ru/wind/premium71/mono.m3u8 #EXTVLCOPT:http-referrer=https://newembedplay.xyz/ https://windnew.iosplayer.ru/wind/premium72/mono.m3u8 #EXTINF:-1 tvg-id="ElevenSports3.pl",Eleven Sports 3 (1080p) +#EXTINF:-1 tvg-id="ElevenSports1.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 1 (1080p) +#EXTVLCOPT:http-referrer=https://newembedplay.xyz/ +https://windnew.iosplayer.ru/wind/premium71/mono.m3u8 +#EXTINF:-1 tvg-id="ElevenSports2.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 2 (1080p) +#EXTVLCOPT:http-referrer=https://newembedplay.xyz/ +https://windnew.iosplayer.ru/wind/premium72/mono.m3u8 +#EXTINF:-1 tvg-id="ElevenSports3.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 3 (1080p) #EXTVLCOPT:http-referrer=https://newembedplay.xyz/ https://ddy6new.iosplayer.ru/ddy6/premium428/mono.m3u8 #EXTINF:-1 tvg-id="EskaRockTV.pl",Eska Rock TV (1080p) @@ -158,7 +165,7 @@ http://178.219.128.68:64888/POLOTV http://178.219.128.68:64889/POLO1 #EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) http://178.219.128.68:64889/POLSHD -#EXTINF:-1 tvg-id="Polsat.pl" tvg-shift="3 minutes",Polsat (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) [Geo-blocked] https://lb2-e2-19.pluscdn.pl/ch/1502600/308/dash/20a18c30/live.mpd #EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) http://178.219.128.68:64888/POLS2HD @@ -178,7 +185,7 @@ http://185.236.229.62:9981/play/a07e http://185.236.229.62:9981/play/a02b #EXTINF:-1 tvg-id="PolsatNews.pl",Polsat News (1080p) http://178.219.128.68:64888/POLSNEWSHD -#EXTINF:-1 tvg-id="PolsatNews.pl" tvg-shift="3 minutes",Polsat News (720p) [Geo-blocked] +#EXTINF:-1 tvg-id="PolsatNews.pl",Polsat News (720p) [Geo-blocked] http://cdn-s-lb2.pluscdn.pl/lv/1517830/349/dash/81ec4c32/live.mpd #EXTINF:-1 tvg-id="PolsatNews2.pl",Polsat News 2 (1080p) http://178.219.128.68:64889/POLSNEWS2 @@ -252,7 +259,7 @@ https://d14678b7277b4f21964f367309c8f3e2.mediatailor.us-east-1.amazonaws.com/v1/ https://stream.truso.tv/elblag/myStream_aac/playlist.m3u8 #EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) http://178.219.128.68:64889/TV4HD -#EXTINF:-1 tvg-id="TV4.pl" tvg-shift="3 minutes",TV4 (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) [Geo-blocked] https://lb2-e2-32.pluscdn.pl/ch/1502601/309/dash/e25c2c93/live.mpd #EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) http://178.219.128.68:64889/TV6HD @@ -274,7 +281,7 @@ https://tvreg.klemit.net/regionalna/stream/index.m3u8 http://178.219.128.68:64888/TVREPU #EXTINF:-1 tvg-id="TVTorun.pl",TV Toruń (1080p) [Not 24/7] http://217.173.176.107:1935/live/tvk.stream/playlist.m3u8 -#EXTINF:-1 tvg-id="TVTrwam.pl" tvg-shift="3 hours",TV Trwam (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVTrwam.pl",TV Trwam (1080p) [Geo-blocked] https://live-ch1.trwam.cf.insyscd.net/out/v1/b99041a282774d4a8fe84a54243af5de/trwamtv-live-ch1.mpd #EXTINF:-1 tvg-id="TVWielkopolska.pl",TV Wielkopolska (614p) https://stream6.nadaje.com:35308/live/stream-1/playlist.m3u8 diff --git a/streams/pl_irylek.m3u b/streams/pl_irylek.m3u index e288ecfaf..a4b7e87f0 100644 --- a/streams/pl_irylek.m3u +++ b/streams/pl_irylek.m3u @@ -21,7 +21,7 @@ https://irylek.ct8.pl/stream/tvphistoria https://irylek.ct8.pl/stream/tvphistoria2 #EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) https://irylek.ct8.pl/stream/tvpinfo -#EXTINF:-1 tvg-id="TVPKobieta.pl" tvg-shift="30 minutes",TVP Kobieta (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVPKobieta.pl",TVP Kobieta (1080p) [Geo-blocked] https://irylek.ct8.pl/stream/tvpkobieta #EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) https://irylek.ct8.pl/stream/tvpkultura diff --git a/streams/ps.m3u b/streams/ps.m3u index 63a97f227..9e1999514 100644 --- a/streams/ps.m3u +++ b/streams/ps.m3u @@ -21,17 +21,17 @@ https://halaramallahtv.com:2053/HRamallah-Tv/HalaRamallah/playlist.m3u8 https://account20.livebox.co.in/charleshls/live.m3u8 #EXTINF:-1 tvg-id="HolyQuranRadioNablus.ps",Holy Quran Radio Nablus (720p) http://streaming.zaytonatube.com:8080/holyquran/holyquran/video.m3u8 -#EXTINF:-1 tvg-id="MusawaChannel.ps" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",MusawaChannel (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="MusawaChannel.ps" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",MusawaChannel (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 https://pbc.furrera.ps/musawahd/index.m3u8 #EXTINF:-1 tvg-id="NablusTV.ps",Nablus TV (720p) [Not 24/7] http://htvmada.mada.ps:8888/nabluslive/index.m3u8 #EXTINF:-1 tvg-id="PalestineEdu.ps",Palestine Edu (1080p) https://pbc.furrera.ps/PalestineEDU/index.m3u8 -#EXTINF:-1 tvg-id="PalestineMubasher.ps" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",Palestine Mubasher (1080p) +#EXTINF:-1 tvg-id="PalestineMubasher.ps" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",Palestine Mubasher (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 https://pbc.furrera.ps/palestinelivehd/index.m3u8 -#EXTINF:-1 tvg-id="PalestineSatelliteChannel.ps" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",Palestine Satellite Channel (1080p) +#EXTINF:-1 tvg-id="PalestineSatelliteChannel.ps" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",Palestine Satellite Channel (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 https://pbc.furrera.ps/palestinehd/index.m3u8 #EXTINF:-1 tvg-id="PalestineToday.ps",Palestine Today (480p) [Geo-blocked] diff --git a/streams/pt.m3u b/streams/pt.m3u index 406ff7ebb..b34a62b3c 100644 --- a/streams/pt.m3u +++ b/streams/pt.m3u @@ -35,34 +35,34 @@ https://load-balancer.azotosolutions.com/cdnedge19/smil:live19.smil/playlist.m3u https://live-recordeuropa.visioncdn.com/live/recordeuropa/master.m3u8 #EXTINF:-1 tvg-id="RFPtv.pt",RFPtv (360p) https://video03.logicahost.com.br/rfptv/rfptv/playlist.m3u8 -#EXTINF:-1 tvg-id="RTP1.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP 1 (720p) [Not 24/7] +#EXTINF:-1 tvg-id="RTP1.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP 1 (720p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/liverepeater/rtp1HD.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTP2.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP 2 (720p) [Not 24/7] +#EXTINF:-1 tvg-id="RTP2.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP 2 (720p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/liverepeater/rtp2HD.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTP3.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP 3 (720p) [Not 24/7] +#EXTINF:-1 tvg-id="RTP3.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP 3 (720p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/livetvhlsDVR/rtpnHDdvr.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTP3.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP 3 (504p) [Not 24/7] +#EXTINF:-1 tvg-id="RTP3.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP 3 (504p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/livetvhlsDVR/rtpndvr.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTPAcores.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Açores (720p) [Not 24/7] +#EXTINF:-1 tvg-id="RTPAcores.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Açores (720p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/liverepeater/smil:rtpacoresHD.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTPAcores.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Açores (504p) [Not 24/7] +#EXTINF:-1 tvg-id="RTPAcores.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Açores (504p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/liverepeater/smil:rtpacores.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTPAfrica.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP África (504p) [Not 24/7] +#EXTINF:-1 tvg-id="RTPAfrica.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP África (504p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/liverepeater/smil:rtpafrica.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTPInternacional.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Internacional (504p) [Not 24/7] +#EXTINF:-1 tvg-id="RTPInternacional.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Internacional (504p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/liverepeater/smil:rtpi.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTPMadeira.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Madeira (504p) [Not 24/7] +#EXTINF:-1 tvg-id="RTPMadeira.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Madeira (504p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/liverepeater/smil:rtpmadeira.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="RTPMemoria.pt" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Memória (504p) [Not 24/7] +#EXTINF:-1 tvg-id="RTPMemoria.pt" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0",RTP Memória (504p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 https://streaming-live.rtp.pt/liverepeater/smil:rtpmem.smil/playlist.m3u8 #EXTINF:-1 tvg-id="SIC.pt",SIC (1080p) diff --git a/streams/ro.m3u b/streams/ro.m3u index 2c10fb823..5bb6fd139 100644 --- a/streams/ro.m3u +++ b/streams/ro.m3u @@ -111,13 +111,13 @@ https://stream1.antenaplay.ro/live/MireasaExtra/playlist.m3u8 https://vid4.misatv.ro:5050/MSTV/romanian/playlist.m3u8 #EXTINF:-1 tvg-id="",Moinesti FM (720p) https://video.moinestifm.ro/hls/moinestifm.m3u8 -#EXTINF:-1 tvg-id="MoozDance.ro",MoozDance (576p) +#EXTINF:-1 tvg-id="MoozDance.ro" http-referrer="https://mooz.tv/live-ro/#MoozDance",MoozDance (576p) #EXTVLCOPT:http-referrer=https://mooz.tv/live-ro/#MoozDance https://rtmp.digitalbroadcast.ro/moozdance/moozdance.m3u8 -#EXTINF:-1 tvg-id="MoozHits.ro",MoozHits (576p) +#EXTINF:-1 tvg-id="MoozHits.ro" http-referrer="https://mooz.tv/live-ro/#MoozHits",MoozHits (576p) #EXTVLCOPT:http-referrer=https://mooz.tv/live-ro/#MoozHits https://rtmp.digitalbroadcast.ro/moozhits/moozhits.m3u8 -#EXTINF:-1 tvg-id="MoozRo.ro",MoozRo (576p) +#EXTINF:-1 tvg-id="MoozRo.ro" http-referrer="https://mooz.tv/live-ro/#MoozRo",MoozRo (576p) #EXTVLCOPT:http-referrer=https://mooz.tv/live-ro/#MoozRo https://rtmp.digitalbroadcast.ro/moozro/moozro.m3u8 #EXTINF:-1 tvg-id="MuscelTV.ro",Muscel TV (1080p) @@ -154,7 +154,7 @@ https://stream.realitatea.net/realitatea/sportiva_md/playlist.m3u8 https://stream.realitatea.net/realitatea/star_md/playlist.m3u8 #EXTINF:-1 tvg-id="RockTV.ro",Rock TV (720p) https://tv.broadcasting.ro/rocktv/85c83a80-4f71-4f2d-a8d6-43f676896bcb.m3u8 -#EXTINF:-1 tvg-id="RomaniaTV.ro",Romania TV (576p) +#EXTINF:-1 tvg-id="RomaniaTV.ro" http-referrer="https://www.romaniatv.net/live",Romania TV (576p) #EXTVLCOPT:http-referrer=https://www.romaniatv.net/live https://livestream.romaniatv.net/clients/romaniatv/playlist.m3u8 #EXTINF:-1 tvg-id="ROTVValencia.es",ROTV Valencia (720p) @@ -193,53 +193,53 @@ https://stream.leetweb.ro/WebRTCApp/streams/118334672595255049029831.m3u8 http://85.186.22.140/testing/pl5/playlist/ram/playlist.m3u8 #EXTINF:-1 tvg-id="TVPlusSuceava.ro",TVPlus Suceava (576p) http://85.186.146.34:8080 -#EXTINF:-1 tvg-id="TVR1.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR 1 (1080p) [Not 24/7] [Geo-blocked] +#EXTINF:-1 tvg-id="TVR1.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR 1 (1080p) [Not 24/7] [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvr1.cdn.zitec.com/live/tvr1/main.m3u8 -#EXTINF:-1 tvg-id="TVR2.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR 2 (1080p) [Not 24/7] [Geo-blocked] +#EXTINF:-1 tvg-id="TVR2.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR 2 (1080p) [Not 24/7] [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvr2.cdn.zitec.com/live/tvr2/main.m3u8 -#EXTINF:-1 tvg-id="TVR3.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR 3 (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVR3.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR 3 (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvr3.cdn.zitec.com/live/tvr3/main.m3u8 -#EXTINF:-1 tvg-id="TVRCluj.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Cluj (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRCluj.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Cluj (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvrcluj.cdn.zitec.com/live/tvrcluj/main.m3u8 -#EXTINF:-1 tvg-id="TVRCraiova.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Craiova (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRCraiova.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Craiova (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvrcraiova.cdn.zitec.com/live/tvrcraiova/main.m3u8 -#EXTINF:-1 tvg-id="TVRCultural.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Cultural (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRCultural.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Cultural (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvrcultural.cdn.zitec.com/live/tvrcultural/main.m3u8 -#EXTINF:-1 tvg-id="TVRFolclor.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Folclor (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRFolclor.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Folclor (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvrfolclor.cdn.zitec.com/live/tvrfolclor/main.m3u8 -#EXTINF:-1 tvg-id="TVRIasi.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Iasi (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRIasi.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Iasi (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvriasi.cdn.zitec.com/live/tvriasi/main.m3u8 -#EXTINF:-1 tvg-id="TVRInfo.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Info (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRInfo.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Info (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvrinfo.cdn.zitec.com/live/tvrinfo/main.m3u8 #EXTINF:-1 tvg-id="TVRInternational.ro",TVR International (1080p) https://tvr-tvri.cdn.zitec.com/live/tvri/main.m3u8 -#EXTINF:-1 tvg-id="TVRSport.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Sport (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRSport.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Sport (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvrsport.cdn.zitec.com/live/tvrsport/main.m3u8 -#EXTINF:-1 tvg-id="TVRTarguMures.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Targu-Mures (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRTarguMures.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Targu-Mures (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://mn-nl.mncdn.com/tvrtgmures_new/smil:tvrtgmures_new.smil/index.m3u8 -#EXTINF:-1 tvg-id="TVRTimisoara.ro" user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Timisoara (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="TVRTimisoara.ro" http-referrer="https://www.tvrplus.ro/" http-user-agent="Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0",TVR Timisoara (1080p) [Geo-blocked] #EXTVLCOPT:http-referrer=https://www.tvrplus.ro/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; rv:126.0) Gecko/20100101 Firefox/126.0 https://tvr-tvrtimisoara.cdn.zitec.com/live/tvrtimisoara/main.m3u8 diff --git a/streams/ru.m3u b/streams/ru.m3u index 37ec30f61..a6a7138bd 100644 --- a/streams/ru.m3u +++ b/streams/ru.m3u @@ -51,7 +51,7 @@ http://65.21.85.175:8000/play/a012/index.m3u8?token=livetv http://77.235.1.17/vip_comedy/index.m3u8 #EXTINF:-1 tvg-id="vijuPlusPremiere.ru",viju+ Premiere (1080p) http://77.235.1.17/vip_premier/index.m3u8 -#EXTINF:-1 tvg-id="VIVARussia.ru" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.4044.138 Safari/537.36",VIVA Russia (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="VIVARussia.ru" http-referrer="https://goodgame.ru" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.4044.138 Safari/537.36",VIVA Russia (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=https://goodgame.ru #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.4044.138 Safari/537.36 https://hls.goodgame.ru/hls/180805.m3u8 @@ -165,7 +165,7 @@ http://osnmedia.servicecdn.ru/streams/17603_88089/playlist.m3u8 http://213.172.73.133:8081/nimble_live/9009_Остросюжетное_HD/playlist.m3u8 #EXTINF:-1 tvg-id="ChannelOne.ru",Первый канал https://edge1.1internet.tv/dash-live2/streams/1tv-dvr/1tvdash.mpd -#EXTINF:-1 tvg-id="Pobeda.ru",Победа (720p) +#EXTINF:-1 tvg-id="Pobeda.ru" http-referrer="https://pobeda.tv/",Победа (720p) #EXTVLCOPT:http-referrer=https://pobeda.tv/ https://pkvc-hls3.cdnvideo.ru/Pobeda/smil:Pobeda.smil/chunklist_b5128000_slru.m3u8 #EXTINF:-1 tvg-id="PremialnoeHD.ru",Премиальное HD diff --git a/streams/ru_rt.m3u b/streams/ru_rt.m3u index dfda1a57d..bcc253a10 100644 --- a/streams/ru_rt.m3u +++ b/streams/ru_rt.m3u @@ -9,7 +9,7 @@ https://rt-rtd.rttv.com/dvr/rtdoc/playlist.m3u8 https://rt-rtd.rttv.com/live/rtdoc/playlist.m3u8 #EXTINF:-1 tvg-id="RTDocumentaryRussian.ru",RT Documentary Russian (1080p) https://hls.rt.com/hls/rtdru.m3u8 -#EXTINF:-1 tvg-id="RTenEspanol.ru",RT en Español (1080p) +#EXTINF:-1 tvg-id="RTenEspanol.ru" http-referrer="https://odysee.com/",RT en Español (1080p) #EXTVLCOPT:http-referrer=https://odysee.com/ https://cloud.odysee.live/content/9f638b94d11d879726ae55dd5a0923621b96a45b/master.m3u8 #EXTINF:-1 tvg-id="RTenEspanol.ru",RT en Español (1080p) [Geo-blocked] @@ -22,7 +22,7 @@ https://rt-fra.rttv.com/dvr/rtfrance/playlist.m3u8 https://rt-fra.rttv.com/live/rtfrance/playlist.m3u8 #EXTINF:-1 tvg-id="RT.ru",RT News (1080p) [Geo-blocked] https://rt-glb.rttv.com/live/rtnews/playlist.m3u8 -#EXTINF:-1 tvg-id="RT.ru",RT News (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="RT.ru" http-referrer="https://odysee.com/",RT News (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=https://odysee.com/ https://cloud.odysee.live/content/fdd11cb3ab75f95efb7b3bc2d726aa13ac915b66/master.m3u8 #EXTINF:-1 tvg-id="RT.ru",RT News (1080p) [Not 24/7] diff --git a/streams/ru_televizor-24.m3u b/streams/ru_televizor-24.m3u index c56a4f98c..18b2611bc 100644 --- a/streams/ru_televizor-24.m3u +++ b/streams/ru_televizor-24.m3u @@ -1,60 +1,60 @@ #EXTM3U -#EXTINF:-1 tvg-id="RTDocumentaryRussian.ru",RT Documentary Russian +#EXTINF:-1 tvg-id="RTDocumentaryRussian.ru" http-referrer="https://televizor24tochka.ru/",RT Documentary Russian #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/554.m3u8 #EXTINF:-1 tvg-id="RTDocumentaryRussian.ru",RT Documentary Russian https://streaming.televizor-24-tochka.ru/live/554.m3u8 -#EXTINF:-1 tvg-id="Domkino.ru",Дом Кино +#EXTINF:-1 tvg-id="Domkino.ru" http-referrer="https://televizor24tochka.ru/",Дом Кино #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/44.m3u8 #EXTINF:-1 tvg-id="Domkino.ru",Дом Кино https://streaming.televizor-24-tochka.ru/live/44.m3u8 -#EXTINF:-1 tvg-id="Zvezda.ru",Звезда +#EXTINF:-1 tvg-id="Zvezda.ru" http-referrer="https://televizor24tochka.ru/",Звезда #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/748.m3u8 #EXTINF:-1 tvg-id="Zvezda.ru",Звезда https://streaming.televizor-24-tochka.ru/live/748.m3u8 -#EXTINF:-1 tvg-id="Carousel.ru",Карусель +#EXTINF:-1 tvg-id="Carousel.ru" http-referrer="https://televizor24tochka.ru/",Карусель #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/232.m3u8 #EXTINF:-1 tvg-id="Carousel.ru",Карусель https://streaming.televizor-24-tochka.ru/live/232.m3u8 -#EXTINF:-1 tvg-id="MuzTV.ru",МузТВ +#EXTINF:-1 tvg-id="MuzTV.ru" http-referrer="https://televizor24tochka.ru/",МузТВ #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/618.m3u8 #EXTINF:-1 tvg-id="MuzTV.ru",МузТВ https://streaming.televizor-24-tochka.ru/live/618.m3u8 -#EXTINF:-1 tvg-id="NTVMir.ru",НТВ Мир +#EXTINF:-1 tvg-id="NTVMir.ru" http-referrer="https://televizor24tochka.ru/",НТВ Мир #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/213.m3u8 #EXTINF:-1 tvg-id="NTVMir.ru",НТВ Мир https://streaming.televizor-24-tochka.ru/live/213.m3u8 -#EXTINF:-1 tvg-id="ChannelOne.ru",Первый канал +#EXTINF:-1 tvg-id="ChannelOne.ru" http-referrer="https://televizor24tochka.ru/",Первый канал #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/210.m3u8 #EXTINF:-1 tvg-id="ChannelOne.ru",Первый канал https://streaming.televizor-24-tochka.ru/live/210.m3u8 -#EXTINF:-1 tvg-id="Pobeda.ru",Победа +#EXTINF:-1 tvg-id="Pobeda.ru" http-referrer="https://televizor24tochka.ru/",Победа #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/43.m3u8 #EXTINF:-1 tvg-id="Pobeda.ru",Победа https://streaming.televizor-24-tochka.ru/live/43.m3u8 -#EXTINF:-1 tvg-id="Russia24.ru",Россия 24 +#EXTINF:-1 tvg-id="Russia24.ru" http-referrer="https://televizor24tochka.ru/",Россия 24 #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/30.m3u8 #EXTINF:-1 tvg-id="Russia24.ru",Россия 24 https://streaming.televizor-24-tochka.ru/live/30.m3u8 -#EXTINF:-1 tvg-id="",Россия РТР +#EXTINF:-1 tvg-id="" http-referrer="https://televizor24tochka.ru/",Россия РТР #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/211.m3u8 #EXTINF:-1 tvg-id="",Россия РТР https://streaming.televizor-24-tochka.ru/live/211.m3u8 -#EXTINF:-1 tvg-id="STS.ru",СТС +#EXTINF:-1 tvg-id="STS.ru" http-referrer="https://televizor24tochka.ru/",СТС #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/296.m3u8 #EXTINF:-1 tvg-id="STS.ru",СТС https://streaming.televizor-24-tochka.ru/live/296.m3u8 -#EXTINF:-1 tvg-id="TNT.ru",ТНТ +#EXTINF:-1 tvg-id="TNT.ru" http-referrer="https://televizor24tochka.ru/",ТНТ #EXTVLCOPT:http-referrer=https://televizor24tochka.ru/ https://streaming.skynetconnect.online/live/38.m3u8 #EXTINF:-1 tvg-id="TNT.ru",ТНТ diff --git a/streams/ru_zabava.m3u b/streams/ru_zabava.m3u index cc48bce76..e363e387f 100644 --- a/streams/ru_zabava.m3u +++ b/streams/ru_zabava.m3u @@ -1,46 +1,46 @@ #EXTM3U -#EXTINF:-1 tvg-id="Domashniy.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Домашний (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="Domashniy.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Домашний (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_DOMASHNIY/variant.m3u8 -#EXTINF:-1 tvg-id="Carousel.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Карусель (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="Carousel.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Карусель (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_KARUSEL/variant.m3u8 -#EXTINF:-1 tvg-id="RussiaK.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Культура (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="RussiaK.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Культура (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_RUSSIAK/variant.m3u8 -#EXTINF:-1 tvg-id="LenTV24.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Лен ТВ 24 (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="LenTV24.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Лен ТВ 24 (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://rt-nw-spb-htlive.cdn.ngenix.net/hls/CH_R02_LENTVSD/variant.m3u8 -#EXTINF:-1 tvg-id="NTV.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",НТВ (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="NTV.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",НТВ (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_NTV/variant.m3u8 -#EXTINF:-1 tvg-id="Prima.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Прима (1080p) [Geo-blocked] +#EXTINF:-1 tvg-id="Prima.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Прима (1080p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://rt-sib-krsk-htlive.cdn.ngenix.net/hls/CH_R11_OTT_SIB_KRSK_STS/variant.m3u8 -#EXTINF:-1 tvg-id="Friday.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Пятница! (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="Friday.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Пятница! (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_PYATNIZZA/variant.m3u8 -#EXTINF:-1 tvg-id="Channel5.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Пятый Канал (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="Channel5.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Пятый Канал (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_5TV/variant.m3u8 -#EXTINF:-1 tvg-id="RENTV.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",РЕН ТВ (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="RENTV.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",РЕН ТВ (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_RENTV/variant.m3u8 -#EXTINF:-1 tvg-id="STS.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",СТС (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="STS.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",СТС (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_STS/variant.m3u8 -#EXTINF:-1 tvg-id="STSLove.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",СТС Love (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="STSLove.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",СТС Love (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_STSLOVE/variant.m3u8 -#EXTINF:-1 tvg-id="Subbota.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Суббота! (450p) [Geo-blocked] +#EXTINF:-1 tvg-id="Subbota.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Суббота! (450p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_SUPER/variant.m3u8 -#EXTINF:-1 tvg-id="TV3.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",ТВ-3 (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="TV3.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",ТВ-3 (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_TV3/variant.m3u8 -#EXTINF:-1 tvg-id="TNT.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",ТНТ (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="TNT.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",ТНТ (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_TNT/variant.m3u8 -#EXTINF:-1 tvg-id="Che.ru" user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Че! (540p) [Geo-blocked] +#EXTINF:-1 tvg-id="Che.ru" http-user-agent="WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer",Че! (540p) [Geo-blocked] #EXTVLCOPT:http-user-agent=WINK/1.44.1 (AndroidTV/9) HlsWinkPlayer https://zabava-htlive.cdn.ngenix.net/hls/CH_PERETZ/variant.m3u8 diff --git a/streams/sv.m3u b/streams/sv.m3u index e5e5fe4f9..a8a7e0dfb 100644 --- a/streams/sv.m3u +++ b/streams/sv.m3u @@ -7,7 +7,7 @@ https://mgv-awapa.akamaized.net/hls/live/2104282/MGV_CHANNEL15/master.m3u8 https://telecorporacion-es.cdn.vustreams.com/live/d3e259fa-736d-46b0-b1c9-71caf946ace9/live.isml/live.m3u8 #EXTINF:-1 tvg-id="Canal3Impresionante.sv",Canal 3 Impresionante (480p) https://cloud2.streaminglivehd.com:1936/8048/8048/playlist.m3u8 -#EXTINF:-1 tvg-id="Canal4.sv",Canal 4 (El Salvador) (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="Canal4.sv" http-referrer="https://www.tcsgo.com/",Canal 4 (El Salvador) (1080p) [Not 24/7] #EXTVLCOPT:http-referrer=https://www.tcsgo.com/ https://telecorporacion-es.cdn.vustreams.com/live/5d245474-cad2-47bc-b605-ad04c619247d/live.isml/live.m3u8 #EXTINF:-1 tvg-id="Canal6.sv",Canal 6 (480p) [Not 24/7] @@ -62,7 +62,7 @@ https://radiocret.net:8082/hls/tvcret.m3u8 https://serversv.com:8080/hls/tvgetsemani.m3u8 #EXTINF:-1 tvg-id="TVLeondeJuda.sv",TV León de Judá (720p) https://6110f70ea8d0e.streamlock.net/1838/1838/playlist.m3u8 -#EXTINF:-1 tvg-id="TVCNetwork.sv",TVC Network (720p) [Not 24/7] +#EXTINF:-1 tvg-id="TVCNetwork.sv" http-referrer="https://player.castr.com/live_d0b3cf70e24111ed8ed2951b4c7d1b75",TVC Network (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_d0b3cf70e24111ed8ed2951b4c7d1b75 https://stream.castr.com/643880749cf895435bf8eadf/live_d0b3cf70e24111ed8ed2951b4c7d1b75/index.m3u8 #EXTINF:-1 tvg-id="TVCa.sv",TVCa Televisión Católica Arquidiocesana (720p) diff --git a/streams/tr.m3u b/streams/tr.m3u index bc66ae3e6..a3869b331 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -5,7 +5,7 @@ https://hls.4utv.live/hls/stream.m3u8 https://kanal24.blutv.com/blutv_kanal24_live/live.m3u8 #EXTINF:-1 tvg-id="24TV.tr",24 TV (1080p) http://185.234.111.229:8000/play/a059 -#EXTINF:-1 tvg-id="24TV.tr" user-agent="Mozilla/5.0 Macintosh; Intel Mac OS X 10_14_5 AppleWebKit/537.36 KHTML, like Gecko Chrome/76.0.3809.25 Safari/537.36",24 TV (1080p) +#EXTINF:-1 tvg-id="24TV.tr" http-user-agent="Mozilla/5.0 Macintosh; Intel Mac OS X 10_14_5 AppleWebKit/537.36 KHTML, like Gecko Chrome/76.0.3809.25 Safari/537.36",24 TV (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 Macintosh; Intel Mac OS X 10_14_5 AppleWebKit/537.36 KHTML, like Gecko Chrome/76.0.3809.25 Safari/537.36 https://mn-nl.mncdn.com/kanal24/smil:kanal24.smil/playlist.m3u8 #EXTINF:-1 tvg-id="24TV.tr",24 TV (576p) @@ -502,7 +502,7 @@ https://livetv.powerapp.com.tr/plove/love.smil/playlist.m3u8 https://livetv.powerapp.com.tr/pplustv/pplustv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="PowerTurkTV.tr",Power Turk (1080p) [Not 24/7] https://livetv.powerapp.com.tr/powerturkTV/powerturkhd.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="PowerTurkTV.tr" user-agent="Mozilla/5.0 Macintosh; Intel Mac OS X 10_14_5 AppleWebKit/537.36 KHTML, like Gecko Chrome/76.0.3809.25 Safari/537.36",Power Turk (720p) [Not 24/7] +#EXTINF:-1 tvg-id="PowerTurkTV.tr" http-user-agent="Mozilla/5.0 Macintosh; Intel Mac OS X 10_14_5 AppleWebKit/537.36 KHTML, like Gecko Chrome/76.0.3809.25 Safari/537.36",Power Turk (720p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 Macintosh; Intel Mac OS X 10_14_5 AppleWebKit/537.36 KHTML, like Gecko Chrome/76.0.3809.25 Safari/537.36 https://mn-nl.mncdn.com/blutv_powerturk/smil:powerturk_sd.smil/playlist.m3u8 #EXTINF:-1 tvg-id="PowerTurkAkustik.tr",Power Türk Akustik (1080p) @@ -751,7 +751,7 @@ https://live.artidijitalmedya.com/artidijital_urfanatiktv/urfanatiktv/playlist.m https://uskudarunv.mediatriple.net/uskudarunv/uskudar1/playlist.m3u8 #EXTINF:-1 tvg-id="UUTV2.tr",ÜÜ TV Üsküdar Üniversitesi TV (1080p) [Not 24/7] https://uskudarunv.mediatriple.net/uskudarunv/uskudar2/playlist.m3u8 -#EXTINF:-1 tvg-id="VTV.tr",V TV (720p) +#EXTINF:-1 tvg-id="VTV.tr" http-referrer="https://www.vtv.net.tr/",V TV (720p) #EXTVLCOPT:http-referrer=https://www.vtv.net.tr/ https://serdar.tiviplayer.com/player/m3u8/65aae71c9b93f0965aaed3a92660d98b/65aae71c9b93f0965aaed3a92660d98b.m3u8 #EXTINF:-1 tvg-id="VavTV.tr",Vav TV (1080p) diff --git a/streams/ua.m3u b/streams/ua.m3u index 442b47703..b808589c8 100644 --- a/streams/ua.m3u +++ b/streams/ua.m3u @@ -1,12 +1,12 @@ #EXTM3U -#EXTINF:-1 tvg-id="Channel11.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",11 Kanal (720p) +#EXTINF:-1 tvg-id="Channel11.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",11 Kanal (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://11tv-dp.cdn-04.cosmonova.net.ua/hls/11tv-dp_ua_hi/index.m3u8 #EXTINF:-1 tvg-id="Channel24.ua",24 Канал (1080p) https://streamvideol1.luxnet.ua/news24/smil:news24.stream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="100NEWS.ua",100% News (576p) http://85.238.112.40:8810/hls_sec/239.33.16.32-.m3u8 -#EXTINF:-1 tvg-id="ATR.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",ATR (720p) +#EXTINF:-1 tvg-id="ATR.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",ATR (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://atr-live.cdn-01.cosmonova.net.ua/hls/atr_ua_hi/index.m3u8 #EXTINF:-1 tvg-id="Avers.ua",Avers (480p) @@ -25,7 +25,7 @@ http://vcdn1.produck.company:1935/out/dtv/playlist.m3u8 http://cdn1.live-tv.od.ua:8081/dumska/dumska720p/playlist.m3u8 #EXTINF:-1 tvg-id="EWTNUkraine.ua",EWTN Ukraine (1080p) https://cdn3.wowza.com/1/WjduMm1tYnlwNXQx/M01NV3Uz/hls/live/playlist.m3u8 -#EXTINF:-1 tvg-id="FirstBusiness.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",First Business (720p) +#EXTINF:-1 tvg-id="FirstBusiness.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",First Business (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://pershij-dlovij.cdn-01.cosmonova.net.ua/hls/pershij-dlovij_ua_hi/index.m3u8 #EXTINF:-1 tvg-id="FREEDOM.ua",Freedom (FREEДOM) (UATV) (720p) @@ -50,7 +50,7 @@ https://edge3.iptv.macc.com.ua/img/inter_3/index.m3u8 https://edge2.iptv.macc.com.ua/life/k1_2/index.m3u8 #EXTINF:-1 tvg-id="K2.ua",K2 [Geo-blocked] http://212.28.87.173:8000/play/a10y/index.m3u8 -#EXTINF:-1 tvg-id="TVDom.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",Kanal Dom (720p) +#EXTINF:-1 tvg-id="TVDom.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",Kanal Dom (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://kanaldom.cdn-05.cosmonova.net.ua/hls/kanaldom_ua_hi/index.m3u8 #EXTINF:-1 tvg-id="Lugansk24.ua",Lugansk 24 (1084p) @@ -75,7 +75,7 @@ https://5d23269b3ec0c.streamlock.net/WEB_Ukraine24/ngrp:Ukraine24.stream-adaptiv https://stream.rai.ua/rai/stream.m3u8 #EXTINF:-1 tvg-id="TISTV.ua",TIS TV (720p) https://cdn10.live-tv.cloud/riood/tisod-abr/riood/tisod720/playlist.m3u8 -#EXTINF:-1 tvg-id="TRKIldana.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",TRK Ildana (720p) +#EXTINF:-1 tvg-id="TRKIldana.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",TRK Ildana (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://pravdatytkyiv.cdn-01.cosmonova.net.ua/hls/pradva-tut-ildana_ua_hi/index.m3u8 #EXTINF:-1 tvg-id="TRKKrug.ua",TRK Krug (576p) @@ -88,7 +88,7 @@ https://cdn1.live-tv.cloud/rivne1/rivne1-abr/playlist.m3u8 http://89.254.128.5:22280/viasat_kino/index.m3u8 #EXTINF:-1 tvg-id="ViasatKinoAction.ua",Viasat Kino Action (576p) http://89.254.128.5:22280/viasat_kino_action/index.m3u8 -#EXTINF:-1 tvg-id="VITATV.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",VITA TV (720p) +#EXTINF:-1 tvg-id="VITATV.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",VITA TV (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://vitatv.cdn-05.cosmonova.net.ua/hls/vitatv_ua_hi/index.m3u8 #EXTINF:-1 tvg-id="Z.ua",Z (Запорожье) (1080p) @@ -125,7 +125,7 @@ http://91.194.79.46:8081/stream1/channel1/playlist.m3u8 http://91.194.79.46:8081/stream2/channel2/playlist.m3u8 #EXTINF:-1 tvg-id="",Полтавское ТВ http://cdn10.live-tv.od.ua:8081/hrpl/hrpl-abr/playlist.m3u8 -#EXTINF:-1 tvg-id="PravdaTUT.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",ПравдаТУТ (720p) +#EXTINF:-1 tvg-id="PravdaTUT.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",ПравдаТУТ (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://pravdatytkievshina.cdn-02.cosmonova.net.ua/hls/pravdatytkievshina_ua.m3u8 #EXTINF:-1 tvg-id="PravdaTUT.ua",ПравдаТУТ (720p) @@ -140,7 +140,7 @@ http://tv.tv-project.com:1935/live/live1/playlist.m3u8 http://cdn10.live-tv.od.ua:8081/sk1zt/sk1zt-abr/playlist.m3u8 #EXTINF:-1 tvg-id="SferaTV.ua",Сфера ТВ http://cdn10.live-tv.od.ua:8081/sferarv/sferarv-abr/playlist.m3u8 -#EXTINF:-1 tvg-id="SferaTV.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",Сфера-ТВ (720p) +#EXTINF:-1 tvg-id="SferaTV.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",Сфера-ТВ (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://cdn10.live-tv.cloud/sferarv/sferarv-abr/playlist.m3u8 #EXTINF:-1 tvg-id="TVA.ua",ТВА (Чернiвцi) (576p) @@ -153,7 +153,7 @@ http://cdn1.live-tv.od.ua:8081/31chod/31chod-abr/31chod/31chod/playlist.m3u8 https://ott.columbus.te.ua/ternopil1/index.m3u8 #EXTINF:-1 tvg-id="TRKAleks.ua",ТРК Алекс (576p) http://46.46.112.223/live/livestream1.m3u8 -#EXTINF:-1 tvg-id="TUSO.ua" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",Тюсо (720p) +#EXTINF:-1 tvg-id="TUSO.ua" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",Тюсо (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0 https://tuso.cdn-01.cosmonova.net.ua/hls/tuso_ua.m3u8 #EXTINF:-1 tvg-id="HersonPlyus.ua",Херсон Плюс (576p) diff --git a/streams/ug.m3u b/streams/ug.m3u index 1bc14b099..9a8a97af2 100644 --- a/streams/ug.m3u +++ b/streams/ug.m3u @@ -15,7 +15,7 @@ https://stream.hydeinnovations.com/bukedde1flussonic/index.m3u8 https://stream.hydeinnovations.com/bukedde2flussonic/index.m3u8 #EXTINF:-1 tvg-id="CCCOAspireTV.ug",CCCO Aspire TV (676p) https://panel.freedomflixtv.org:3948/hybrid/play.m3u8 -#EXTINF:-1 tvg-id="ChurchofUgandaFamilyTelevision.ug",COU Family Television (720p) +#EXTINF:-1 tvg-id="ChurchofUgandaFamilyTelevision.ug" http-referrer="https://player.castr.com/live_2c12d7a053f511ef9a978b0191f4a826",COU Family Television (720p) #EXTVLCOPT:http-referrer=https://player.castr.com/live_2c12d7a053f511ef9a978b0191f4a826 https://stream.castr.com/66b2205a464da535308e57e1/live_2c12d7a053f511ef9a978b0191f4a826/index.fmp4.m3u8 #EXTINF:-1 tvg-id="DreamTV.ug",Dream TV (480p) @@ -30,7 +30,7 @@ https://panel.freedomflixtv.org:3934/hybrid/play.m3u8 https://panel.freedomflixtv.org:3665/hybrid/play.m3u8 #EXTINF:-1 tvg-id="FreedomMovieSphere.ug",Freedom Movie Sphere (720p) https://panel.freedomflixtv.org:3311/stream/play.m3u8 -#EXTINF:-1 tvg-id="GalaxyTV.ug",Galaxy TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="GalaxyTV.ug" http-referrer="https://player.castr.com/live_43351ad0f3b411ed81c78fcc31887c54",Galaxy TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://player.castr.com/live_43351ad0f3b411ed81c78fcc31887c54 https://stream.castr.com/6463248048d6cd3e143655b2/live_43351ad0f3b411ed81c78fcc31887c54/index.fmp4.m3u8 #EXTINF:-1 tvg-id="GroundTV.ug",Ground TV diff --git a/streams/uk_bbc.m3u b/streams/uk_bbc.m3u index 867c1cbc1..e5928a7f0 100644 --- a/streams/uk_bbc.m3u +++ b/streams/uk_bbc.m3u @@ -110,54 +110,54 @@ https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=3/i=urn:bbc:pips:service:bbc_pe #EXTINF:-1 tvg-id="BBCPersian.uk",BBC Persian (720p) https://vs-hls-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_persian_tv/t=3840/v=pv14/b=5070016/main.m3u8 #EXTINF:-1 tvg-id="BBCRedButton1.uk",BBC Red Button 1 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_01/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_001/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton2.uk",BBC Red Button 2 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_02/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_002/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton3.uk",BBC Red Button 3 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_03/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_003/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton4.uk",BBC Red Button 4 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_04/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_004/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton5.uk",BBC Red Button 5 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_05/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_005/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton6.uk",BBC Red Button 6 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_06/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_006/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton7.uk",BBC Red Button 7 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_07/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_007/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton8.uk",BBC Red Button 8 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_08/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_008/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton9.uk",BBC Red Button 9 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_09/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_009/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton10.uk",BBC Red Button 10 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_10/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_010/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton11.uk",BBC Red Button 11 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_11/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_011/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton12.uk",BBC Red Button 12 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_12/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_012/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton13.uk",BBC Red Button 13 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_13/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_013/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton14.uk",BBC Red Button 14 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_14/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_014/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton15.uk",BBC Red Button 15 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_15/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_015/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton16.uk",BBC Red Button 16 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_16/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_016/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton17.uk",BBC Red Button 17 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_17/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_017/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton18.uk",BBC Red Button 18 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_18/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_018/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton19.uk",BBC Red Button 19 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_19/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_019/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton20.uk",BBC Red Button 20 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_20/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_020/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton21.uk",BBC Red Button 21 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_21/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_021/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton22.uk",BBC Red Button 22 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_22/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_022/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton23.uk",BBC Red Button 23 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_23/iptv_hd_abr_v1.mpd +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_023/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton24.uk",BBC Red Button 24 (720p) [Geo-blocked] -https://ve-cmaf-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:uk_sport_stream_24/iptv_hd_abr_v1.mpd -#EXTINF:-1 tvg-id="",BBC Red Button One (720p) [Geo-blocked] +https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_024/iptv_hd_abr_v1.mpd +#EXTINF:-1 tvg-id="BBCRedButton1HD.uk",BBC RB 1 (720p) [Geo-blocked] https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCScotland.uk",BBC Scotland (540p) [Geo-blocked] https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_scotland_hd/pc_hd_abr_v2.m3u8 diff --git a/streams/us.m3u b/streams/us.m3u index c16c278f3..218b56e14 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -319,11 +319,11 @@ https://cdn-cf.fite.tv/linear/fite247/playlist.m3u8 https://yuppmedtaorire.akamaized.net/v1/master/a0d007312bfd99c47f76b77ae26b1ccdaae76cb1/flowers_nim_https/050522/flowers/playlist.m3u8 #EXTINF:-1 tvg-id="FoxBusinessNetwork.us",FOX Business (1080p) http://41.205.93.154/FOXBUSINESS/index.m3u8 -#EXTINF:-1 tvg-id="FoxNewsChannel.us" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) +#EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://www.newslive.com/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) #EXTVLCOPT:http-referrer=https://www.newslive.com/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://stream.livenewsplay.com:9443/hls/foxnews/foxsd.m3u8 -#EXTINF:-1 tvg-id="FoxNewsChannel.us" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) +#EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://zekonew.koskoros.ru/zeko/premium347/mono.m3u8 @@ -555,7 +555,7 @@ http://media.mohabat.tv:1935/live_transcoder/ngrp:mohabat.stream_all/playlist.m3 https://1422977263.rsc.cdn77.org/HLS/MOTOAMERICA.m3u8 #EXTINF:-1 tvg-id="",Motorbikes & Engines https://motors.playout.vju.tv/motors/main.m3u8 -#EXTINF:-1 tvg-id="MSNBC.us" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",MSNBC (1080p) +#EXTINF:-1 tvg-id="MSNBC.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",MSNBC (1080p) #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://windnew.koskoros.ru/wind/premium327/mono.m3u8 @@ -579,7 +579,7 @@ https://nbculocallive.akamaized.net/hls/live/2037096/lx/use1.m3u8 https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8 #EXTINF:-1 tvg-id="NewsmaxTV.us",Newsmax TV (720p) https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/index.m3u8 -#EXTINF:-1 tvg-id="NewsNationEast.us" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",NewsNation East (720p) +#EXTINF:-1 tvg-id="NewsNationEast.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",NewsNation East (720p) #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://windnew.koskoros.ru/wind/premium292/mono.m3u8 @@ -727,7 +727,7 @@ https://content.uplynk.com/channel/f9aafa1f132e40af9b9e7238bc18d128.m3u8 https://tv2.fastcast4u.com:3238/live/radiotelebostonlive.m3u8 #EXTINF:-1 tvg-id="TelemundoCorpusChristi.us",Telemundo Corpus Christi https://content.uplynk.com/channel/b6a96ed39d694ae1b738faa98cf7dd3f.m3u8 -#EXTINF:-1 tvg-id="TelemundoWest.us" tvg-shift="10800",Telemundo West (720p) +#EXTINF:-1 tvg-id="TelemundoWest.us",Telemundo West (720p) https://content.uplynk.com/channel/b6a96ed39d694ae1b738faa98cf7dd3f.m3u8?delay=10800 #EXTINF:-1 tvg-id="TennisChannel.us",Tennis Channel (1080p) https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01444-tennischannelth-tennischnlintl-lggb/playlist.m3u8 @@ -901,7 +901,7 @@ https://livevideo01.localmemphis.com/hls/live/2011654/elvs/live.m3u8 https://livevideo01.wbir.com/hls/live/2016515/elvs/live.m3u8 #EXTINF:-1 tvg-id="WBNSDT1.us",WBNS-DT1 (1080p) https://livevideo01.10tv.com/hls/live/2013836/elvs/live.m3u8 -#EXTINF:-1 tvg-id="WBRADT3.us" tvg-shift="-4",WBRA PBS Kids (1080p) +#EXTINF:-1 tvg-id="WBRADT3.us",WBRA PBS Kids (1080p) https://livestream.pbskids.org/out/v1/1e3d77b418ad4a819b3f4c80ac0373b5/est_124.m3u8 #EXTINF:-1 tvg-id="WBZDT1.us",WBZ-DT1 (720p) http://143.244.60.30/CBSEAST/index.m3u8 @@ -961,7 +961,7 @@ https://video.tegnaone.com/wtsp/live/v1/master/f9c1bf9ffd6ac86b6173a7c169ff6e3f4 https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=73 #EXTINF:-1 tvg-id="WUSADT1.us",WUSA-DT1 (1080p) https://livevideo01.wusa9.com/hls/live/2015498/elvs/live.m3u8 -#EXTINF:-1 tvg-id="WVCULP.us" tvg-shift="0",WVCU-LP Concord University Radio The Cure 97.7 (1080p) +#EXTINF:-1 tvg-id="WVCULP.us",WVCU-LP Concord University Radio The Cure 97.7 (1080p) https://video1.getstreamhosting.com:1936/8152/8152/playlist.m3u8 #EXTINF:-1 tvg-id="WWLDT1.us",WWL-DT1 (1080p) https://livevideo01.wwltv.com/hls/live/2016516/elvs/live.m3u8 @@ -977,10 +977,10 @@ https://d1ewctnvcwvvvu.cloudfront.net/playlist.m3u8 https://thegateway.app/YouToo/CueTones/playlist.m3u8 #EXTINF:-1 tvg-id="YoutooAmerica.us",Youtoo America (1080p) https://thegateway.app/YouToo/YTamerica/playlist.m3u8 -#EXTINF:-1 tvg-id="ZoomNews.us",Zoom TV Kurdish (720p) +#EXTINF:-1 tvg-id="ZoomNews.us" http-referrer="https://zoomnews.info/",Zoom TV Kurdish (720p) #EXTVLCOPT:http-referrer=https://zoomnews.info/ https://live.zoomnews.info/live/Zoom_playlist.m3u8 -#EXTINF:-1 tvg-id="CSPAN.us" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN +#EXTINF:-1 tvg-id="CSPAN.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://windnew.koskoros.ru/wind/premium750/mono.m3u8 diff --git a/streams/us_firetv.m3u b/streams/us_firetv.m3u index 9b2cdd90c..d46e731ab 100644 --- a/streams/us_firetv.m3u +++ b/streams/us_firetv.m3u @@ -81,10 +81,10 @@ https://amg02333-pbs-amg02333c6-firetv-us-4236.playouts.now.amagi.tv/playlist.m3 https://amg00461-eone-amg00461c2-firetv-us-5210.playouts.now.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="SportsGrid.us",SportsGrid https://amg00315-sportsgrid-firetv.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="",Team USA (1080p) -https://amg01416-amg01416c4-firetv-us-4522.playouts.now.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="TennisChannelPlus2.us",T2 Tennis Channel (1080p) https://ttc-tennischannelus-firetv.amagi.tv/playlist.m3u8 +#EXTINF:-1 tvg-id="",Team USA (1080p) +https://amg01416-amg01416c4-firetv-us-4522.playouts.now.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="TheHillTV.us",The Hill TV (1080p) [Geo-blocked] https://amg01312-cw-amg01312c15-firetv-us-3444.playouts.now.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="TheYoungTurks.us",The Young Turks (1080p) [Geo-blocked] diff --git a/streams/us_local.m3u b/streams/us_local.m3u index c52e0dd35..f881881dc 100644 --- a/streams/us_local.m3u +++ b/streams/us_local.m3u @@ -199,7 +199,7 @@ https://reflect-fcpublicmedia.cablecast.tv/live-3/live/live.m3u8 https://edge-f.swagit.com/live/fernandinabeachfl/live-1-a/playlist.m3u8 #EXTINF:-1 tvg-id="CityofFlagstaff.us",Flagstaff City Council Meeting (Flagstaff AZ) (720p) https://edge-f.swagit.com/live/flagstaffaz/live-1-a/playlist.m3u8 -#EXTINF:-1 tvg-id="KVCRDT2.us",FNX [Geo-blocked] +#EXTINF:-1 tvg-id="KVCRDT2.us" http-referrer="https://fnx.org/",FNX [Geo-blocked] #EXTVLCOPT:http-referrer=https://fnx.org/ https://castus-vod-dev.s3.amazonaws.com/vod_clients/kvcr/live/ch1/video.m3u8 #EXTINF:-1 tvg-id="KFONTV.us",Fontana Community Television (720p) [Geo-blocked] diff --git a/streams/us_moveonjoy.m3u b/streams/us_moveonjoy.m3u index 686318698..d3b6cb615 100644 --- a/streams/us_moveonjoy.m3u +++ b/streams/us_moveonjoy.m3u @@ -31,6 +31,8 @@ http://fl2.moveonjoy.com/BRAVO/index.m3u8 http://fl3.moveonjoy.com/Buzzr/index.m3u8 #EXTINF:-1 tvg-id="CSPAN.us",C-SPAN http://fl2.moveonjoy.com/C-SPAN/index.m3u8 +#EXTINF:-1 tvg-id="CBSEast.us",CBS East (720p) +http://fl3.moveonjoy.com/CBS_News/index.m3u8 #EXTINF:-1 tvg-id="CBSSportsNetworkUSA.us",CBS Sports Network USA http://fl2.moveonjoy.com/CBS_SPORTS_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="CleoTV.us",Cleo TV (720p) @@ -97,6 +99,8 @@ http://fl2.moveonjoy.com/HALLMARK_MOVIES_MYSTERIES/index.m3u8 http://fl2.moveonjoy.com/HSN/index.m3u8 #EXTINF:-1 tvg-id="INSP.us",INSP http://fl2.moveonjoy.com/INSP/index.m3u8 +#EXTINF:-1 tvg-id="IONPlusEast.us",ION Plus East (720p) +http://fl3.moveonjoy.com/ION_Plus/index.m3u8 #EXTINF:-1 tvg-id="IONTVEast.us",ION TV East http://fl2.moveonjoy.com/ION_TV/index.m3u8 #EXTINF:-1 tvg-id="KSATDT2.us",KSAT-DT2 (720p) @@ -107,6 +111,8 @@ http://fl2.moveonjoy.com/LIFETIME/index.m3u8 http://fl2.moveonjoy.com/LIFETIME_MOVIE_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="LoveNature.ca",Love Nature http://fl1.moveonjoy.com/LOVE_NATURE/index.m3u8 +#EXTINF:-1 tvg-id="MarqueeSportsNetwork.us",Marquee Sports Network (540p) +http://fl5.moveonjoy.com/MARQUEE_SPORTS_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="MAVTV.us",MAV TV (720p) http://fl2.moveonjoy.com/MAV_TV/index.m3u8 #EXTINF:-1 tvg-id="MGMPlusEast.us",MGM+ East @@ -185,12 +191,16 @@ http://fl2.moveonjoy.com/SHOWTIME/index.m3u8 http://fl2.moveonjoy.com/SHOWTIME_EXTREME/index.m3u8 #EXTINF:-1 tvg-id="ShowtimeNextEast.us",Showtime Next East http://fl2.moveonjoy.com/SHOWTIME_NEXT/index.m3u8 +#EXTINF:-1 tvg-id="ShowtimeWest.us",Showtime West (1080p) +http://fl2.moveonjoy.com/SHOWTIME_WEST/index.m3u8 #EXTINF:-1 tvg-id="ShowtimeWomenEast.us",Showtime Women East http://fl2.moveonjoy.com/SHOWTIME_WOMEN/index.m3u8 #EXTINF:-1 tvg-id="SmithsonianChannelEast.us",Smithsonian Channel East http://fl2.moveonjoy.com/SMITHSONIAN_CHANNEL/index.m3u8 #EXTINF:-1 tvg-id="SportsmanChannel.us",Sportsman Channel http://fl2.moveonjoy.com/SPORTSMAN_CHANNEL/index.m3u8 +#EXTINF:-1 tvg-id="SportsNetNewYork.us",SportsNet New York (540p) +http://fl2.moveonjoy.com/SNY/index.m3u8 #EXTINF:-1 tvg-id="StartTV.us",Start TV http://fl3.moveonjoy.com/Start_Tv/index.m3u8 #EXTINF:-1 tvg-id="StarzComedyEast.us",Starz Comedy East @@ -225,6 +235,8 @@ http://fl5.moveonjoy.com/TSN_5/index.m3u8 http://fl2.moveonjoy.com/TV_Land/index.m3u8 #EXTINF:-1 tvg-id="TVOne.us",TV One http://fl2.moveonjoy.com/TV_ONE/index.m3u8 +#EXTINF:-1 tvg-id="UpTV.us",Up TV (1080p) +http://fl3.moveonjoy.com/Up_Tv/index.m3u8 #EXTINF:-1 tvg-id="USANetworkEast.us",USA Network East (720p) http://fl2.moveonjoy.com/USA_Network/index.m3u8 #EXTINF:-1 tvg-id="VH1East.us",VH1 East @@ -243,15 +255,3 @@ http://fl1.moveonjoy.com/FOX_EAST/index.m3u8 http://fl2.moveonjoy.com/WORLD_FISHING_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="YesNetwork.us",Yes Network http://fl2.moveonjoy.com/YES_NETWORK/index.m3u8 -#EXTINF:-1 tvg-id="CBSEast.us",CBS East (720p) -http://fl3.moveonjoy.com/CBS_News/index.m3u8 -#EXTINF:-1 tvg-id="IONPlusEast.us",ION Plus East (720p) -http://fl3.moveonjoy.com/ION_Plus/index.m3u8 -#EXTINF:-1 tvg-id="MarqueeSportsNetwork.us",Marquee Sports Network (540p) -http://fl5.moveonjoy.com/MARQUEE_SPORTS_NETWORK/index.m3u8 -#EXTINF:-1 tvg-id="ShowtimeWest.us",Showtime West (1080p) -http://fl2.moveonjoy.com/SHOWTIME_WEST/index.m3u8 -#EXTINF:-1 tvg-id="SportsNetNewYork.us",SportsNet New York (540p) -http://fl2.moveonjoy.com/SNY/index.m3u8 -#EXTINF:-1 tvg-id="UpTV.us",Up TV (1080p) -http://fl3.moveonjoy.com/Up_Tv/index.m3u8 diff --git a/streams/us_roku.m3u b/streams/us_roku.m3u index 24c7c3224..796d44731 100644 --- a/streams/us_roku.m3u +++ b/streams/us_roku.m3u @@ -49,8 +49,6 @@ https://newidco-kidspangtv-1-us.roku.wurl.tv/playlist.m3u8 https://44abd74d.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/Um9rdV9LcmltaW5hbF9ITFM/playlist.m3u8 #EXTINF:-1 tvg-id="",Lifetime Holiday Favourites (1080p) https://9fa8bd65.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/Um9rdV9Ib2xpZGF5TW92aWVGYXZvcml0ZXNieUxpZmV0aW1lX0hMUw/playlist.m3u8 -#EXTINF:-1 tvg-id="LivelyPlace.us",Lively Place (1080p) -https://3238c44f.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/Um9rdV9MaXZlbHlQbGFjZV9ITFM/playlist.m3u8 #EXTINF:-1 tvg-id="MaverickBlackCinema.us",Maverick Black Cinema (1080p) https://maverick-maverick-black-cinema-3-us.roku.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="MidsomerMurders.us",Midsomer Murders (1080p) @@ -73,10 +71,10 @@ https://pac12-roku-us.amagi.tv/playlist.m3u8 https://4a72da62.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/Um9rdV9QZXJmb3JtX0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="",Rakuten Viki (1080p) https://newidco-rakutenviki-1-us.roku.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="",Real Crime (1080p) [Geo-blocked] -https://d1qznhvm4vjve7.cloudfront.net/playlist.m3u8 #EXTINF:-1 tvg-id="RCNMas.co",RCN Mas https://rcntv-rcnmas-1-us.roku.wurl.tv/playlist.m3u8 +#EXTINF:-1 tvg-id="",Real Crime (1080p) [Geo-blocked] +https://d1qznhvm4vjve7.cloudfront.net/playlist.m3u8 #EXTINF:-1 tvg-id="RuntimeEspanol.us",Runtime Espanol (720p) https://run-rt-uh-roku.otteravision.com/run/rt_uh/rt_uh.m3u8 #EXTINF:-1 tvg-id="SamuelGoldwynClassics.us",Samuel Goldwyn Classics (1080p) @@ -91,10 +89,10 @@ https://spt-novelas-2-us.roku.wurl.tv/playlist.m3u8 https://candlelightmedia-sparklightlove-4-us.roku.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="",Spark TV Luz & Amor (1080p) https://candlelightmedia-sparklightlove-6-us.roku.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="",Supermarket Sweep (1080p) [Geo-blocked] -https://amg00145-buzzr-bigballs-supermarket-rokuus-iqx8g.amagi.tv/playlist/amg00145-buzzr-bigballs-supermarket-rokuus/playlist.m3u8 #EXTINF:-1 tvg-id="SuperSimpleSongs.us",Super Simple Songs (1080p) https://janson-supersimplesongs-1-us.roku.wurl.tv/playlist.m3u8 +#EXTINF:-1 tvg-id="",Supermarket Sweep (1080p) [Geo-blocked] +https://amg00145-buzzr-bigballs-supermarket-rokuus-iqx8g.amagi.tv/playlist/amg00145-buzzr-bigballs-supermarket-rokuus/playlist.m3u8 #EXTINF:-1 tvg-id="SwerveSports.us",Swerve Combat (1080p) https://linear-253.frequency.stream/mt/roku/253/hls/master/playlist.m3u8 #EXTINF:-1 tvg-id="ThePriceIsRightTheBarkerEra.us",The Price Is Right: The Barker Era (1080p) [Geo-blocked] diff --git a/streams/us_ssh101.m3u b/streams/us_ssh101.m3u index 309d1b8a3..c8eee122c 100644 --- a/streams/us_ssh101.m3u +++ b/streams/us_ssh101.m3u @@ -1,12 +1,12 @@ #EXTM3U -#EXTINF:-1 tvg-id="ConectaTV.mx",Conecta TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="ConectaTV.mx" http-referrer="https://ssh101.com/",Conecta TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://ssh101.com/ https://tna5.bozztv.com/Conectatvmexico/index.m3u8 -#EXTINF:-1 tvg-id="JessTV.ca",Jess TV (Lethbridge) (480p) [Not 24/7] +#EXTINF:-1 tvg-id="JessTV.ca" http-referrer="https://ssh101.com/",Jess TV (Lethbridge) (480p) [Not 24/7] #EXTVLCOPT:http-referrer=https://ssh101.com/ https://tna5.bozztv.com/jesstv/index.m3u8 #EXTINF:-1 tvg-id="",TV Cartago Digital https://ssh101-fl.bozztv.com/ssh101/tvcdstreaming/index.m3u8 -#EXTINF:-1 tvg-id="UchuTV.pe",Uchu TV (Cusco) (720p) [Not 24/7] +#EXTINF:-1 tvg-id="UchuTV.pe" http-referrer="https://ssh101.com/",Uchu TV (Cusco) (720p) [Not 24/7] #EXTVLCOPT:http-referrer=https://ssh101.com/ https://tna5.bozztv.com/Cusco/index.m3u8 diff --git a/streams/us_tvpass.m3u b/streams/us_tvpass.m3u index a754e3403..01dfa5792 100644 --- a/streams/us_tvpass.m3u +++ b/streams/us_tvpass.m3u @@ -179,8 +179,6 @@ https://tvpass.org/live/USANetworkEast/sd https://tvpass.org/live/WABCDT1/hd #EXTINF:-1 tvg-id="WABCDT1.us",WABC-DT1 (360p) https://tvpass.org/live/WABCDT1/sd -#EXTINF:-1 tvg-id="WCBSDT1.us",WCBS-DT1 (720p) -https://tvpass.org/live/WCBSDT1/hd #EXTINF:-1 tvg-id="WCBSDT1.us",WCBS-DT1 (360p) https://tvpass.org/live/WCBSDT1/sd #EXTINF:-1 tvg-id="WISDT2.us",WIS-DT2 (720p) diff --git a/streams/vn.m3u b/streams/vn.m3u index 23a09ad6d..5b525ff3d 100644 --- a/streams/vn.m3u +++ b/streams/vn.m3u @@ -121,7 +121,7 @@ http://str1.cvtv.xyz/vtv2?token=live http://125hvt.ddns.net:21585/vtv4/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="VTV5.vn",VTV5 http://125hvt.ddns.net:21585/vtv5/tracks-v1a1/mono.m3u8 -#EXTINF:-1 tvg-id="VTV5TayNamBo.vn" tvg-shift="0",VTV5 (1080p) +#EXTINF:-1 tvg-id="VTV5TayNamBo.vn",VTV5 (1080p) http://103.47.194.152/VTV5TNB/mpegts #EXTINF:-1 tvg-id="VTV5.vn",VTV5 (1080p) https://liveh12.vtvcab.vn/hls/ONVTV5_CL/04.m3u8 diff --git a/tests/__data__/expected/.api/streams.json b/tests/__data__/expected/.api/streams.json index 14e3db518..2dfb3cd3e 100644 --- a/tests/__data__/expected/.api/streams.json +++ b/tests/__data__/expected/.api/streams.json @@ -1 +1 @@ -[{"channel":null,"url":"http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8","timeshift":null,"http_referrer":null,"user_agent":null},{"channel":null,"url":"http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8","timeshift":null,"http_referrer":"http://imn.iq","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"},{"channel":"AndorraTV.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/atv","timeshift":null,"http_referrer":null,"user_agent":null},{"channel":"BBCNews.uk","url":"http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8","timeshift":null,"http_referrer":null,"user_agent":null},{"channel":"LDPRTV.ru","url":"http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8","timeshift":null,"http_referrer":null,"user_agent":null},{"channel":"MeteoMedia.ca","url":"http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8","timeshift":null,"http_referrer":null,"user_agent":null},{"channel":"VisitXTV.nl","url":"https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8","timeshift":null,"http_referrer":null,"user_agent":null},{"channel":"Zoo.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/zoo","timeshift":null,"http_referrer":null,"user_agent":null},{"channel":"Zoo.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift","timeshift":"-4.5","http_referrer":null,"user_agent":null}] \ No newline at end of file +[{"channel":null,"url":"http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8","referrer":null,"user_agent":null},{"channel":null,"url":"http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8","referrer":"http://imn.iq","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"},{"channel":"AndorraTV.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/atv","referrer":null,"user_agent":null},{"channel":"BBCNews.uk","url":"http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8","referrer":null,"user_agent":null},{"channel":"LDPRTV.ru","url":"http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8","referrer":null,"user_agent":null},{"channel":"MeteoMedia.ca","url":"http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8","referrer":null,"user_agent":null},{"channel":"VisitXTV.nl","url":"https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8","referrer":null,"user_agent":null},{"channel":"Zoo.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/zoo","referrer":null,"user_agent":null}] \ No newline at end of file diff --git a/tests/__data__/expected/.gh-pages/categories/undefined.m3u b/tests/__data__/expected/.gh-pages/categories/undefined.m3u index 2fc6540f1..33ab86e59 100644 --- a/tests/__data__/expected/.gh-pages/categories/undefined.m3u +++ b/tests/__data__/expected/.gh-pages/categories/undefined.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 @@ -9,5 +9,3 @@ https://iptv-all.lanesh4d0w.repl.co/andorra/atv http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift diff --git a/tests/__data__/expected/.gh-pages/countries/ad.m3u b/tests/__data__/expected/.gh-pages/countries/ad.m3u index 09808b309..ea69856d8 100644 --- a/tests/__data__/expected/.gh-pages/countries/ad.m3u +++ b/tests/__data__/expected/.gh-pages/countries/ad.m3u @@ -3,5 +3,3 @@ https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift diff --git a/tests/__data__/expected/.gh-pages/index.category.m3u b/tests/__data__/expected/.gh-pages/index.category.m3u index dfa833d3d..f63d34846 100644 --- a/tests/__data__/expected/.gh-pages/index.category.m3u +++ b/tests/__data__/expected/.gh-pages/index.category.m3u @@ -7,7 +7,7 @@ http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 #EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 @@ -17,5 +17,3 @@ https://iptv-all.lanesh4d0w.repl.co/andorra/atv http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift diff --git a/tests/__data__/expected/.gh-pages/index.country.m3u b/tests/__data__/expected/.gh-pages/index.country.m3u index 1cb918ade..2df73910b 100644 --- a/tests/__data__/expected/.gh-pages/index.country.m3u +++ b/tests/__data__/expected/.gh-pages/index.country.m3u @@ -3,8 +3,6 @@ https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Andorra",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Andorra",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift #EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Canada",Meteomedia http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 #EXTINF:-1 tvg-id="" tvg-logo="" group-title="India",Daawah TV @@ -13,7 +11,7 @@ http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 #EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="International",BBC News HD http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 diff --git a/tests/__data__/expected/.gh-pages/index.language.m3u b/tests/__data__/expected/.gh-pages/index.language.m3u index 345d8332c..94479bedb 100644 --- a/tests/__data__/expected/.gh-pages/index.language.m3u +++ b/tests/__data__/expected/.gh-pages/index.language.m3u @@ -5,7 +5,7 @@ http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 #EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Valencian",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 @@ -15,5 +15,3 @@ http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift diff --git a/tests/__data__/expected/.gh-pages/index.m3u b/tests/__data__/expected/.gh-pages/index.m3u index ac60be63f..52b63d17a 100644 --- a/tests/__data__/expected/.gh-pages/index.m3u +++ b/tests/__data__/expected/.gh-pages/index.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 @@ -13,7 +13,5 @@ http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/index.region.m3u b/tests/__data__/expected/.gh-pages/index.region.m3u index 58ae622b5..c1594ab58 100644 --- a/tests/__data__/expected/.gh-pages/index.region.m3u +++ b/tests/__data__/expected/.gh-pages/index.region.m3u @@ -13,16 +13,12 @@ http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Europe",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Europe",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Europe",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 #EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Europe, the Middle East and Africa",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Europe, the Middle East and Africa",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Europe, the Middle East and Africa",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Europe, the Middle East and Africa",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 #EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="North America",Meteomedia @@ -41,11 +37,9 @@ http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Worldwide",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Worldwide",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Worldwide",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 diff --git a/tests/__data__/expected/.gh-pages/languages/undefined.m3u b/tests/__data__/expected/.gh-pages/languages/undefined.m3u index 7aee77c7c..7267ae5e1 100644 --- a/tests/__data__/expected/.gh-pages/languages/undefined.m3u +++ b/tests/__data__/expected/.gh-pages/languages/undefined.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 @@ -9,5 +9,3 @@ http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift diff --git a/tests/__data__/expected/.gh-pages/regions/emea.m3u b/tests/__data__/expected/.gh-pages/regions/emea.m3u index fffa2e227..6b40ee03c 100644 --- a/tests/__data__/expected/.gh-pages/regions/emea.m3u +++ b/tests/__data__/expected/.gh-pages/regions/emea.m3u @@ -3,7 +3,5 @@ https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/eur.m3u b/tests/__data__/expected/.gh-pages/regions/eur.m3u index fffa2e227..6b40ee03c 100644 --- a/tests/__data__/expected/.gh-pages/regions/eur.m3u +++ b/tests/__data__/expected/.gh-pages/regions/eur.m3u @@ -3,7 +3,5 @@ https://iptv-all.lanesh4d0w.repl.co/andorra/atv #EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift #EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/logs/generators.log b/tests/__data__/expected/logs/generators.log index 70cd15c41..6bb3175f4 100644 --- a/tests/__data__/expected/logs/generators.log +++ b/tests/__data__/expected/logs/generators.log @@ -26,22 +26,22 @@ {"filepath":"categories/travel.m3u","count":0} {"filepath":"categories/weather.m3u","count":1} {"filepath":"categories/xxx.m3u","count":1} -{"filepath":"categories/undefined.m3u","count":5} -{"filepath":"countries/ad.m3u","count":3} +{"filepath":"categories/undefined.m3u","count":4} +{"filepath":"countries/ad.m3u","count":2} {"filepath":"countries/ca.m3u","count":1} {"filepath":"subdivisions/ca-on.m3u","count":1} {"filepath":"countries/in.m3u","count":1} {"filepath":"countries/ru.m3u","count":1} {"filepath":"countries/int.m3u","count":1} -{"filepath":"index.category.m3u","count":9} -{"filepath":"index.country.m3u","count":8} -{"filepath":"index.language.m3u","count":8} -{"filepath":"index.m3u","count":8} -{"filepath":"index.region.m3u","count":24} +{"filepath":"index.category.m3u","count":8} +{"filepath":"index.country.m3u","count":7} +{"filepath":"index.language.m3u","count":7} +{"filepath":"index.m3u","count":7} +{"filepath":"index.region.m3u","count":21} {"filepath":"languages/eng.m3u","count":1} {"filepath":"languages/rus.m3u","count":1} {"filepath":"languages/cat.m3u","count":1} -{"filepath":"languages/undefined.m3u","count":5} +{"filepath":"languages/undefined.m3u","count":4} {"filepath":"regions/afr.m3u","count":0} {"filepath":"regions/amer.m3u","count":1} {"filepath":"regions/apac.m3u","count":1} @@ -52,8 +52,8 @@ {"filepath":"regions/cas.m3u","count":0} {"filepath":"regions/cenamer.m3u","count":0} {"filepath":"regions/cis.m3u","count":1} -{"filepath":"regions/emea.m3u","count":4} -{"filepath":"regions/eur.m3u","count":4} +{"filepath":"regions/emea.m3u","count":3} +{"filepath":"regions/eur.m3u","count":3} {"filepath":"regions/hispam.m3u","count":0} {"filepath":"regions/lac.m3u","count":0} {"filepath":"regions/latam.m3u","count":0} diff --git a/tests/__data__/expected/streams_format/in.m3u b/tests/__data__/expected/streams_format/in.m3u index 95ddbedfb..44a00ace1 100644 --- a/tests/__data__/expected/streams_format/in.m3u +++ b/tests/__data__/expected/streams_format/in.m3u @@ -1,3 +1,3 @@ #EXTM3U -#EXTINF:-1 tvg-id="" tvg-shift="-2",Manorama News -2 [U3] (480p) [Geo-blocked] [Not 24/7] +#EXTINF:-1 tvg-id="",Manorama News -2 [U3] (480p) [Geo-blocked] [Not 24/7] https://ythls.onrender.com/channel/UCP0uG-mcMImgKnJz-VjJZmQ.m3u8 diff --git a/tests/__data__/expected/streams_format/nl.m3u b/tests/__data__/expected/streams_format/nl.m3u index ff3188ba0..2eef58b98 100644 --- a/tests/__data__/expected/streams_format/nl.m3u +++ b/tests/__data__/expected/streams_format/nl.m3u @@ -3,5 +3,7 @@ http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo1/npo1.isml/.m3u8 #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (342p) http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.isml/.m3u8 -#EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (302p) [Geo-blocked] +#EXTINF:-1 tvg-id="NPO2.nl" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",NPO 2 (302p) [Geo-blocked] +#EXTVLCOPT:http-referrer=http://imn.iq +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8 diff --git a/tests/__data__/expected/streams_update/fr.m3u b/tests/__data__/expected/streams_update/fr.m3u index eac1c0944..2dcf9fed5 100644 --- a/tests/__data__/expected/streams_update/fr.m3u +++ b/tests/__data__/expected/streams_update/fr.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="TFX.fr" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",TFX +#EXTINF:-1 tvg-id="TFX.fr" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",TFX #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 http://livetv.ktv.zone/13/play.m3u8 diff --git a/tests/__data__/expected/streams_update/us.m3u b/tests/__data__/expected/streams_update/us.m3u index f116049b6..1562c6075 100644 --- a/tests/__data__/expected/streams_update/us.m3u +++ b/tests/__data__/expected/streams_update/us.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="BBCAmericaEast.us" tvg-shift="-4" user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246",BBC America East (720p) +#EXTINF:-1 tvg-id="BBCAmericaEast.us" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246",BBC America East (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246 https://servilive.com:3126/live/tele2000live.m3u8 #EXTINF:-1 tvg-id="FastTV.us",Fast TV diff --git a/tests/__data__/input/issues/all.js b/tests/__data__/input/issues/all.js index e27f0fdc9..ff62b063f 100644 --- a/tests/__data__/input/issues/all.js +++ b/tests/__data__/input/issues/all.js @@ -626,7 +626,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nManoramaNews.in\n\n### Stream URL\n\n(https://mitelefe.com/Api/Videos/GetSourceUrl/694564/0/HLS / https://ssl.cloud.telefe.com/Api/Videos/GetSourceUrl/694564/0/HLS)\n\n### Label\n\nNot 24/7\n\n### Timeshift\n\n-4\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Channel ID\n\nManoramaNews.in\n\n### Stream URL\n\n(https://mitelefe.com/Api/Videos/GetSourceUrl/694564/0/HLS / https://ssl.cloud.telefe.com/Api/Videos/GetSourceUrl/694564/0/HLS)\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14179/reactions', total_count: 0, diff --git a/tests/__data__/input/streams_format/in.m3u b/tests/__data__/input/streams_format/in.m3u index 08779eec7..47c77da2e 100644 --- a/tests/__data__/input/streams_format/in.m3u +++ b/tests/__data__/input/streams_format/in.m3u @@ -1,3 +1,3 @@ #EXTM3U -#EXTINF:-1 tvg-id="mn.in" tvg-shift="-2",Manorama News -2 [U3] (480p) [Geo-blocked] [Not 24/7] +#EXTINF:-1 tvg-id="mn.in",Manorama News -2 [U3] (480p) [Geo-blocked] [Not 24/7] https://ythls.onrender.com/channel/UCP0uG-mcMImgKnJz-VjJZmQ.m3u8 diff --git a/tests/__data__/input/streams_format/nl.m3u b/tests/__data__/input/streams_format/nl.m3u index 3ba85b77e..ddf912cf0 100644 --- a/tests/__data__/input/streams_format/nl.m3u +++ b/tests/__data__/input/streams_format/nl.m3u @@ -1,5 +1,7 @@ #EXTM3U #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (302p) [Geo-blocked] +#EXTVLCOPT:http-referrer=http://imn.iq +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8? #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (342p) http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.isml/.m3u8 diff --git a/tests/__data__/input/streams_generate/ad.m3u b/tests/__data__/input/streams_generate/ad.m3u index 82af6bd1a..aed019154 100644 --- a/tests/__data__/input/streams_generate/ad.m3u +++ b/tests/__data__/input/streams_generate/ad.m3u @@ -1,6 +1,4 @@ #EXTM3U -#EXTINF:-1 tvg-id="Zoo.ad" tvg-shift="-4.5",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo_shift #EXTINF:-1 tvg-id="Zoo.ad",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo #EXTINF:-1 tvg-id="AndorraTV.ad",ATV diff --git a/tests/__data__/input/streams_test/ag.m3u b/tests/__data__/input/streams_test/ag.m3u new file mode 100644 index 000000000..c2342183a --- /dev/null +++ b/tests/__data__/input/streams_test/ag.m3u @@ -0,0 +1,5 @@ +#EXTM3U +#EXTINF:-1 tvg-id="ABSTV.ag",ABS TV +https://tego-cdn2a.sibercdn.com/Live_TV-ABSTV-10/tracks-v3a1/rewind-7200.m3u8?token=e5f61e7be8363eb781b4bdfe591bf917dd529c1a-SjY3NzRTbDZQNnFQVkZaNkZja2RxV3JKc1VBa05zQkdMNStJakRGV0VTTzNrOEVGVUlIQmxta1NLV0o3bzdVdQ-1736094545-1736008145 +#EXTINF:-1 tvg-id="ABSTV.ag",ABS TV (1080p) [Not 24/7] +https://query-streamlink.herokuapp.com/iptv-query?streaming-ip=https://www.twitch.tv/absliveantigua3 \ No newline at end of file diff --git a/tests/__data__/input/test_results/all.js b/tests/__data__/input/test_results/all.js new file mode 100644 index 000000000..84c66492a --- /dev/null +++ b/tests/__data__/input/test_results/all.js @@ -0,0 +1,14 @@ +module.exports = { + 'https://query-streamlink.herokuapp.com/iptv-query?streaming-ip=https://www.twitch.tv/absliveantigua3': + { + url: 'https://query-streamlink.herokuapp.com/iptv-query?streaming-ip=https://www.twitch.tv/absliveantigua3', + http: { referrer: '', 'user-agent': '' }, + status: { ok: false, code: 'HTTP_NOT_FOUND', message: 'HTTP 404 Not Found' } + }, + 'https://tego-cdn2a.sibercdn.com/Live_TV-ABSTV-10/tracks-v3a1/rewind-7200.m3u8?token=e5f61e7be8363eb781b4bdfe591bf917dd529c1a-SjY3NzRTbDZQNnFQVkZaNkZja2RxV3JKc1VBa05zQkdMNStJakRGV0VTTzNrOEVGVUlIQmxta1NLV0o3bzdVdQ-1736094545-1736008145': + { + url: 'https://tego-cdn2a.sibercdn.com/Live_TV-ABSTV-10/tracks-v3a1/rewind-7200.m3u8?token=e5f61e7be8363eb781b4bdfe591bf917dd529c1a-SjY3NzRTbDZQNnFQVkZaNkZja2RxV3JKc1VBa05zQkdMNStJakRGV0VTTzNrOEVGVUlIQmxta1NLV0o3bzdVdQ-1736094545-1736008145', + http: { referrer: '', 'user-agent': '' }, + status: { ok: false, code: 'HTTP_FORBIDDEN', message: 'HTTP 403 Forbidden' } + } +} diff --git a/tests/commands/playlist/test.test.ts b/tests/commands/playlist/test.test.ts new file mode 100644 index 000000000..feb10640e --- /dev/null +++ b/tests/commands/playlist/test.test.ts @@ -0,0 +1,19 @@ +import { execSync } from 'child_process' + +type ExecError = { + status: number + stdout: string +} + +it('shows an error if the playlist contains a broken link', () => { + try { + execSync('ROOT_DIR=tests/__data__/input npm run playlist:test streams_test/ag.m3u', { + encoding: 'utf8' + }) + process.exit(1) + } catch (error) { + expect((error as ExecError).status).toBe(1) + expect((error as ExecError).stdout).toContain('streams_test/ag.m3u') + expect((error as ExecError).stdout).toContain('2 problems (1 errors, 1 warnings)') + } +}) diff --git a/yarn.lock b/yarn.lock index b80af0346..06a905285 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,7 +10,7 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2": version "7.26.2" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== @@ -105,19 +105,19 @@ integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== "@babel/helpers@^7.26.0": - version "7.26.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz" - integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== + version "7.26.10" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz" + integrity sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g== dependencies: - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.0" + "@babel/template" "^7.26.9" + "@babel/types" "^7.26.10" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.3": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz" - integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.3", "@babel/parser@^7.26.9": + version "7.26.10" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz" + integrity sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA== dependencies: - "@babel/types" "^7.26.3" + "@babel/types" "^7.26.10" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -238,14 +238,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.9" -"@babel/template@^7.25.9", "@babel/template@^7.3.3": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== +"@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.3.3": + version "7.26.9" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz" + integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/code-frame" "^7.26.2" + "@babel/parser" "^7.26.9" + "@babel/types" "^7.26.9" "@babel/traverse@^7.25.9": version "7.26.4" @@ -260,10 +260,10 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3", "@babel/types@^7.3.3": - version "7.26.3" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz" - integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.10", "@babel/types@^7.26.3", "@babel/types@^7.26.9", "@babel/types@^7.3.3": + version "7.26.10" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz" + integrity sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ== dependencies: "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" @@ -273,10 +273,32 @@ resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== +"@bundled-es-modules/cookie@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.1.tgz" + integrity sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw== + dependencies: + cookie "^0.7.2" + +"@bundled-es-modules/statuses@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz" + integrity sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== + dependencies: + statuses "^2.0.1" + +"@bundled-es-modules/tough-cookie@^0.1.6": + version "0.1.6" + resolved "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz" + integrity sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw== + dependencies: + "@types/tough-cookie" "^4.0.5" + tough-cookie "^4.1.4" + +"@esbuild/darwin-x64@0.25.1": + version "0.25.1" + resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz" + integrity sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.1" @@ -290,23 +312,28 @@ resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/config-array@^0.19.0": - version "0.19.1" - resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz" - integrity sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA== +"@eslint/config-array@^0.19.2": + version "0.19.2" + resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz" + integrity sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w== dependencies: - "@eslint/object-schema" "^2.1.5" + "@eslint/object-schema" "^2.1.6" debug "^4.3.1" minimatch "^3.1.2" -"@eslint/core@^0.9.0": - version "0.9.1" - resolved "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz" - integrity sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q== +"@eslint/config-helpers@^0.1.0": + version "0.1.0" + resolved "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz" + integrity sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA== + +"@eslint/core@^0.12.0": + version "0.12.0" + resolved "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz" + integrity sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg== dependencies: "@types/json-schema" "^7.0.15" -"@eslint/eslintrc@^3.2.0", "@eslint/eslintrc@^3.3.0": +"@eslint/eslintrc@^3.3.0": version "3.3.0" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz" integrity sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ== @@ -321,26 +348,22 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^9.21.0": - version "9.21.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz" - integrity sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw== +"@eslint/js@^9.21.0", "@eslint/js@9.22.0": + version "9.22.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz" + integrity sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ== -"@eslint/js@9.17.0": - version "9.17.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz" - integrity sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w== +"@eslint/object-schema@^2.1.6": + version "2.1.6" + resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz" + integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== -"@eslint/object-schema@^2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz" - integrity sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ== - -"@eslint/plugin-kit@^0.2.3": - version "0.2.4" - resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz" - integrity sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg== +"@eslint/plugin-kit@^0.2.7": + version "0.2.7" + resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz" + integrity sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g== dependencies: + "@eslint/core" "^0.12.0" levn "^0.4.1" "@freearhey/core@^0.2.1": @@ -384,10 +407,42 @@ resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz" integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== -"@humanwhocodes/retry@^0.4.1": - version "0.4.1" - resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz" - integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== +"@humanwhocodes/retry@^0.4.2": + version "0.4.2" + resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz" + integrity sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ== + +"@inquirer/confirm@^5.0.0": + version "5.1.7" + resolved "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.7.tgz" + integrity sha512-Xrfbrw9eSiHb+GsesO8TQIeHSMTP0xyvTCeeYevgZ4sKW+iz9w/47bgfG9b0niQm+xaLY2EWPBINUPldLwvYiw== + dependencies: + "@inquirer/core" "^10.1.8" + "@inquirer/type" "^3.0.5" + +"@inquirer/core@^10.1.8": + version "10.1.8" + resolved "https://registry.npmjs.org/@inquirer/core/-/core-10.1.8.tgz" + integrity sha512-HpAqR8y715zPpM9e/9Q+N88bnGwqqL8ePgZ0SMv/s3673JLMv3bIkoivGmjPqXlEgisUksSXibweQccUwEx4qQ== + dependencies: + "@inquirer/figures" "^1.0.11" + "@inquirer/type" "^3.0.5" + ansi-escapes "^4.3.2" + cli-width "^4.1.0" + mute-stream "^2.0.0" + signal-exit "^4.1.0" + wrap-ansi "^6.2.0" + yoctocolors-cjs "^2.1.2" + +"@inquirer/figures@^1.0.11": + version "1.0.11" + resolved "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz" + integrity sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw== + +"@inquirer/type@^3.0.5": + version "3.0.5" + resolved "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz" + integrity sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg== "@isaacs/cliui@^8.0.2": version "8.0.2" @@ -641,6 +696,18 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@mswjs/interceptors@^0.37.0": + version "0.37.6" + resolved "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.37.6.tgz" + integrity sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w== + dependencies: + "@open-draft/deferred-promise" "^2.2.0" + "@open-draft/logger" "^0.3.0" + "@open-draft/until" "^2.0.0" + is-node-process "^1.2.0" + outvariant "^1.4.3" + strict-event-emitter "^0.5.1" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -662,54 +729,57 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@octokit/auth-token@^3.0.0": - version "3.0.4" - resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz" - integrity sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ== +"@octokit/auth-token@^5.0.0": + version "5.1.2" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz" + integrity sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw== -"@octokit/core@^4.2.1", "@octokit/core@>=3", "@octokit/core@>=4": - version "4.2.1" - resolved "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz" - integrity sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw== +"@octokit/core@^6.1.4", "@octokit/core@>=3", "@octokit/core@>=6": + version "6.1.4" + resolved "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz" + integrity sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg== dependencies: - "@octokit/auth-token" "^3.0.0" - "@octokit/graphql" "^5.0.0" - "@octokit/request" "^6.0.0" - "@octokit/request-error" "^3.0.0" - "@octokit/types" "^9.0.0" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" + "@octokit/auth-token" "^5.0.0" + "@octokit/graphql" "^8.1.2" + "@octokit/request" "^9.2.1" + "@octokit/request-error" "^6.1.7" + "@octokit/types" "^13.6.2" + before-after-hook "^3.0.2" + universal-user-agent "^7.0.0" -"@octokit/endpoint@^7.0.0": - version "7.0.6" - resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz" - integrity sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg== +"@octokit/endpoint@^10.1.3": + version "10.1.3" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz" + integrity sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA== dependencies: - "@octokit/types" "^9.0.0" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" + "@octokit/types" "^13.6.2" + universal-user-agent "^7.0.2" -"@octokit/graphql@^5.0.0": - version "5.0.6" - resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz" - integrity sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw== +"@octokit/graphql@^8.1.2": + version "8.2.1" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.1.tgz" + integrity sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw== dependencies: - "@octokit/request" "^6.0.0" - "@octokit/types" "^9.0.0" - universal-user-agent "^6.0.0" + "@octokit/request" "^9.2.2" + "@octokit/types" "^13.8.0" + universal-user-agent "^7.0.0" "@octokit/openapi-types@^18.0.0": version "18.0.0" resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz" integrity sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw== -"@octokit/plugin-paginate-rest@^7.1.2": - version "7.1.2" - resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-7.1.2.tgz" - integrity sha512-Jx8KuKqEAVRsK6fMzZKv3h6UH9/NRDHsDRtUAROqqmZlCptM///Uef7A1ViZ/cbDplekz7VbDWdFLAZ/mpuDww== +"@octokit/openapi-types@^23.0.1": + version "23.0.1" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz" + integrity sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g== + +"@octokit/plugin-paginate-rest@^11.4.3": + version "11.4.3" + resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz" + integrity sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA== dependencies: - "@octokit/tsconfig" "^2.0.0" - "@octokit/types" "^9.3.2" + "@octokit/types" "^13.7.0" "@octokit/plugin-rest-endpoint-methods@^7.1.3": version "7.1.3" @@ -718,31 +788,23 @@ dependencies: "@octokit/types" "^9.2.3" -"@octokit/request-error@^3.0.0": - version "3.0.3" - resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz" - integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== +"@octokit/request-error@^6.1.7": + version "6.1.7" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz" + integrity sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g== dependencies: - "@octokit/types" "^9.0.0" - deprecation "^2.0.0" - once "^1.4.0" + "@octokit/types" "^13.6.2" -"@octokit/request@^6.0.0": - version "6.2.5" - resolved "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz" - integrity sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ== +"@octokit/request@^9.2.1", "@octokit/request@^9.2.2": + version "9.2.2" + resolved "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz" + integrity sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg== dependencies: - "@octokit/endpoint" "^7.0.0" - "@octokit/request-error" "^3.0.0" - "@octokit/types" "^9.0.0" - is-plain-object "^5.0.0" - node-fetch "^2.6.7" - universal-user-agent "^6.0.0" - -"@octokit/tsconfig@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-2.0.0.tgz" - integrity sha512-tWnrai3quGt8+gRN2edzo9fmraWekeryXPeXDomMw2oFSpu/lH3VSWGn/q4V+rwjTRMeeXk/ci623/01Zet4VQ== + "@octokit/endpoint" "^10.1.3" + "@octokit/request-error" "^6.1.7" + "@octokit/types" "^13.6.2" + fast-content-type-parse "^2.0.0" + universal-user-agent "^7.0.2" "@octokit/types@^11.1.0": version "11.1.0" @@ -751,12 +813,26 @@ dependencies: "@octokit/openapi-types" "^18.0.0" -"@octokit/types@^9.0.0": - version "9.3.2" - resolved "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz" - integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA== +"@octokit/types@^13.6.2": + version "13.8.0" + resolved "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz" + integrity sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A== dependencies: - "@octokit/openapi-types" "^18.0.0" + "@octokit/openapi-types" "^23.0.1" + +"@octokit/types@^13.7.0": + version "13.8.0" + resolved "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz" + integrity sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A== + dependencies: + "@octokit/openapi-types" "^23.0.1" + +"@octokit/types@^13.8.0": + version "13.8.0" + resolved "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz" + integrity sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A== + dependencies: + "@octokit/openapi-types" "^23.0.1" "@octokit/types@^9.2.3": version "9.3.2" @@ -765,12 +841,23 @@ dependencies: "@octokit/openapi-types" "^18.0.0" -"@octokit/types@^9.3.2": - version "9.3.2" - resolved "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz" - integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA== +"@open-draft/deferred-promise@^2.2.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz" + integrity sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== + +"@open-draft/logger@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz" + integrity sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== dependencies: - "@octokit/openapi-types" "^18.0.0" + is-node-process "^1.2.0" + outvariant "^1.4.0" + +"@open-draft/until@^2.0.0", "@open-draft/until@^2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz" + integrity sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== "@pkgjs/parseargs@^0.11.0": version "0.11.0" @@ -836,6 +923,11 @@ dependencies: "@types/node" "*" +"@types/cookie@^0.6.0": + version "0.6.0" + resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz" + integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== + "@types/estree@^1.0.6": version "1.0.6" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" @@ -905,10 +997,12 @@ resolved "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.2.tgz" integrity sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ== -"@types/node@*": - version "17.0.18" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz" - integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA== +"@types/node@*", "@types/node@>=18": + version "22.13.10" + resolved "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz" + integrity sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw== + dependencies: + undici-types "~6.20.0" "@types/numeral@^2.0.3": version "2.0.3" @@ -920,6 +1014,16 @@ resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== +"@types/statuses@^2.0.4": + version "2.0.5" + resolved "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz" + integrity sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A== + +"@types/tough-cookie@^4.0.5": + version "4.0.5" + resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + "@types/yargs-parser@*": version "21.0.3" resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" @@ -1023,6 +1127,11 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== +agent-base@^7.1.2: + version "7.1.3" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz" + integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== + ajv@^6.12.4: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" @@ -1033,7 +1142,7 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-escapes@^4.2.1: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -1094,7 +1203,12 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -async@^3.2.3: +async-es@^3.2.6: + version "3.2.6" + resolved "https://registry.npmjs.org/async-es/-/async-es-3.2.6.tgz" + integrity sha512-9C2+oOPd7/EzIeneF4k24o75oY7OcHU/Isl7xIot12EBRwXonyuqKsmxwLuAbFWL6B/FucTQip09xTbiu1CA8A== + +async@^3.2.3, async@^3.2.6: version "3.2.6" resolved "https://registry.npmjs.org/async/-/async-3.2.6.tgz" integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== @@ -1104,10 +1218,17 @@ asynckit@^0.4.0: resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -axios@^1.7.9: - version "1.7.9" - resolved "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz" - integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== +axios-retry@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz" + integrity sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ== + dependencies: + is-retry-allowed "^2.2.0" + +axios@^1.7.9, axios@^1.8.2, "axios@0.x || 1.x": + version "1.8.3" + resolved "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz" + integrity sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -1181,10 +1302,10 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -before-after-hook@^2.2.0: - version "2.2.3" - resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz" - integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== +before-after-hook@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz" + integrity sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A== brace-expansion@^1.1.7: version "1.1.11" @@ -1296,6 +1417,11 @@ cli-progress@^3.12.0: dependencies: string-width "^4.2.3" +cli-width@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz" + integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== + cliui@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" @@ -1339,6 +1465,11 @@ color-name@1.1.3: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +colors@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" @@ -1346,6 +1477,16 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +command-exists@^1.2.9: + version "1.2.9" + resolved "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== + +commander@^13.1.0: + version "13.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz" + integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== + commander@^7.2.0: version "7.2.0" resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" @@ -1361,11 +1502,23 @@ concat-map@0.0.1: resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +console-table-printer@^2.12.1: + version "2.12.1" + resolved "https://registry.npmjs.org/console-table-printer/-/console-table-printer-2.12.1.tgz" + integrity sha512-wKGOQRRvdnd89pCeH96e2Fn4wkbenSP6LMHfjfyNLMbGuHEFbMqQNuxXqd0oXG9caIOQ1FTvc5Uijp9/4jujnQ== + dependencies: + simple-wcswidth "^1.0.1" + convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== +cookie@^0.7.2: + version "0.7.2" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== + create-jest@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" @@ -1388,6 +1541,11 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.3, cross-spawn@^7.0.6: shebang-command "^2.0.0" which "^2.0.1" +dateformat@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/dateformat/-/dateformat-5.0.3.tgz" + integrity sha512-Kvr6HmPXUMerlLcLF+Pwq3K7apHpYmGDVqrxcDasBg86UcKeTSNWbEzU8bwdXnxnR44FtMhJAxI4Bov6Y/KUfA== + debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.4.0" resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz" @@ -1415,11 +1573,6 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -deprecation@^2.0.0: - version "2.3.1" - resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" @@ -1469,33 +1622,36 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -esbuild@~0.18.20: - version "0.18.20" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== +esbuild@~0.25.0: + version "0.25.1" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz" + integrity sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ== optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" + "@esbuild/aix-ppc64" "0.25.1" + "@esbuild/android-arm" "0.25.1" + "@esbuild/android-arm64" "0.25.1" + "@esbuild/android-x64" "0.25.1" + "@esbuild/darwin-arm64" "0.25.1" + "@esbuild/darwin-x64" "0.25.1" + "@esbuild/freebsd-arm64" "0.25.1" + "@esbuild/freebsd-x64" "0.25.1" + "@esbuild/linux-arm" "0.25.1" + "@esbuild/linux-arm64" "0.25.1" + "@esbuild/linux-ia32" "0.25.1" + "@esbuild/linux-loong64" "0.25.1" + "@esbuild/linux-mips64el" "0.25.1" + "@esbuild/linux-ppc64" "0.25.1" + "@esbuild/linux-riscv64" "0.25.1" + "@esbuild/linux-s390x" "0.25.1" + "@esbuild/linux-x64" "0.25.1" + "@esbuild/netbsd-arm64" "0.25.1" + "@esbuild/netbsd-x64" "0.25.1" + "@esbuild/openbsd-arm64" "0.25.1" + "@esbuild/openbsd-x64" "0.25.1" + "@esbuild/sunos-x64" "0.25.1" + "@esbuild/win32-arm64" "0.25.1" + "@esbuild/win32-ia32" "0.25.1" + "@esbuild/win32-x64" "0.25.1" escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" @@ -1517,10 +1673,10 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-scope@^8.2.0: - version "8.2.0" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz" - integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== +eslint-scope@^8.3.0: + version "8.3.0" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz" + integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -1535,21 +1691,22 @@ eslint-visitor-keys@^4.2.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^8.57.0 || ^9.0.0", eslint@^9.17.0: - version "9.17.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz" - integrity sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA== +"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^8.57.0 || ^9.0.0", eslint@^9.17.0, eslint@^9.22.0: + version "9.22.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz" + integrity sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.19.0" - "@eslint/core" "^0.9.0" - "@eslint/eslintrc" "^3.2.0" - "@eslint/js" "9.17.0" - "@eslint/plugin-kit" "^0.2.3" + "@eslint/config-array" "^0.19.2" + "@eslint/config-helpers" "^0.1.0" + "@eslint/core" "^0.12.0" + "@eslint/eslintrc" "^3.3.0" + "@eslint/js" "9.22.0" + "@eslint/plugin-kit" "^0.2.7" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.1" + "@humanwhocodes/retry" "^0.4.2" "@types/estree" "^1.0.6" "@types/json-schema" "^7.0.15" ajv "^6.12.4" @@ -1557,7 +1714,7 @@ eslint-visitor-keys@^4.2.0: cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^8.2.0" + eslint-scope "^8.3.0" eslint-visitor-keys "^4.2.0" espree "^10.3.0" esquery "^1.5.0" @@ -1644,6 +1801,11 @@ expect@^29.0.0, expect@^29.7.0: jest-message-util "^29.7.0" jest-util "^29.7.0" +fast-content-type-parse@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz" + integrity sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -1817,15 +1979,20 @@ get-package-type@^0.1.0: resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-stdin@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz" + integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== + get-stream@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-tsconfig@^4.7.2: - version "4.7.2" - resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz" - integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== +get-tsconfig@^4.7.5: + version "4.10.0" + resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz" + integrity sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A== dependencies: resolve-pkg-maps "^1.0.0" @@ -1915,6 +2082,11 @@ graphemer@^1.4.0: resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== +graphql@^16.8.1: + version "16.10.0" + resolved "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz" + integrity sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" @@ -1932,6 +2104,11 @@ hasown@^2.0.2: dependencies: function-bind "^1.1.2" +headers-polyfill@^4.0.2: + version "4.0.3" + resolved "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz" + integrity sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ== + html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" @@ -1981,6 +2158,35 @@ inherits@2: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +iptv-checker@^0.29.1: + version "0.29.1" + resolved "https://registry.npmjs.org/iptv-checker/-/iptv-checker-0.29.1.tgz" + integrity sha512-iTuqh7a9Su91kfV8fVuSjPqqAuALddyNR4iZ7ysbTOjjb7usrt8HKppitzRBVaOAuKWVG+A+Z0YV2k6X6GEB7g== + dependencies: + async "^3.2.6" + axios "^1.8.2" + axios-retry "^4.5.0" + colors "^1.4.0" + command-exists "^1.2.9" + commander "^13.1.0" + dateformat "^5.0.3" + eslint "^9.22.0" + get-stdin "^9.0.0" + iptv-playlist-parser "^0.14.0" + msw "^2.7.3" + normalize-url "^8.0.1" + progress "^2.0.3" + socks-proxy-agent "^8.0.5" + valid-url "^1.0.9" + iptv-playlist-parser@^0.13.0: version "0.13.0" resolved "https://registry.npmjs.org/iptv-playlist-parser/-/iptv-playlist-parser-0.13.0.tgz" @@ -1989,6 +2195,14 @@ iptv-playlist-parser@^0.13.0: is-valid-path "^0.1.1" validator "^13.7.0" +iptv-playlist-parser@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/iptv-playlist-parser/-/iptv-playlist-parser-0.14.0.tgz" + integrity sha512-fftp2mgbNZnFU4dQSVJqdGdB2ihZDL/0lqempjYTIcopL4SbJbveAE47DANGCBlcxejqN2WtJGOMM0EPwPdCeQ== + dependencies: + is-valid-path "^0.1.1" + validator "^13.7.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" @@ -2056,15 +2270,20 @@ is-invalid-path@^0.1.0: dependencies: is-glob "^2.0.0" +is-node-process@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz" + integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== + is-number@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== +is-retry-allowed@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz" + integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== is-stream@^2.0.0: version "2.0.1" @@ -2545,6 +2764,11 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + jsesc@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" @@ -2804,6 +3028,35 @@ ms@^2.1.3: resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +msw@^2.7.3: + version "2.7.3" + resolved "https://registry.npmjs.org/msw/-/msw-2.7.3.tgz" + integrity sha512-+mycXv8l2fEAjFZ5sjrtjJDmm2ceKGjrNbBr1durRg6VkU9fNUE/gsmQ51hWbHqs+l35W1iM+ZsmOD9Fd6lspw== + dependencies: + "@bundled-es-modules/cookie" "^2.0.1" + "@bundled-es-modules/statuses" "^1.0.1" + "@bundled-es-modules/tough-cookie" "^0.1.6" + "@inquirer/confirm" "^5.0.0" + "@mswjs/interceptors" "^0.37.0" + "@open-draft/deferred-promise" "^2.2.0" + "@open-draft/until" "^2.1.0" + "@types/cookie" "^0.6.0" + "@types/statuses" "^2.0.4" + graphql "^16.8.1" + headers-polyfill "^4.0.2" + is-node-process "^1.2.0" + outvariant "^1.4.3" + path-to-regexp "^6.3.0" + picocolors "^1.1.1" + strict-event-emitter "^0.5.1" + type-fest "^4.26.1" + yargs "^17.7.2" + +mute-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz" + integrity sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" @@ -2814,13 +3067,6 @@ natural-orderby@^3.0.2: resolved "https://registry.npmjs.org/natural-orderby/-/natural-orderby-3.0.2.tgz" integrity sha512-x7ZdOwBxZCEm9MM7+eQCjkrNLrW3rkBKNHVr78zbtqnMGVNlnDi6C/eUEYgxHNrcbu0ymvjzcwIL/6H1iHri9g== -node-fetch@^2.6.7: - version "2.6.11" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz" - integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== - dependencies: - whatwg-url "^5.0.0" - node-gzip@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/node-gzip/-/node-gzip-1.1.2.tgz" @@ -2846,6 +3092,11 @@ normalize-url@^6.1.0: resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== +normalize-url@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz" + integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== + npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" @@ -2863,7 +3114,7 @@ object-treeify@^2.1.1: resolved "https://registry.npmjs.org/object-treeify/-/object-treeify-2.1.1.tgz" integrity sha512-ofXhazOvXTYWbbibExMiS+asaTbYG/ZWopVroXFFOdjmc8ehXMq9R2VUaTx/C3CnZkQbT52wAZT4DrBLK/nQfw== -once@^1.3.0, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -2889,6 +3140,11 @@ optionator@^0.9.3: type-check "^0.4.0" word-wrap "^1.2.5" +outvariant@^1.4.0, outvariant@^1.4.3: + version "1.4.3" + resolved "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz" + integrity sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA== + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" @@ -3012,7 +3268,12 @@ path-scurry@^2.0.0: lru-cache "^11.0.0" minipass "^7.1.2" -picocolors@^1.0.0, picocolors@^1.1.0: +path-to-regexp@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz" + integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== + +picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -3061,6 +3322,11 @@ pretty-format@^29.0.0, pretty-format@^29.7.0: ansi-styles "^5.0.0" react-is "^18.0.0" +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + prompts@^2.0.1: version "2.4.2" resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" @@ -3074,7 +3340,14 @@ proxy-from-env@^1.1.0: resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -punycode@^2.1.0: +psl@^1.1.33: + version "1.15.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" + +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== @@ -3089,6 +3362,11 @@ q@^1.2.0: resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" @@ -3104,6 +3382,11 @@ require-directory@^2.1.1: resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" @@ -3189,6 +3472,11 @@ signal-exit@^4.0.1: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + signale@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz" @@ -3198,6 +3486,11 @@ signale@^1.4.0: figures "^2.0.0" pkg-conf "^2.1.0" +simple-wcswidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/simple-wcswidth/-/simple-wcswidth-1.0.1.tgz" + integrity sha512-xMO/8eNREtaROt7tJvWJqHBDTMFN4eiQ5I4JRMuilwfnFcV5W9u7RUkueNkdw0jPqGMX36iCywelS5yilTuOxg== + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" @@ -3208,6 +3501,28 @@ slash@^3.0.0: resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks-proxy-agent@^8.0.5: + version "8.0.5" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz" + integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== + dependencies: + agent-base "^7.1.2" + debug "^4.3.4" + socks "^2.8.3" + +socks@^2.8.3: + version "2.8.4" + resolved "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz" + integrity sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + source-map-support@0.5.13: version "0.5.13" resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" @@ -3221,6 +3536,11 @@ source-map@^0.6.0, source-map@^0.6.1: resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" @@ -3233,6 +3553,16 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +statuses@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +strict-event-emitter@^0.5.1: + version "0.5.1" + resolved "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz" + integrity sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== + string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" @@ -3356,10 +3686,15 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +tough-cookie@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" transliteration@^2.3.5: version "2.3.5" @@ -3389,12 +3724,12 @@ ts-jest@^29.2.5: yargs-parser "^21.1.1" tsx@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/tsx/-/tsx-4.6.2.tgz" - integrity sha512-QPpBdJo+ZDtqZgAnq86iY/PD2KYCUPSUGIunHdGwyII99GKH+f3z3FZ8XNFLSGQIA4I365ui8wnQpl8OKLqcsg== + version "4.19.3" + resolved "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz" + integrity sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ== dependencies: - esbuild "~0.18.20" - get-tsconfig "^4.7.2" + esbuild "~0.25.0" + get-tsconfig "^4.7.5" optionalDependencies: fsevents "~2.3.3" @@ -3415,15 +3750,30 @@ type-fest@^0.21.3: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -typescript@>=4.2.0, "typescript@>=4.3 <6", "typescript@>=4.8.4 <5.8.0": +type-fest@^4.26.1: + version "4.37.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.37.0.tgz" + integrity sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg== + +"typescript@>= 4.8.x", typescript@>=4.2.0, "typescript@>=4.3 <6", "typescript@>=4.8.4 <5.8.0": version "5.7.2" resolved "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz" integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== -universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== + +universal-user-agent@^7.0.0, universal-user-agent@^7.0.2: + version "7.0.2" + resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz" + integrity sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== universalify@^2.0.0: version "2.0.0" @@ -3445,6 +3795,14 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + v8-to-istanbul@^9.0.1: version "9.3.0" resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz" @@ -3471,19 +3829,6 @@ walker@^1.0.8: dependencies: makeerror "1.0.12" -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - which@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" @@ -3505,6 +3850,15 @@ word-wrap@^1.2.5: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" @@ -3551,7 +3905,7 @@ yargs-parser@^21.1.1: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.3.1, yargs@^17.5.1: +yargs@^17.3.1, yargs@^17.5.1, yargs@^17.7.2: version "17.7.2" resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== @@ -3568,3 +3922,8 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yoctocolors-cjs@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz" + integrity sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==