Compare commits
No commits in common. "main" and "v0.59.1" have entirely different histories.
313 changed files with 2953 additions and 59470 deletions
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
|
@ -1,38 +0,0 @@
|
||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ''
|
|
||||||
labels: bug
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Describe the bug**
|
|
||||||
A clear and concise description of what the bug is.
|
|
||||||
|
|
||||||
**To Reproduce**
|
|
||||||
Steps to reproduce the behavior:
|
|
||||||
1. Go to '...'
|
|
||||||
2. Click on '....'
|
|
||||||
3. Scroll down to '....'
|
|
||||||
4. See error
|
|
||||||
|
|
||||||
**Expected behavior**
|
|
||||||
A clear and concise description of what you expected to happen.
|
|
||||||
|
|
||||||
**Screenshots**
|
|
||||||
If applicable, add screenshots to help explain your problem.
|
|
||||||
|
|
||||||
**Desktop (please complete the following information):**
|
|
||||||
- OS: [e.g. iOS]
|
|
||||||
- Browser [e.g. chrome, safari]
|
|
||||||
- Version [e.g. 22]
|
|
||||||
|
|
||||||
**Smartphone (please complete the following information):**
|
|
||||||
- Device: [e.g. iPhone6]
|
|
||||||
- OS: [e.g. iOS8.1]
|
|
||||||
- Browser [e.g. stock browser, safari]
|
|
||||||
- Version [e.g. 22]
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context about the problem here.
|
|
||||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
|
@ -1,20 +0,0 @@
|
||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an idea for this project
|
|
||||||
title: ''
|
|
||||||
labels: enhancement
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Is your feature request related to a problem? Please describe.**
|
|
||||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
||||||
|
|
||||||
**Describe the solution you'd like**
|
|
||||||
A clear and concise description of what you want to happen.
|
|
||||||
|
|
||||||
**Describe alternatives you've considered**
|
|
||||||
A clear and concise description of any alternative solutions or features you've considered.
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context or screenshots about the feature request here.
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
name: Request source/extractor
|
|
||||||
about: Request a source or extractor to get URLs from
|
|
||||||
title: Request to add <source/extractor>
|
|
||||||
labels: enhancement
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**What is the site you want to get added?**
|
|
||||||
A link to the source or embed hoster
|
|
||||||
|
|
||||||
**What is the benefit of adding this?**
|
|
||||||
More content is not a good reason. If it's already covered via an existing source/extractor, why should we add another one?
|
|
||||||
|
|
||||||
**Are you aware of any protection the site uses?**
|
|
||||||
E.g. rate-limits or Cloudflare captchas and such
|
|
||||||
|
|
||||||
**What languages does this relate to?**
|
|
||||||
E.g. multi, German, ..
|
|
||||||
|
|
||||||
**Example**
|
|
||||||
A movie/series IMDb/TMDB ID + source link or embed URL to test with.
|
|
||||||
8
.github/workflows/build-tag.yml
vendored
8
.github/workflows/build-tag.yml
vendored
|
|
@ -9,19 +9,19 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Login to Docker Hub
|
name: Login to Docker Hub
|
||||||
uses: docker/login-action@v4
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
-
|
-
|
||||||
name: Set up QEMU (for cross-arch)
|
name: Set up QEMU (for cross-arch)
|
||||||
uses: docker/setup-qemu-action@v4
|
uses: docker/setup-qemu-action@v3
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v4
|
uses: docker/setup-buildx-action@v3
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/build-push-action@v7
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
|
|
|
||||||
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
|
|
@ -9,10 +9,10 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v4
|
uses: docker/setup-buildx-action@v3
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/build-push-action@v7
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
push: false
|
push: false
|
||||||
tags: webstreamr/webstreamr:latest
|
tags: webstreamr/webstreamr:latest
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
".": "0.69.1"
|
".": "0.59.1"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
552
CHANGELOG.md
552
CHANGELOG.md
|
|
@ -1,557 +1,5 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [0.69.1](https://github.com/webstreamr/webstreamr/compare/v0.69.0...v0.69.1) (2026-03-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **source:** exclude ad videos in HDHub4u ([65191cf](https://github.com/webstreamr/webstreamr/commit/65191cfc8dad8f58b44e2c355b9adc600b99b2bf))
|
|
||||||
* **source:** remove stray console.log ([bd2dec0](https://github.com/webstreamr/webstreamr/commit/bd2dec03925d8b7760044dbfaaaec00b48f7cb66))
|
|
||||||
|
|
||||||
## [0.69.0](https://github.com/webstreamr/webstreamr/compare/v0.68.0...v0.69.0) (2026-03-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** update dependency axios to v1.14.0 ([#800](https://github.com/webstreamr/webstreamr/issues/800)) ([ad47aec](https://github.com/webstreamr/webstreamr/commit/ad47aecea3f3d34700add442e023bd54f73451c8))
|
|
||||||
* **extractor:** detect languages from HubCloud title ([89e57d4](https://github.com/webstreamr/webstreamr/commit/89e57d48d95a6f8dd6446048ae72de51dd481f37))
|
|
||||||
* **extractor:** detect resolution from HubCloud title ([f192fd0](https://github.com/webstreamr/webstreamr/commit/f192fd0b7523094746148989e0cf06717db8152e))
|
|
||||||
* remove duplicate URLs ([b87bf62](https://github.com/webstreamr/webstreamr/commit/b87bf62362f3cd6b3ea055ecdaec44511bf2ec84))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* **source:** add HDHub4u ([43f0445](https://github.com/webstreamr/webstreamr/commit/43f04455f17063e459df7e7a34af44de36afd6fc))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** don't fail for HubDrive if HubCloud link is missing ([557efd2](https://github.com/webstreamr/webstreamr/commit/557efd207945ea7ada0bcaf475b0b9b9d60d8f5b))
|
|
||||||
|
|
||||||
|
|
||||||
### Code Refactoring
|
|
||||||
|
|
||||||
* **source:** extract hd hub link redirect resolver ([43637a2](https://github.com/webstreamr/webstreamr/commit/43637a2ff4280db208ec9c94c0a5d52a49dc6672))
|
|
||||||
|
|
||||||
## [0.68.0](https://github.com/webstreamr/webstreamr/compare/v0.67.0...v0.68.0) (2026-03-26)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* exclude resolution config options ([4c7da5d](https://github.com/webstreamr/webstreamr/commit/4c7da5dc208a1854a17aa43a26553fb6c83e7287))
|
|
||||||
|
|
||||||
## [0.67.0](https://github.com/webstreamr/webstreamr/compare/v0.66.16...v0.67.0) (2026-03-25)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.57.2 ([#795](https://github.com/webstreamr/webstreamr/issues/795)) ([5cffa11](https://github.com/webstreamr/webstreamr/commit/5cffa112bac29ee4eb18958f5345f0a3ae68ff30))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* **extractor:** support FSLv2 server in HubCloud ([e36d460](https://github.com/webstreamr/webstreamr/commit/e36d460d57bdc071fc111b1459ea26184a3233e3))
|
|
||||||
|
|
||||||
## [0.66.16](https://github.com/webstreamr/webstreamr/compare/v0.66.15...v0.66.16) (2026-03-23)
|
|
||||||
|
|
||||||
|
|
||||||
### Documentation
|
|
||||||
|
|
||||||
* remove mention of XDMovies ([b60496b](https://github.com/webstreamr/webstreamr/commit/b60496bf224f1869626bceaa7e3eebabfdec8754))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **source:** remove XDMovies ([ff39c59](https://github.com/webstreamr/webstreamr/commit/ff39c594755b586ec4214d942c04026b873854fd))
|
|
||||||
|
|
||||||
## [0.66.15](https://github.com/webstreamr/webstreamr/compare/v0.66.14...v0.66.15) (2026-03-23)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#792](https://github.com/webstreamr/webstreamr/issues/792)) ([fc3d61b](https://github.com/webstreamr/webstreamr/commit/fc3d61b05a31c00607c7309ed04c8438c8f344f7))
|
|
||||||
* **deps:** update dependency cacheable to v2.3.4 ([#789](https://github.com/webstreamr/webstreamr/issues/789)) ([b2b9760](https://github.com/webstreamr/webstreamr/commit/b2b9760445f7b1a987f5aa795ef3a5302e753178))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** hard-code referer for Dropload and SuperVideo for now ([eecf9c4](https://github.com/webstreamr/webstreamr/commit/eecf9c42c5f95266fe1ec0deba1042741efe7306))
|
|
||||||
|
|
||||||
## [0.66.14](https://github.com/webstreamr/webstreamr/compare/v0.66.13...v0.66.14) (2026-03-17)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#784](https://github.com/webstreamr/webstreamr/issues/784)) ([9eca05e](https://github.com/webstreamr/webstreamr/commit/9eca05efc5c56dc0c008b6cac6314c2849e11382))
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.57.1 ([#786](https://github.com/webstreamr/webstreamr/issues/786)) ([b769cd0](https://github.com/webstreamr/webstreamr/commit/b769cd0aa1f8284c921f68c620fa01565097952b))
|
|
||||||
* **extractor:** add cacheVersion and bump it for HubCloud and HubDrive ([ee3effa](https://github.com/webstreamr/webstreamr/commit/ee3effaf0079ee932d6b8a93ead0f095ea7e4906))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** add PixelDrain referer to HubCloud extractor ([693a77e](https://github.com/webstreamr/webstreamr/commit/693a77e73e984e81aee9a702092c5ef098d4e48f))
|
|
||||||
* **extractor:** reduce HubCloud + HubDrive ttl to 12h ([296f047](https://github.com/webstreamr/webstreamr/commit/296f0478b03c4dfd4927c0e53037ce8f9de64872))
|
|
||||||
|
|
||||||
## [0.66.13](https://github.com/webstreamr/webstreamr/compare/v0.66.12...v0.66.13) (2026-03-14)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* downgrade sqlite for now ([66ee72b](https://github.com/webstreamr/webstreamr/commit/66ee72baf02560ca4bed0864869ab8046e85d0eb))
|
|
||||||
|
|
||||||
## [0.66.12](https://github.com/webstreamr/webstreamr/compare/v0.66.11...v0.66.12) (2026-03-14)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#779](https://github.com/webstreamr/webstreamr/issues/779)) ([b7093ed](https://github.com/webstreamr/webstreamr/commit/b7093ed4ae37cc4e4a2603bd6c8dac0118f8e617))
|
|
||||||
* **deps:** update dependency slugify to v1.6.8 ([#777](https://github.com/webstreamr/webstreamr/issues/777)) ([20289ea](https://github.com/webstreamr/webstreamr/commit/20289eaeaf8710c4cfb60d661061c62a3cfa4aeb))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* require sqlite with alpine fix ([0f004dc](https://github.com/webstreamr/webstreamr/commit/0f004dc878c1c1a24cae553100426c61d45841a9))
|
|
||||||
|
|
||||||
## [0.66.11](https://github.com/webstreamr/webstreamr/compare/v0.66.10...v0.66.11) (2026-03-13)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#764](https://github.com/webstreamr/webstreamr/issues/764)) ([394dc91](https://github.com/webstreamr/webstreamr/commit/394dc91bfa0a2382ad7d084f02a2f99b7eb91ca5))
|
|
||||||
* **deps:** update dependency @types/node to v24.12.0 ([#763](https://github.com/webstreamr/webstreamr/issues/763)) ([7de0468](https://github.com/webstreamr/webstreamr/commit/7de046838d8c851caf7ec164c441b77907705c89))
|
|
||||||
* **deps:** update dependency express-rate-limit to v8.3.1 ([#765](https://github.com/webstreamr/webstreamr/issues/765)) ([e90b558](https://github.com/webstreamr/webstreamr/commit/e90b5583a7c2d005e53b60f8152eb4e37dd6591b))
|
|
||||||
* **deps:** update dependency tough-cookie to v6.0.1 ([#773](https://github.com/webstreamr/webstreamr/issues/773)) ([2734fb4](https://github.com/webstreamr/webstreamr/commit/2734fb4d0db6c658022ba1d6a89b90c7194d84b9))
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.57.0 ([#766](https://github.com/webstreamr/webstreamr/issues/766)) ([ad3d0b3](https://github.com/webstreamr/webstreamr/commit/ad3d0b317e476621bef309b95fd683bd0b47fa38))
|
|
||||||
* **deps:** update eslint monorepo to v9.39.4 ([#761](https://github.com/webstreamr/webstreamr/issues/761)) ([955872a](https://github.com/webstreamr/webstreamr/commit/955872a8254e1ab93e298df720ae1e618d2fd3bc))
|
|
||||||
* **deps:** update jest monorepo to v30.3.0 ([#767](https://github.com/webstreamr/webstreamr/issues/767)) ([b522314](https://github.com/webstreamr/webstreamr/commit/b5223148c7ed336136c4182aaaa59f031ea6dc2a))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **deps:** update dependency sqlite3 to v6 ([#772](https://github.com/webstreamr/webstreamr/issues/772)) ([930e819](https://github.com/webstreamr/webstreamr/commit/930e8191beac055e8b82ee9a79bd78f56b2613a2))
|
|
||||||
* **extractor:** add missing VOE domain ([c78c1ad](https://github.com/webstreamr/webstreamr/commit/c78c1ad628c81391bdead00273e3a346983b1f45))
|
|
||||||
* **source:** switch to new Frembed URL and resolve link redirects ([8fe4cc5](https://github.com/webstreamr/webstreamr/commit/8fe4cc5a9bf37612647ed348cf76702fdbf6857e))
|
|
||||||
|
|
||||||
## [0.66.10](https://github.com/webstreamr/webstreamr/compare/v0.66.9...v0.66.10) (2026-03-06)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** update dependency @stylistic/eslint-plugin to v5.10.0 ([#760](https://github.com/webstreamr/webstreamr/issues/760)) ([4e43650](https://github.com/webstreamr/webstreamr/commit/4e436509bf8b6bed5d1d879756f7cccba28b0d6a))
|
|
||||||
* **deps:** update dependency axios-cache-interceptor to v1.12.0 ([#755](https://github.com/webstreamr/webstreamr/issues/755)) ([edebd86](https://github.com/webstreamr/webstreamr/commit/edebd860aa3c4c01b6444c0296e21279ea3231ff))
|
|
||||||
* **deps:** update dependency express-rate-limit to v8.3.0 ([#758](https://github.com/webstreamr/webstreamr/issues/758)) ([f58e0e1](https://github.com/webstreamr/webstreamr/commit/f58e0e1f4f6c4db1e4efbeba6278a5358d1f6a56))
|
|
||||||
* **deps:** update docker/build-push-action action to v7 ([#759](https://github.com/webstreamr/webstreamr/issues/759)) ([737a806](https://github.com/webstreamr/webstreamr/commit/737a8063a8921a8fd0247e2cb3c053030b018294))
|
|
||||||
* **deps:** update docker/login-action action to v4 ([#750](https://github.com/webstreamr/webstreamr/issues/750)) ([6b8363b](https://github.com/webstreamr/webstreamr/commit/6b8363bd9c970b8760a1412a66086b120422567f))
|
|
||||||
* **deps:** update docker/setup-buildx-action action to v4 ([#757](https://github.com/webstreamr/webstreamr/issues/757)) ([d2e72b0](https://github.com/webstreamr/webstreamr/commit/d2e72b0756e8a86d64e6c70e168b689429d4b3d7))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** use Dropload hosting URL origin as Referer ([423abf2](https://github.com/webstreamr/webstreamr/commit/423abf2479b7dffde3138c6043eb1f2854e4b077))
|
|
||||||
|
|
||||||
## [0.66.9](https://github.com/webstreamr/webstreamr/compare/v0.66.8...v0.66.9) (2026-03-04)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* add referral ([a5e429f](https://github.com/webstreamr/webstreamr/commit/a5e429fea365ee04a3bd32f07676a852511be852))
|
|
||||||
* **deps:** update docker/setup-qemu-action action to v4 ([#749](https://github.com/webstreamr/webstreamr/issues/749)) ([b36e148](https://github.com/webstreamr/webstreamr/commit/b36e1484eb51b7d86352c6f78f2f4c21adba28d0))
|
|
||||||
|
|
||||||
|
|
||||||
### Documentation
|
|
||||||
|
|
||||||
* use default branch for tests badge ([6d5870c](https://github.com/webstreamr/webstreamr/commit/6d5870ccb219bcb6448aac732914d02f59b8b602))
|
|
||||||
|
|
||||||
## [0.66.8](https://github.com/webstreamr/webstreamr/compare/v0.66.7...v0.66.8) (2026-03-02)
|
|
||||||
|
|
||||||
|
|
||||||
### Documentation
|
|
||||||
|
|
||||||
* add known issues / limitations section ([438387f](https://github.com/webstreamr/webstreamr/commit/438387faee8fb8604f4de7c1a7876be40d79fa79))
|
|
||||||
* add more limitations ([aa820e1](https://github.com/webstreamr/webstreamr/commit/aa820e1f6463d216ad12c44587b7134f424e1c9a))
|
|
||||||
* add more references ([38d0ac5](https://github.com/webstreamr/webstreamr/commit/38d0ac53059ed338718a759c76c425a2458fa5c2))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** use Dropload playlist headers also internally ([7dfc599](https://github.com/webstreamr/webstreamr/commit/7dfc599de900c34703e41eeea5c4e459da6380cf))
|
|
||||||
|
|
||||||
## [0.66.7](https://github.com/webstreamr/webstreamr/compare/v0.66.6...v0.66.7) (2026-03-02)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#745](https://github.com/webstreamr/webstreamr/issues/745)) ([8ea6d4f](https://github.com/webstreamr/webstreamr/commit/8ea6d4fe3709067c1a2c30dcbf53567e10f102dc))
|
|
||||||
* **deps:** update dependency @types/node to v24.11.0 ([#744](https://github.com/webstreamr/webstreamr/issues/744)) ([282b3d0](https://github.com/webstreamr/webstreamr/commit/282b3d05b32bbcc6e2ac2137e3cb96974ee4ddfb))
|
|
||||||
* **deps:** update dependency axios to v1.13.6 ([#736](https://github.com/webstreamr/webstreamr/issues/736)) ([50e024a](https://github.com/webstreamr/webstreamr/commit/50e024a3ea1b2326fad7f2fcb59324d34a8561a2))
|
|
||||||
* **deps:** update dependency cacheable to v2.3.3 ([#737](https://github.com/webstreamr/webstreamr/issues/737)) ([168d028](https://github.com/webstreamr/webstreamr/commit/168d0280dcef9402815e353bc162af5bbf11af84))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** add referer as proxy header for Dropload ([bbb80f3](https://github.com/webstreamr/webstreamr/commit/bbb80f3cf0b918668149f5f6be1a2c38157a414b))
|
|
||||||
|
|
||||||
## [0.66.6](https://github.com/webstreamr/webstreamr/compare/v0.66.5...v0.66.6) (2026-02-25)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** update dependency minimatch to v10.2.3 ([#715](https://github.com/webstreamr/webstreamr/issues/715)) ([ce4637e](https://github.com/webstreamr/webstreamr/commit/ce4637ea80adaee5f7c325defd9676533dfb884e))
|
|
||||||
* **deps:** update dependency minimatch to v10.2.4 ([#735](https://github.com/webstreamr/webstreamr/issues/735)) ([354c273](https://github.com/webstreamr/webstreamr/commit/354c2731d8ffe1948f5ff8647a7be668c6ce5cbd))
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.56.1 ([#734](https://github.com/webstreamr/webstreamr/issues/734)) ([73ce5f3](https://github.com/webstreamr/webstreamr/commit/73ce5f372d5c2c2be39d1f36fa104afbdee41b77))
|
|
||||||
* **fetcher:** cache whole flaresolverr solution and also use status from it ([221fa98](https://github.com/webstreamr/webstreamr/commit/221fa989f4c51e13308a41e59dd088a2b0128e45))
|
|
||||||
|
|
||||||
## [0.66.5](https://github.com/webstreamr/webstreamr/compare/v0.66.4...v0.66.5) (2026-02-23)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#730](https://github.com/webstreamr/webstreamr/issues/730)) ([6c10236](https://github.com/webstreamr/webstreamr/commit/6c102362fde48af0a6857f8ab66bc42385a3411a))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** remove StreamUp ([556b20e](https://github.com/webstreamr/webstreamr/commit/556b20e6690c251e86e10740b45ca0b4c614b222))
|
|
||||||
* **source:** add support for old XDMovies uploads without URL protector ([964e979](https://github.com/webstreamr/webstreamr/commit/964e9794695201367900ae6e4eda4ad439652222))
|
|
||||||
|
|
||||||
|
|
||||||
### Performance Improvements
|
|
||||||
|
|
||||||
* cache all non-error requests for 15m, tune axios caching ([ae10810](https://github.com/webstreamr/webstreamr/commit/ae10810caaebb909ffe5c51c37dc4a01184391a9))
|
|
||||||
|
|
||||||
## [0.66.4](https://github.com/webstreamr/webstreamr/compare/v0.66.3...v0.66.4) (2026-02-21)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#708](https://github.com/webstreamr/webstreamr/issues/708)) ([ccdd460](https://github.com/webstreamr/webstreamr/commit/ccdd4600bba1041b5f2f2515c730856eb729991f))
|
|
||||||
* **deps:** lock file maintenance ([#718](https://github.com/webstreamr/webstreamr/issues/718)) ([d0f3e0f](https://github.com/webstreamr/webstreamr/commit/d0f3e0f9316770fe47d0395269dafe155fa1e17d))
|
|
||||||
* **deps:** update dependency @stylistic/eslint-plugin to v5.8.0 ([#709](https://github.com/webstreamr/webstreamr/issues/709)) ([1ae12fa](https://github.com/webstreamr/webstreamr/commit/1ae12fa0f790566193bfe42f3457fe9d4e976502))
|
|
||||||
* **deps:** update dependency @stylistic/eslint-plugin to v5.9.0 ([#723](https://github.com/webstreamr/webstreamr/issues/723)) ([bd160eb](https://github.com/webstreamr/webstreamr/commit/bd160eb32ce3719bfbebb468a5b2e45d9b4a35ce))
|
|
||||||
* **deps:** update dependency @types/node to v24.10.12 ([#707](https://github.com/webstreamr/webstreamr/issues/707)) ([3f35ecf](https://github.com/webstreamr/webstreamr/commit/3f35ecf6f3eab3c2c789a176be73d1a80539762d))
|
|
||||||
* **deps:** update dependency @types/node to v24.10.13 ([#717](https://github.com/webstreamr/webstreamr/issues/717)) ([524630d](https://github.com/webstreamr/webstreamr/commit/524630d671a74dd844ce0f629b4ccae1f88cf6e6))
|
|
||||||
* **deps:** update dependency axios to v1.13.5 ([#705](https://github.com/webstreamr/webstreamr/issues/705)) ([de13209](https://github.com/webstreamr/webstreamr/commit/de13209709071f8f5241f209a0dbc75232925c3c))
|
|
||||||
* **deps:** update dependency glob to v13.0.1 ([#698](https://github.com/webstreamr/webstreamr/issues/698)) ([72c191f](https://github.com/webstreamr/webstreamr/commit/72c191fbc10ed9524e698609736f01de0f236c43))
|
|
||||||
* **deps:** update dependency glob to v13.0.2 ([#711](https://github.com/webstreamr/webstreamr/issues/711)) ([eccea52](https://github.com/webstreamr/webstreamr/commit/eccea520b7cf8b997a694c6f4fded3cbc74b960a))
|
|
||||||
* **deps:** update dependency glob to v13.0.3 ([#714](https://github.com/webstreamr/webstreamr/issues/714)) ([65a0e57](https://github.com/webstreamr/webstreamr/commit/65a0e57ab9694648977822f73d89e641feabf893))
|
|
||||||
* **deps:** update dependency glob to v13.0.4 ([#720](https://github.com/webstreamr/webstreamr/issues/720)) ([245dcf6](https://github.com/webstreamr/webstreamr/commit/245dcf6007b6e02d767246463b224e18eecaccb8))
|
|
||||||
* **deps:** update dependency glob to v13.0.5 ([#721](https://github.com/webstreamr/webstreamr/issues/721)) ([fb354b4](https://github.com/webstreamr/webstreamr/commit/fb354b47461f58a25c245dcac65ca2de26302207))
|
|
||||||
* **deps:** update dependency glob to v13.0.6 ([#724](https://github.com/webstreamr/webstreamr/issues/724)) ([23db19d](https://github.com/webstreamr/webstreamr/commit/23db19d07317350d007b646c6915bb9fef60b165))
|
|
||||||
* **deps:** update dependency nodemon to v3.1.12 ([#725](https://github.com/webstreamr/webstreamr/issues/725)) ([5bfbd94](https://github.com/webstreamr/webstreamr/commit/5bfbd94e51e1c7291e12ac912578fcbf6bb39232))
|
|
||||||
* **deps:** update dependency nodemon to v3.1.13 ([#726](https://github.com/webstreamr/webstreamr/issues/726)) ([728ed7e](https://github.com/webstreamr/webstreamr/commit/728ed7ec0631d8de8df12626cdea857b1aad1059))
|
|
||||||
* **deps:** update dependency nodemon to v3.1.14 ([#728](https://github.com/webstreamr/webstreamr/issues/728)) ([3bb7a80](https://github.com/webstreamr/webstreamr/commit/3bb7a800e3662e0bd2ae31ec4b4a61eaee5dde6c))
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.55.0 ([#710](https://github.com/webstreamr/webstreamr/issues/710)) ([7ec9c5b](https://github.com/webstreamr/webstreamr/commit/7ec9c5b1473e1e04203421ebbdd0c8d904744e99))
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.56.0 ([#719](https://github.com/webstreamr/webstreamr/issues/719)) ([94f5c74](https://github.com/webstreamr/webstreamr/commit/94f5c7438d82f96edfb0692e55eb071642d008a9))
|
|
||||||
* **deps:** update eslint monorepo to v9.39.3 ([#727](https://github.com/webstreamr/webstreamr/issues/727)) ([26b6143](https://github.com/webstreamr/webstreamr/commit/26b6143152b8b15f2d79f747dbdb8cb48137a46a))
|
|
||||||
* **extractor:** adapt mixdrop host check ([34500ea](https://github.com/webstreamr/webstreamr/commit/34500ea3fc11376eb99a86a08c179137239d612d))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **source:** handle new XDMovies URL protection ([cf8fb4c](https://github.com/webstreamr/webstreamr/commit/cf8fb4cfa47741ef8cb3fd214e7eff24ecc72375))
|
|
||||||
|
|
||||||
## [0.66.3](https://github.com/webstreamr/webstreamr/compare/v0.66.2...v0.66.3) (2026-02-03)
|
|
||||||
|
|
||||||
|
|
||||||
### Performance Improvements
|
|
||||||
|
|
||||||
* **fetcher:** simplify FlareSolverr integration by just using a request per host ([31da8aa](https://github.com/webstreamr/webstreamr/commit/31da8aa92c48618b0b52fd2194262685c947e02e))
|
|
||||||
|
|
||||||
## [0.66.2](https://github.com/webstreamr/webstreamr/compare/v0.66.1...v0.66.2) (2026-02-03)
|
|
||||||
|
|
||||||
|
|
||||||
### Performance Improvements
|
|
||||||
|
|
||||||
* **fetcher:** improve FlareSolverr integration ([ae5829d](https://github.com/webstreamr/webstreamr/commit/ae5829dcb0f8064e939c06d6457f891b1c7051c8))
|
|
||||||
|
|
||||||
## [0.66.1](https://github.com/webstreamr/webstreamr/compare/v0.66.0...v0.66.1) (2026-02-02)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **source:** make XDMovies a fallback source to avoid hubcloud and many duplicates ([2612860](https://github.com/webstreamr/webstreamr/commit/2612860f1525a8f803e6d37aabdf5fd28b3d287f))
|
|
||||||
|
|
||||||
## [0.66.0](https://github.com/webstreamr/webstreamr/compare/v0.65.10...v0.66.0) (2026-02-02)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#692](https://github.com/webstreamr/webstreamr/issues/692)) ([455d84d](https://github.com/webstreamr/webstreamr/commit/455d84d5b186ff916734977bd2b4cb0b355ca485))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* **source:** add XDMovies ([1f4d81b](https://github.com/webstreamr/webstreamr/commit/1f4d81bfc99066bfe6dafd3da7ffc8b13cdfffc1))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **fetcher:** never block flaresolverr timeouts ([c23ffa3](https://github.com/webstreamr/webstreamr/commit/c23ffa382d862ced1a385cf36d895f75ad3b7e97))
|
|
||||||
|
|
||||||
## [0.65.10](https://github.com/webstreamr/webstreamr/compare/v0.65.9...v0.65.10) (2026-01-28)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#686](https://github.com/webstreamr/webstreamr/issues/686)) ([0743111](https://github.com/webstreamr/webstreamr/commit/074311107a96cb3ed3c3dd2af6828a9a28bbe705))
|
|
||||||
* **deps:** update dependency axios to v1.13.3 ([#685](https://github.com/webstreamr/webstreamr/issues/685)) ([19a73b3](https://github.com/webstreamr/webstreamr/commit/19a73b38669a809a473e69872be5816807da5d13))
|
|
||||||
* **deps:** update dependency axios to v1.13.4 ([#689](https://github.com/webstreamr/webstreamr/issues/689)) ([5c87c5d](https://github.com/webstreamr/webstreamr/commit/5c87c5d9e2b52aeb1665212144d06cca7e6147a4))
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.54.0 ([#687](https://github.com/webstreamr/webstreamr/issues/687)) ([8f8ecb8](https://github.com/webstreamr/webstreamr/commit/8f8ecb868e5fb1dc03073ff0b53d416087ca5437))
|
|
||||||
* **extractor:** add new VOE domain ([75c9509](https://github.com/webstreamr/webstreamr/commit/75c9509793f582fd566ece0694fc6961df5f7f61))
|
|
||||||
* **extractor:** increase Fsst TTL to 3 hours ([a876c9b](https://github.com/webstreamr/webstreamr/commit/a876c9b14489f713460e56a32bcf39a3e4897796))
|
|
||||||
* **extractor:** increase StreamEmbed TTL to 3d ([e52cee2](https://github.com/webstreamr/webstreamr/commit/e52cee212508a1945bc810bda5ce07c3322769a2))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** avoid caching results with empty meta, add some self-healing ([2ba6e4f](https://github.com/webstreamr/webstreamr/commit/2ba6e4fa358ca89aa522e1e97b4e2ed3ded7114a))
|
|
||||||
* **extractor:** ensure every result has a ttl ([db860c2](https://github.com/webstreamr/webstreamr/commit/db860c25c687b87bbec34bc72995ed47aa9115aa))
|
|
||||||
|
|
||||||
|
|
||||||
### Code Refactoring
|
|
||||||
|
|
||||||
* **extractor:** introduce internal type to reduce common code ([50a7e55](https://github.com/webstreamr/webstreamr/commit/50a7e5559bfa98305e006f8b7833aa2952d65029))
|
|
||||||
|
|
||||||
## [0.65.9](https://github.com/webstreamr/webstreamr/compare/v0.65.8...v0.65.9) (2026-01-23)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** update dependency @keyv/sqlite to v4.0.8 ([#677](https://github.com/webstreamr/webstreamr/issues/677)) ([e5197fd](https://github.com/webstreamr/webstreamr/commit/e5197fdb8be200235514fe9de5d5e1ad98fb6a12))
|
|
||||||
* **deps:** update dependency @stylistic/eslint-plugin to v5.7.1 ([#682](https://github.com/webstreamr/webstreamr/issues/682)) ([622b1b3](https://github.com/webstreamr/webstreamr/commit/622b1b3bcc6890e5d926611184c90b392959caaa))
|
|
||||||
* **deps:** update dependency axios-cache-interceptor to v1.11.4 ([#678](https://github.com/webstreamr/webstreamr/issues/678)) ([d3db3fc](https://github.com/webstreamr/webstreamr/commit/d3db3fc5129e3450630d384c849cec4ae83158f8))
|
|
||||||
* **deps:** update dependency cheerio to v1.2.0 ([#683](https://github.com/webstreamr/webstreamr/issues/683)) ([43e16f5](https://github.com/webstreamr/webstreamr/commit/43e16f5bfa8447b22ae402928aa9b7c18ce14299))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** use full cached meta to avoid invalid cache states ([a90d7b1](https://github.com/webstreamr/webstreamr/commit/a90d7b1cad8501a2fa74aa8e457e2249bde4e2ae))
|
|
||||||
|
|
||||||
|
|
||||||
### Code Refactoring
|
|
||||||
|
|
||||||
* **cache:** extract clearCache function ([12ea135](https://github.com/webstreamr/webstreamr/commit/12ea135feb4d7f363a4eefb48588f063815eeaf0))
|
|
||||||
* **cache:** make code more dry and return in-memory cache for test env ([a5539bc](https://github.com/webstreamr/webstreamr/commit/a5539bcf595761a973fafda77db8741f8d0c35a8))
|
|
||||||
|
|
||||||
## [0.65.8](https://github.com/webstreamr/webstreamr/compare/v0.65.7...v0.65.8) (2026-01-20)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* add env var for one-time cache file deletion ([93fe1ae](https://github.com/webstreamr/webstreamr/commit/93fe1ae871a91b5a94b79a91e7b1e97497086c29))
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.53.1 ([#674](https://github.com/webstreamr/webstreamr/issues/674)) ([7c88658](https://github.com/webstreamr/webstreamr/commit/7c886583c97ffa6edc92690c8412e7241a7b3f86))
|
|
||||||
* **extractor:** add lauradaydo.com to VOE ([3c979e7](https://github.com/webstreamr/webstreamr/commit/3c979e77cc3f6790e17bb3982012aad668c202db))
|
|
||||||
* npm audit fix ([28a83e2](https://github.com/webstreamr/webstreamr/commit/28a83e2f29ed6ca10a58ba61d9dcdee2d591b2ad))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** never use external URL results for lazy URL caching to avoid clashes ([1ddc8d9](https://github.com/webstreamr/webstreamr/commit/1ddc8d99d6443f36381b36fd7daaf69eec5b39c2))
|
|
||||||
* **extractor:** use MediaFlow Proxy for DoodStream ([#676](https://github.com/webstreamr/webstreamr/issues/676)) ([a00fa2c](https://github.com/webstreamr/webstreamr/commit/a00fa2c3d65ace25783532066e33d105a17b2853))
|
|
||||||
|
|
||||||
## [0.65.7](https://github.com/webstreamr/webstreamr/compare/v0.65.6...v0.65.7) (2026-01-19)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* pass empty array instead of undefined if meta has no countries ([e8ed29e](https://github.com/webstreamr/webstreamr/commit/e8ed29eb9dea2bfe52fc2c2f07c8c245b08bee3e))
|
|
||||||
|
|
||||||
## [0.65.6](https://github.com/webstreamr/webstreamr/compare/v0.65.5...v0.65.6) (2026-01-19)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#669](https://github.com/webstreamr/webstreamr/issues/669)) ([7c99e4d](https://github.com/webstreamr/webstreamr/commit/7c99e4d1c1d1195235b18639f21ac5d38d29e722))
|
|
||||||
* **deps:** update dependency @types/node to v24.10.9 ([#668](https://github.com/webstreamr/webstreamr/issues/668)) ([aeb15d8](https://github.com/webstreamr/webstreamr/commit/aeb15d86400c16d9594cd8e9f29fc2a366db69f7))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** use correct referer for rgshows, treat vidzee response as block ([d259587](https://github.com/webstreamr/webstreamr/commit/d25958749119c0d4600609197323dd8e5463d65d))
|
|
||||||
* log all unhandled errors inside next handlers, terminate app properly for unhandled error outside ([646e75d](https://github.com/webstreamr/webstreamr/commit/646e75d5f88b3083f8fe491a238d1b5e061909a9))
|
|
||||||
|
|
||||||
## [0.65.5](https://github.com/webstreamr/webstreamr/compare/v0.65.4...v0.65.5) (2026-01-18)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* add issue templates ([5fd6202](https://github.com/webstreamr/webstreamr/commit/5fd62028ce56e03750a4aa415760076cfed793ce))
|
|
||||||
* add priority for sorting, move VixSrc up and RgShows down ([7b708e2](https://github.com/webstreamr/webstreamr/commit/7b708e23851ce191439cbfbe625db07f6554ac8f))
|
|
||||||
* **deps:** update dependency cacheable to v2.3.2 ([#667](https://github.com/webstreamr/webstreamr/issues/667)) ([8aa1344](https://github.com/webstreamr/webstreamr/commit/8aa1344fa590b7ab1fdeecf43f5a55472186805a))
|
|
||||||
* **fetcher:** tune FlareSolverr timeouts and use other cookie variants too ([5b49dd0](https://github.com/webstreamr/webstreamr/commit/5b49dd07356efce2e542fde8bc1fdba7bdf39b32))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** only use bytes and height from meta cache to avoid clashes ([a9c281c](https://github.com/webstreamr/webstreamr/commit/a9c281c8c4c0d215dc78fedd6a34072e0aec9f31))
|
|
||||||
|
|
||||||
## [0.65.4](https://github.com/webstreamr/webstreamr/compare/v0.65.3...v0.65.4) (2026-01-16)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* extract HubDrive handling into own extractor re-using HubCloud for better caching, increase both TTLs ([986db2c](https://github.com/webstreamr/webstreamr/commit/986db2cc670dba5ce5c01e69d280803140bda24d))
|
|
||||||
* **extractor:** simplify cache expiration handling ([507b960](https://github.com/webstreamr/webstreamr/commit/507b96014c8cce1ebf4f836f084e6ce3af67acfb))
|
|
||||||
|
|
||||||
## [0.65.3](https://github.com/webstreamr/webstreamr/compare/v0.65.2...v0.65.3) (2026-01-16)
|
|
||||||
|
|
||||||
|
|
||||||
### Documentation
|
|
||||||
|
|
||||||
* add tmp mount for persistent cache to Docker run example ([231a12f](https://github.com/webstreamr/webstreamr/commit/231a12f685e56aeaab7fd377c4b953e992bcce7e))
|
|
||||||
* mention FlareSolverr support / env var ([e54b54b](https://github.com/webstreamr/webstreamr/commit/e54b54bfb3e13d417b52be001bcd646edfcf4bcf))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **fetcher:** more FlareSolverr related stats, fix clearance cookie expiration ([4cfbf73](https://github.com/webstreamr/webstreamr/commit/4cfbf731b87873e70a76119f96984e2f1a958fdf))
|
|
||||||
|
|
||||||
## [0.65.2](https://github.com/webstreamr/webstreamr/compare/v0.65.1...v0.65.2) (2026-01-16)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** update dependency @tsconfig/node24 to v24.0.4 ([#662](https://github.com/webstreamr/webstreamr/issues/662)) ([90c56de](https://github.com/webstreamr/webstreamr/commit/90c56debfe2e52812f16c9043da601404c6dfbbc))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **fetcher:** make FlareSolverr work again, use single session and pass proxy ([59c8495](https://github.com/webstreamr/webstreamr/commit/59c84952ede26df776cc33c6da57e75ef9dfc258))
|
|
||||||
* remove leftover logging ([9cf9c44](https://github.com/webstreamr/webstreamr/commit/9cf9c4498c610cc84af4f5bf28967f169fda214a))
|
|
||||||
|
|
||||||
## [0.65.1](https://github.com/webstreamr/webstreamr/compare/v0.65.0...v0.65.1) (2026-01-15)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* calculate fallback count properly, only use VidSrc when no other normal source provided results ([5ef6119](https://github.com/webstreamr/webstreamr/commit/5ef61192948b42240ea21ddde7940e881f921aaf))
|
|
||||||
* **extractor:** use lazy url/meta cache also for extractors without a ttl ([26278aa](https://github.com/webstreamr/webstreamr/commit/26278aadba170948107c909c9bf9426e6379b10a))
|
|
||||||
* **extractor:** use milliseconds instead of incorrect seconds for ttl ([17e70c1](https://github.com/webstreamr/webstreamr/commit/17e70c169b6e26ee674c2d608e4bef1bdbb3a08c))
|
|
||||||
* **source:** be resilient against missing heights in 4KHDHub ([79c8e7f](https://github.com/webstreamr/webstreamr/commit/79c8e7fc3255333ae011c12262410ef1739f304b))
|
|
||||||
|
|
||||||
## [0.65.0](https://github.com/webstreamr/webstreamr/compare/v0.64.0...v0.65.0) (2026-01-15)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* make cache immutable, add rate limit ([7593d3d](https://github.com/webstreamr/webstreamr/commit/7593d3d62e638168c9cfbab5cd71f514745ed42a))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add fetcher http stats ([4cf08fc](https://github.com/webstreamr/webstreamr/commit/4cf08fc6d55dbcc1de551091d14f731265b89fd5))
|
|
||||||
* introduce fallback sources and mark VidSrc and RgShows as such ([bad1170](https://github.com/webstreamr/webstreamr/commit/bad1170421298ef6aa5f1c69a6214065fe184773))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** make VixSrc fall back to multi instead of it if language cannot be determined ([ce11a80](https://github.com/webstreamr/webstreamr/commit/ce11a80ba9d71def7f4eab29666eb606e1f5ad59))
|
|
||||||
|
|
||||||
## [0.64.0](https://github.com/webstreamr/webstreamr/compare/v0.63.1...v0.64.0) (2026-01-14)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* **extractor:** add back VidSrc ([9ee91df](https://github.com/webstreamr/webstreamr/commit/9ee91dff31636d6bf980614bfd0f375135c735e7))
|
|
||||||
* **source:** bring back VidSrc as multi source ([381fb89](https://github.com/webstreamr/webstreamr/commit/381fb89cfba8ff3c985ec2ddb11f65467f59c230))
|
|
||||||
|
|
||||||
## [0.63.1](https://github.com/webstreamr/webstreamr/compare/v0.63.0...v0.63.1) (2026-01-14)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* do not ignore errors on height guessing ([a189cdd](https://github.com/webstreamr/webstreamr/commit/a189cddd370c84cc22a93809827c8b988cbbc13f))
|
|
||||||
* **extractor:** make lazyUrlResultCache non-blocking and add stats ([9d6d138](https://github.com/webstreamr/webstreamr/commit/9d6d138fff8a2240f87b227a506fe3ecebd0f677))
|
|
||||||
* regularly clean-up expired items from sqlite cache ([51aa127](https://github.com/webstreamr/webstreamr/commit/51aa127a33f3a3b5b5cfc738e00cd9f682394ea8))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **source:** make 4KHDHub title matching just a tiny bit less strict ([f7cf9da](https://github.com/webstreamr/webstreamr/commit/f7cf9da686e44a36229c590772f651bcd8955a85))
|
|
||||||
|
|
||||||
## [0.63.0](https://github.com/webstreamr/webstreamr/compare/v0.62.3...v0.63.0) (2026-01-12)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** lock file maintenance ([#640](https://github.com/webstreamr/webstreamr/issues/640)) ([20ce2ac](https://github.com/webstreamr/webstreamr/commit/20ce2ac831f1204ffc4dad01d30c1cd00bfe4007))
|
|
||||||
* **deps:** update dependency @types/node to v24.10.7 ([#639](https://github.com/webstreamr/webstreamr/issues/639)) ([816123a](https://github.com/webstreamr/webstreamr/commit/816123ab83c6be300155f8013788d2473650b39a))
|
|
||||||
* **deps:** update dependency typescript-eslint to v8.53.0 ([#645](https://github.com/webstreamr/webstreamr/issues/645)) ([9e25618](https://github.com/webstreamr/webstreamr/commit/9e256186aa6270df59e98cb793f8a62578e30775))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* introduce generic meta cache ([f047287](https://github.com/webstreamr/webstreamr/commit/f047287fe90fba26c19831c1becf0e6d127ee020))
|
|
||||||
* introduce lazy extract for all non-HLS streams ([c6a6a70](https://github.com/webstreamr/webstreamr/commit/c6a6a70eafcff803ea4594037c7a39616a43a304))
|
|
||||||
|
|
||||||
## [0.62.3](https://github.com/webstreamr/webstreamr/compare/v0.62.2...v0.62.3) (2026-01-11)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* configure more Indian languages, add Tamil and Telugu to 4KHDHub ([05b80a2](https://github.com/webstreamr/webstreamr/commit/05b80a2d6367a459fe84879c9b318c416a7a4180))
|
|
||||||
* enable nonBlocking secondary cache writes ([1a99a9e](https://github.com/webstreamr/webstreamr/commit/1a99a9e99ba233c1144107cb3de32c8a5bd28073))
|
|
||||||
* **extractor:** return only best Fsst result ([f49769f](https://github.com/webstreamr/webstreamr/commit/f49769f3c4c2ca9cfca006a45d8a59c7bc3b68e8))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **source:** RgShows is multi ([de79dc0](https://github.com/webstreamr/webstreamr/commit/de79dc014fc00e91f926a7d5b450f875acd2bcdb))
|
|
||||||
|
|
||||||
## [0.62.2](https://github.com/webstreamr/webstreamr/compare/v0.62.1...v0.62.2) (2026-01-10)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **extractor:** support non-HLS streams in RgShows ([d1fcd67](https://github.com/webstreamr/webstreamr/commit/d1fcd671c9646ef923ff7bd8bcb2fe7ad0d599b1))
|
|
||||||
|
|
||||||
## [0.62.1](https://github.com/webstreamr/webstreamr/compare/v0.62.0...v0.62.1) (2026-01-10)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **source:** simplifly Frembed domain detection again ([559ee6e](https://github.com/webstreamr/webstreamr/commit/559ee6ed4e1d705dce358b54f98478317375562a))
|
|
||||||
|
|
||||||
## [0.62.0](https://github.com/webstreamr/webstreamr/compare/v0.61.0...v0.62.0) (2026-01-10)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* do not fail resolution if height guessing fails ([28a8a15](https://github.com/webstreamr/webstreamr/commit/28a8a1554d1c14eb85577e73191a325cc686f22a))
|
|
||||||
* remove all proxy black magic ([66fb0e2](https://github.com/webstreamr/webstreamr/commit/66fb0e2e6dc379a8d4347c576a3c15605745d257))
|
|
||||||
* **source:** improve 4KHDHub search matching ([b273e3a](https://github.com/webstreamr/webstreamr/commit/b273e3a71d09cf2dfd6fffa851e26ea398967878))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* **extractor:** add StreamUP ([#621](https://github.com/webstreamr/webstreamr/issues/621)) ([baf5c91](https://github.com/webstreamr/webstreamr/commit/baf5c9143d4dab4607de891f5b17184e89e027c7))
|
|
||||||
|
|
||||||
## [0.61.0](https://github.com/webstreamr/webstreamr/compare/v0.60.0...v0.61.0) (2026-01-09)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** update dependency @stylistic/eslint-plugin to v5.7.0 ([#624](https://github.com/webstreamr/webstreamr/issues/624)) ([86eb3d4](https://github.com/webstreamr/webstreamr/commit/86eb3d498c3a147c14342c709986ba67fba47919))
|
|
||||||
* **deps:** update dependency axios-cache-interceptor to v1.11.3 ([#626](https://github.com/webstreamr/webstreamr/issues/626)) ([4bec9e5](https://github.com/webstreamr/webstreamr/commit/4bec9e556f8618bc00ea3cda685e3e91aeba82c3))
|
|
||||||
* enforce https:// prefix in mediaflow proxy url and support config without scheme to work aroud elfhosted weirdness ([da7397f](https://github.com/webstreamr/webstreamr/commit/da7397fe75d434aa8a76e1f6ea2443bd631a4ace))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add RgShows ([dcad7db](https://github.com/webstreamr/webstreamr/commit/dcad7db29c272dcb35504cc38d365a929906bf9c))
|
|
||||||
|
|
||||||
## [0.60.0](https://github.com/webstreamr/webstreamr/compare/v0.59.1...v0.60.0) (2026-01-06)
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **fetcher:** disable TLS verification ([281fe00](https://github.com/webstreamr/webstreamr/commit/281fe00a351fc7aa25596e4b1f6b6272247feeb8))
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* **extractor:** switch KinoGer from cf to source, add kinoger.p2pplay.pro support ([f6f71b0](https://github.com/webstreamr/webstreamr/commit/f6f71b043bc51b1b22316c53c916bf24ab745f95))
|
|
||||||
|
|
||||||
## [0.59.1](https://github.com/webstreamr/webstreamr/compare/v0.59.0...v0.59.1) (2026-01-06)
|
## [0.59.1](https://github.com/webstreamr/webstreamr/compare/v0.59.0...v0.59.1) (2026-01-06)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
21
README.md
21
README.md
|
|
@ -1,28 +1,15 @@
|
||||||
# WebStreamr
|
# WebStreamr
|
||||||
|
|
||||||
[](https://github.com/webstreamr/webstreamr/actions/workflows/tests.yml)
|
[](https://github.com/webstreamr/webstreamr/actions/workflows/tests.yml)
|
||||||
[](https://github.com/webstreamr/webstreamr/releases)
|
[](https://github.com/webstreamr/webstreamr/releases)
|
||||||

|

|
||||||
|
|
||||||
[Stremio](https://www.stremio.com/) add-on which provides HTTP URLs from streaming websites.
|
[Stremio](https://www.stremio.com/) add-on which provides HTTP URLs from streaming websites.
|
||||||
|
|
||||||
HTTP streams have limitations.
|
|
||||||
For a better experience, I'd advise using a Debrid service and WebStreamr as fallback.
|
|
||||||
[TorBox](https://torbox.app/subscription?referral=f22eb00d-27ce-4e20-85fc-68da3d018b99) is working very well.
|
|
||||||
|
|
||||||
## Public instance
|
## Public instance
|
||||||
|
|
||||||
A public instance is available at https://webstreamr.hayd.uk. Hosting infrastructure for this instance is donated by [ElfHosted](https://elfhosted.com), and independently maintained by [Hayduk](https://hayd.uk).
|
A public instance is available at https://webstreamr.hayd.uk. Hosting infrastructure for this instance is donated by [ElfHosted](https://elfhosted.com), and independently maintained by [Hayduk](https://hayd.uk).
|
||||||
|
|
||||||
## Known issues / limitations
|
|
||||||
|
|
||||||
- PixelServer / pixeldrain has a daily limit of 6 GB per IP: https://pixeldrain.dev
|
|
||||||
- Dropload and SuperVideo on Android do not work because Stremio does not use the `Referer` header properly via HLS playlists: https://github.com/Stremio/stremio-bugs/issues/2389, maybe https://github.com/Stremio/stremio-bugs/issues/1579
|
|
||||||
- MediaFlow proxy has to be used in an inefficient way because Stremio on Android or its players cannot deal with HLS playlist with redirects: https://github.com/Stremio/stremio-bugs/issues/1574
|
|
||||||
- FlareSolverr cookies cannot be used because Cloudflare does techniques like TLS fingerprinting most likely. But FlareSolverr uses a session per host and should be quick.
|
|
||||||
- VidSrc works but rate limits heavily and is therefore only queried as fallback if nothing else is found.
|
|
||||||
- RgShows detects shared usage and blocks IPs. It therefore only works on private instances.
|
|
||||||
|
|
||||||
## MediaFlow Proxy
|
## MediaFlow Proxy
|
||||||
|
|
||||||
[MediaFlow Proxy](https://github.com/mhdzumair/mediaflow-proxy/) can be added when configuration the add-on to gain access to a couple of more file hosters.
|
[MediaFlow Proxy](https://github.com/mhdzumair/mediaflow-proxy/) can be added when configuration the add-on to gain access to a couple of more file hosters.
|
||||||
|
|
@ -64,7 +51,6 @@ You can run the latest WebStreamr via Docker. E.g.
|
||||||
--pull always \
|
--pull always \
|
||||||
--publish 51546:51546 \
|
--publish 51546:51546 \
|
||||||
--env TMDB_ACCESS_TOKEN="YOUR_TOKEN" \
|
--env TMDB_ACCESS_TOKEN="YOUR_TOKEN" \
|
||||||
--volume /tmp:/tmp \
|
|
||||||
webstreamr/webstreamr
|
webstreamr/webstreamr
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -86,11 +72,6 @@ Optional. Comma separated list of extractors which should be disabled. E.g. `doo
|
||||||
|
|
||||||
Optional. Comma separated list of sources which should be disabled. E.g. `frembed,vidsrc`
|
Optional. Comma separated list of sources which should be disabled. E.g. `frembed,vidsrc`
|
||||||
|
|
||||||
#### `FLARESOLVERR_ENDPOINT`
|
|
||||||
|
|
||||||
Optional. If domains show Cloudflare challenges, FlareSolverr can be used to work around them. E.g. `http://flaresolverr:8191`
|
|
||||||
Proxy configuration is passed-through and only a single session is used to save resources. Byparr is not supported.
|
|
||||||
|
|
||||||
#### `MANIFEST_ID`
|
#### `MANIFEST_ID`
|
||||||
|
|
||||||
Optional. Add-on manifest ID. Default: `webstreamr`
|
Optional. Add-on manifest ID. Default: `webstreamr`
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
process.env['CACHE_DIR'] = '/dev/null';
|
process.env['CACHE_DIR'] = '/dev/null';
|
||||||
process.env['HOST'] = 'example.test';
|
|
||||||
process.env['PROTOCOL'] = 'https';
|
|
||||||
|
|
||||||
if (!process.env['TMDB_ACCESS_TOKEN']) {
|
if (!process.env['TMDB_ACCESS_TOKEN']) {
|
||||||
process.env['TMDB_ACCESS_TOKEN'] = 'some access token';
|
process.env['TMDB_ACCESS_TOKEN'] = 'some access token';
|
||||||
|
|
|
||||||
2576
package-lock.json
generated
2576
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "webstreamr",
|
"name": "webstreamr",
|
||||||
"description": "Provides HTTP URLs from streaming websites.",
|
"description": "Provides HTTP URLs from streaming websites.",
|
||||||
"version": "0.69.1",
|
"version": "0.59.1",
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"analyse": "tsc --noEmit --project ./tsconfig.dev.json",
|
"analyse": "tsc --noEmit --project ./tsconfig.dev.json",
|
||||||
|
|
@ -51,9 +51,7 @@
|
||||||
"cacheable": "^2.0.0",
|
"cacheable": "^2.0.0",
|
||||||
"cheerio": "^1.0.0",
|
"cheerio": "^1.0.0",
|
||||||
"express": "^5.1.0",
|
"express": "^5.1.0",
|
||||||
"express-rate-limit": "^8.2.1",
|
|
||||||
"fast-levenshtein": "^3.0.0",
|
"fast-levenshtein": "^3.0.0",
|
||||||
"glob": "^13.0.0",
|
|
||||||
"http-proxy-agent": "^7.0.2",
|
"http-proxy-agent": "^7.0.2",
|
||||||
"https-proxy-agent": "^7.0.6",
|
"https-proxy-agent": "^7.0.6",
|
||||||
"memoizee": "^0.4.17",
|
"memoizee": "^0.4.17",
|
||||||
|
|
@ -62,7 +60,6 @@
|
||||||
"rot13-cipher": "^1.0.0",
|
"rot13-cipher": "^1.0.0",
|
||||||
"slugify": "^1.6.6",
|
"slugify": "^1.6.6",
|
||||||
"socks-proxy-agent": "^8.0.5",
|
"socks-proxy-agent": "^8.0.5",
|
||||||
"sqlite3": "^5.1.7",
|
|
||||||
"tough-cookie": "^6.0.0",
|
"tough-cookie": "^6.0.0",
|
||||||
"unpacker": "^1.0.1",
|
"unpacker": "^1.0.1",
|
||||||
"winston": "^3.17.0"
|
"winston": "^3.17.0"
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ export class ConfigureController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private getConfigure(req: Request, res: Response) {
|
private getConfigure(req: Request, res: Response) {
|
||||||
const config: Config = JSON.parse(req.params['config'] as string || JSON.stringify(getDefaultConfig()));
|
const config: Config = JSON.parse(req.params['config'] || JSON.stringify(getDefaultConfig()));
|
||||||
|
|
||||||
// Convenience preset for ElfHosted WebStreamr bundle including Media Flow Proxy
|
// Convenience preset for ElfHosted WebStreamr bundle including Media Flow Proxy
|
||||||
if (!req.params['config'] && isElfHostedInstance(req)) {
|
if (!req.params['config'] && isElfHostedInstance(req)) {
|
||||||
|
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
import { Mutex } from 'async-mutex';
|
|
||||||
import { Request, Response, Router } from 'express';
|
|
||||||
import winston from 'winston';
|
|
||||||
import { ExtractorRegistry } from '../extractor';
|
|
||||||
import { contextFromRequestAndResponse, Fetcher } from '../utils';
|
|
||||||
|
|
||||||
export class ExtractController {
|
|
||||||
public readonly router: Router;
|
|
||||||
|
|
||||||
private readonly logger: winston.Logger;
|
|
||||||
private readonly extractorRegistry: ExtractorRegistry;
|
|
||||||
|
|
||||||
private readonly locks = new Map<string, Mutex>();
|
|
||||||
|
|
||||||
public constructor(logger: winston.Logger, _fetcher: Fetcher, extractorRegistry: ExtractorRegistry) {
|
|
||||||
this.router = Router();
|
|
||||||
|
|
||||||
this.logger = logger;
|
|
||||||
this.extractorRegistry = extractorRegistry;
|
|
||||||
|
|
||||||
this.router.get('/extract', this.extract.bind(this));
|
|
||||||
}
|
|
||||||
|
|
||||||
private async extract(req: Request, res: Response) {
|
|
||||||
if (req.method !== 'GET') {
|
|
||||||
res.status(405).send('Method Not Allowed');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const ctx = contextFromRequestAndResponse(req, res);
|
|
||||||
|
|
||||||
const index = parseInt(req.query['index'] as string);
|
|
||||||
const url = new URL(req.query['url'] as string);
|
|
||||||
|
|
||||||
this.logger.info(`Lazy extract index ${index} of URL ${url} for ip ${ctx.ip}`, ctx);
|
|
||||||
|
|
||||||
let mutex = this.locks.get(url.href);
|
|
||||||
if (!mutex) {
|
|
||||||
mutex = new Mutex();
|
|
||||||
this.locks.set(url.href, mutex);
|
|
||||||
}
|
|
||||||
|
|
||||||
await mutex.runExclusive(async () => {
|
|
||||||
const urlResults = await this.extractorRegistry.handle(ctx, url);
|
|
||||||
|
|
||||||
res.redirect(urlResults[index]?.url.href as string);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!mutex.isLocked()) {
|
|
||||||
this.locks.delete(url.href);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -21,7 +21,7 @@ export class ManifestController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private getManifest(req: Request, res: Response) {
|
private getManifest(req: Request, res: Response) {
|
||||||
const config: Config = JSON.parse(req.params['config'] as string || JSON.stringify(getDefaultConfig()));
|
const config: Config = JSON.parse(req.params['config'] || JSON.stringify(getDefaultConfig()));
|
||||||
|
|
||||||
const manifest = buildManifest(this.sources, this.extractors, config);
|
const manifest = buildManifest(this.sources, this.extractors, config);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ export class StreamController {
|
||||||
|
|
||||||
private async getStream(req: Request, res: Response) {
|
private async getStream(req: Request, res: Response) {
|
||||||
const type: ContentType = (req.params['type'] || '') as ContentType;
|
const type: ContentType = (req.params['type'] || '') as ContentType;
|
||||||
const rawId: string = req.params['id'] as string || '';
|
const rawId: string = req.params['id'] || '';
|
||||||
|
|
||||||
let id: Id;
|
let id: Id;
|
||||||
if (rawId.startsWith('tmdb:')) {
|
if (rawId.startsWith('tmdb:')) {
|
||||||
|
|
@ -56,7 +56,7 @@ export class StreamController {
|
||||||
const { streams, ttl } = await this.streamResolver.resolve(ctx, sources, type, id);
|
const { streams, ttl } = await this.streamResolver.resolve(ctx, sources, type, id);
|
||||||
|
|
||||||
if (ttl && envIsProd()) {
|
if (ttl && envIsProd()) {
|
||||||
res.setHeader('Cache-Control', `public, max-age=${Math.floor(ttl / 1000)}, immutable`);
|
res.setHeader('Cache-Control', `max-age=${Math.floor(ttl / 1000)}, public`);
|
||||||
}
|
}
|
||||||
|
|
||||||
res.setHeader('Content-Type', 'application/json');
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
export * from './ExtractController';
|
|
||||||
export * from './ConfigureController';
|
export * from './ConfigureController';
|
||||||
export * from './ManifestController';
|
export * from './ManifestController';
|
||||||
export * from './StreamController';
|
export * from './StreamController';
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,25 @@ import { ExtractorRegistry } from './ExtractorRegistry';
|
||||||
const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'nope' })] });
|
const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'nope' })] });
|
||||||
const extractorRegistry = new ExtractorRegistry(logger, [new DoodStream(new FetcherMock(`${__dirname}/__fixtures__/DoodStream`))]);
|
const extractorRegistry = new ExtractorRegistry(logger, [new DoodStream(new FetcherMock(`${__dirname}/__fixtures__/DoodStream`))]);
|
||||||
|
|
||||||
const ctx = createTestContext({ mediaFlowProxyUrl: 'https://mediaflow.test.org', mediaFlowProxyPassword: 'test' });
|
const ctx = createTestContext();
|
||||||
|
|
||||||
describe('DoodStream', () => {
|
describe('DoodStream', () => {
|
||||||
test('dood.to', async () => {
|
test('dood.to', async () => {
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('http://dood.to/e/sk1m9eumzyjj'))).toMatchSnapshot();
|
expect(await extractorRegistry.handle(ctx, new URL('http://dood.to/e/sk1m9eumzyjj'))).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('missing pass_md5 -> not found', async () => {
|
||||||
|
expect(await extractorRegistry.handle(ctx, new URL('https://dood.to/e/gy8l8mb2i311'))).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
|
||||||
test('can guess height from title', async () => {
|
test('can guess height from title', async () => {
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://do7go.com/e/dfx8me4un4ul'))).toMatchSnapshot();
|
expect(await extractorRegistry.handle(ctx, new URL('https://do7go.com/e/dfx8me4un4ul'))).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('cloudflare storage', async () => {
|
||||||
|
expect(await extractorRegistry.handle(ctx, new URL('https://doodstream.com/e/wfpwtsgyr1xi'))).toMatchSnapshot();
|
||||||
|
});
|
||||||
|
|
||||||
test('not found', async () => {
|
test('not found', async () => {
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://myvidplay.com/e/cz7cus0bvlzr'))).toMatchSnapshot();
|
expect(await extractorRegistry.handle(ctx, new URL('https://myvidplay.com/e/cz7cus0bvlzr'))).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
|
import randomstring from 'randomstring';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { buildMediaFlowProxyExtractorRedirectUrl, supportsMediaFlowProxy } from '../utils';
|
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class DoodStream extends Extractor {
|
export class DoodStream extends Extractor {
|
||||||
|
|
@ -12,11 +12,9 @@ export class DoodStream extends Extractor {
|
||||||
|
|
||||||
public override readonly ttl: number = 21600000; // 6h
|
public override readonly ttl: number = 21600000; // 6h
|
||||||
|
|
||||||
public override viaMediaFlowProxy = true;
|
|
||||||
|
|
||||||
/** @see https://github.com/Gujal00/ResolveURL/blob/master/script.module.resolveurl/lib/resolveurl/plugins/doodstream.py */
|
/** @see https://github.com/Gujal00/ResolveURL/blob/master/script.module.resolveurl/lib/resolveurl/plugins/doodstream.py */
|
||||||
public supports(ctx: Context, url: URL): boolean {
|
public supports(_ctx: Context, url: URL): boolean {
|
||||||
return null !== url.host.match(/dood|do[0-9]go|doood|dooood|ds2play|ds2video|dsvplay|d0o0d|do0od|d0000d|d000d|myvidplay|vidply|all3do|doply|vide0|vvide0|d-s/) && supportsMediaFlowProxy(ctx);
|
return null !== url.host.match(/dood|do[0-9]go|doood|dooood|ds2play|ds2video|dsvplay|d0o0d|do0od|d0000d|d000d|myvidplay|vidply|all3do|doply|vide0|vvide0|d-s/);
|
||||||
};
|
};
|
||||||
|
|
||||||
public override normalize(url: URL): URL {
|
public override normalize(url: URL): URL {
|
||||||
|
|
@ -25,7 +23,7 @@ export class DoodStream extends Extractor {
|
||||||
return new URL(`http://dood.to/e/${videoId}`);
|
return new URL(`http://dood.to/e/${videoId}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
const html = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -34,21 +32,38 @@ export class DoodStream extends Extractor {
|
||||||
throw new NotFoundError();
|
throw new NotFoundError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const passMd5Match = html.match(/\/pass_md5\/[\w-]+\/([\w-]+)/) as string[];
|
||||||
|
const token = passMd5Match[1] as string;
|
||||||
|
|
||||||
|
const baseUrl = await this.fetcher.text(ctx, new URL(passMd5Match[0] as string, url.origin), { headers: { Referer: url.href } });
|
||||||
|
|
||||||
const $ = cheerio.load(html);
|
const $ = cheerio.load(html);
|
||||||
const title = $('title').text().trim().replace(/ - DoodStream$/, '').trim();
|
const title = $('title').text().trim().replace(/ - DoodStream$/, '').trim();
|
||||||
|
|
||||||
const downloadHtml = await this.fetcher.text(ctx, new URL(url.href.replace('/e/', '/d/')));
|
const downloadHtml = await this.fetcher.text(ctx, new URL(url.href.replace('/e/', '/d/')));
|
||||||
const sizeMatch = downloadHtml.match(/([\d.]+ ?[GM]B)/);
|
const sizeMatch = downloadHtml.match(/([\d.]+ ?[GM]B)/);
|
||||||
|
|
||||||
|
let mp4Url: URL;
|
||||||
|
if (baseUrl.includes('cloudflarestorage')) {
|
||||||
|
mp4Url = new URL(baseUrl);
|
||||||
|
} else {
|
||||||
|
mp4Url = new URL(`${baseUrl}${randomstring.generate(10)}?token=${token}&expiry=${Date.now()}`);
|
||||||
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
url: buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Doodstream', url, headers),
|
url: mp4Url,
|
||||||
format: Format.mp4,
|
format: Format.mp4,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
title,
|
title,
|
||||||
...(sizeMatch && { bytes: bytes.parse(sizeMatch[1] as string) as number }),
|
...(sizeMatch && { bytes: bytes.parse(sizeMatch[1] as string) as number }),
|
||||||
},
|
},
|
||||||
|
requestHeaders: {
|
||||||
|
Referer: url.origin,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { extractUrlFromPacked, guessHeightFromPlaylist } from '../utils';
|
import { extractUrlFromPacked, guessHeightFromPlaylist } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -13,12 +13,12 @@ export class Dropload extends Extractor {
|
||||||
public override readonly ttl: number = 10800000; // 3h
|
public override readonly ttl: number = 10800000; // 3h
|
||||||
|
|
||||||
public supports(_ctx: Context, url: URL): boolean {
|
public supports(_ctx: Context, url: URL): boolean {
|
||||||
return null !== url.host.match(/dropload|dr0pstream/);
|
return null !== url.host.match(/dropload/);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override readonly normalize = (url: URL): URL => new URL(url.href.replace('/d/', '/').replace('/e/', '/').replace('/embed-', '/'));
|
public override readonly normalize = (url: URL): URL => new URL(url.href.replace('/d/', '/').replace('/e/', '/').replace('/embed-', '/'));
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
const html = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -28,12 +28,11 @@ export class Dropload extends Extractor {
|
||||||
}
|
}
|
||||||
|
|
||||||
const playlistUrl = extractUrlFromPacked(html, [/sources:\[{file:"(.*?)"/]);
|
const playlistUrl = extractUrlFromPacked(html, [/sources:\[{file:"(.*?)"/]);
|
||||||
const playlistHeaders = { Referer: 'https://dr0pstream.com/' };
|
|
||||||
|
|
||||||
const heightMatch = html.match(/\d{3,}x(\d{3,}),/);
|
const heightMatch = html.match(/\d{3,}x(\d{3,}),/);
|
||||||
const height = heightMatch
|
const height = heightMatch
|
||||||
? parseInt(heightMatch[1] as string)
|
? parseInt(heightMatch[1] as string)
|
||||||
: meta.height ?? await guessHeightFromPlaylist(ctx, this.fetcher, playlistUrl, { headers: playlistHeaders });
|
: await guessHeightFromPlaylist(ctx, this.fetcher, playlistUrl, url);
|
||||||
|
|
||||||
const sizeMatch = html.match(/([\d.]+ ?[GM]B)/);
|
const sizeMatch = html.match(/([\d.]+ ?[GM]B)/);
|
||||||
const size = sizeMatch ? bytes.parse(sizeMatch[1] as string) as number : undefined;
|
const size = sizeMatch ? bytes.parse(sizeMatch[1] as string) as number : undefined;
|
||||||
|
|
@ -45,13 +44,14 @@ export class Dropload extends Extractor {
|
||||||
{
|
{
|
||||||
url: playlistUrl,
|
url: playlistUrl,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
title,
|
title,
|
||||||
...(size && { bytes: size }),
|
...(size && { bytes: size }),
|
||||||
...(height && { height }),
|
...(height && { height }),
|
||||||
},
|
},
|
||||||
requestHeaders: playlistHeaders,
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { showExternalUrls } from '../utils';
|
import { showExternalUrls } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -13,13 +13,14 @@ export class ExternalUrl extends Extractor {
|
||||||
return showExternalUrls(ctx.config) && null !== url.host.match(/.*/);
|
return showExternalUrls(ctx.config) && null !== url.host.match(/.*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(_ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(_ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
url: url,
|
url: url,
|
||||||
format: Format.unknown,
|
format: Format.unknown,
|
||||||
isExternal: true,
|
isExternal: true,
|
||||||
label: `${url.host}`,
|
label: `${url.host}`,
|
||||||
|
ttl: this.ttl,
|
||||||
meta,
|
meta,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta, UrlResult } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { Fetcher } from '../utils';
|
import { Fetcher } from '../utils';
|
||||||
|
|
||||||
export abstract class Extractor {
|
export abstract class Extractor {
|
||||||
|
|
@ -9,8 +9,6 @@ export abstract class Extractor {
|
||||||
|
|
||||||
public readonly ttl: number = 900000; // 15m
|
public readonly ttl: number = 900000; // 15m
|
||||||
|
|
||||||
public readonly cacheVersion: number | undefined = undefined;
|
|
||||||
|
|
||||||
public readonly viaMediaFlowProxy: boolean = false;
|
public readonly viaMediaFlowProxy: boolean = false;
|
||||||
|
|
||||||
protected readonly fetcher: Fetcher;
|
protected readonly fetcher: Fetcher;
|
||||||
|
|
@ -25,17 +23,12 @@ export abstract class Extractor {
|
||||||
return url;
|
return url;
|
||||||
};
|
};
|
||||||
|
|
||||||
protected abstract extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]>;
|
protected abstract extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]>;
|
||||||
|
|
||||||
public async extract(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
public async extract(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
try {
|
try {
|
||||||
return (await this.extractInternal(ctx, url, meta)).map(
|
return (await this.extractInternal(ctx, url, meta)).map(
|
||||||
urlResult => ({
|
urlResult => ({ ...urlResult, label: this.formatLabel(urlResult.label) }),
|
||||||
...urlResult,
|
|
||||||
label: this.formatLabel(urlResult.label ?? this.label),
|
|
||||||
ttl: this.ttl,
|
|
||||||
|
|
||||||
}),
|
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error instanceof NotFoundError) {
|
if (error instanceof NotFoundError) {
|
||||||
|
|
@ -49,7 +42,6 @@ export abstract class Extractor {
|
||||||
isExternal: true,
|
isExternal: true,
|
||||||
error,
|
error,
|
||||||
label: this.formatLabel(this.label),
|
label: this.formatLabel(this.label),
|
||||||
ttl: 0,
|
|
||||||
meta,
|
meta,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -49,11 +49,6 @@ describe('ExtractorRegistry', () => {
|
||||||
expect(urlResults).toMatchSnapshot();
|
expect(urlResults).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('empty results are cached', async () => {
|
|
||||||
const urlResults = await extractorRegistry.handle(ctx, new URL('https://dropload.io/asdfghijklmn.html'), { title: 'title' });
|
|
||||||
expect(urlResults).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('stats returns something', async () => {
|
test('stats returns something', async () => {
|
||||||
const stats = extractorRegistry.stats();
|
const stats = extractorRegistry.stats();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,23 @@
|
||||||
|
// eslint-disable-next-line import/no-named-as-default
|
||||||
|
import KeyvSqlite from '@keyv/sqlite';
|
||||||
import { Cacheable, CacheableMemory, Keyv } from 'cacheable';
|
import { Cacheable, CacheableMemory, Keyv } from 'cacheable';
|
||||||
import winston from 'winston';
|
import winston from 'winston';
|
||||||
import { Context, Format, Meta, UrlResult } from '../types';
|
import { Context, Meta, UrlResult } from '../types';
|
||||||
import { createKeyvSqlite, envGet, isExtractorDisabled } from '../utils';
|
import { getCacheDir, isExtractorDisabled } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class ExtractorRegistry {
|
export class ExtractorRegistry {
|
||||||
private readonly logger: winston.Logger;
|
private readonly logger: winston.Logger;
|
||||||
private readonly extractors: Extractor[];
|
private readonly extractors: Extractor[];
|
||||||
|
|
||||||
private readonly urlResultCache: Cacheable;
|
private readonly urlResultCache: Cacheable;
|
||||||
private readonly lazyUrlResultCache: Cacheable;
|
|
||||||
|
|
||||||
public constructor(logger: winston.Logger, extractors: Extractor[]) {
|
public constructor(logger: winston.Logger, extractors: Extractor[]) {
|
||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
this.extractors = extractors;
|
this.extractors = extractors;
|
||||||
|
|
||||||
this.urlResultCache = new Cacheable({
|
this.urlResultCache = new Cacheable({
|
||||||
nonBlocking: true,
|
|
||||||
primary: new Keyv({ store: new CacheableMemory({ lruSize: 1024 }) }),
|
primary: new Keyv({ store: new CacheableMemory({ lruSize: 1024 }) }),
|
||||||
secondary: createKeyvSqlite('extractor-cache'),
|
secondary: new Keyv(new KeyvSqlite(`sqlite://${getCacheDir()}/webstreamr-extractor-cache.sqlite`)),
|
||||||
stats: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
this.lazyUrlResultCache = new Cacheable({
|
|
||||||
nonBlocking: true,
|
|
||||||
primary: new Keyv({ store: new CacheableMemory({ lruSize: 1024 }) }),
|
|
||||||
secondary: createKeyvSqlite('extractor-lazy-cache'),
|
|
||||||
stats: true,
|
stats: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -33,80 +25,55 @@ export class ExtractorRegistry {
|
||||||
public stats() {
|
public stats() {
|
||||||
return {
|
return {
|
||||||
urlResultCache: this.urlResultCache.stats,
|
urlResultCache: this.urlResultCache.stats,
|
||||||
lazyUrlResultCache: this.lazyUrlResultCache.stats,
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
public async handle(ctx: Context, url: URL, meta?: Meta, allowLazy?: boolean): Promise<UrlResult[]> {
|
public async handle(ctx: Context, url: URL, meta?: Meta): Promise<UrlResult[]> {
|
||||||
const extractor = this.extractors.find(extractor => !isExtractorDisabled(ctx.config, extractor) && extractor.supports(ctx, url));
|
const extractor = this.extractors.find(extractor => !isExtractorDisabled(ctx.config, extractor) && extractor.supports(ctx, url));
|
||||||
if (!extractor) {
|
if (!extractor) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
const normalizedUrl = extractor.normalize(url);
|
const normalizedUrl = extractor.normalize(url);
|
||||||
const cacheKey = this.determineCacheKey(ctx, extractor, normalizedUrl);
|
const cacheKey = extractor.viaMediaFlowProxy
|
||||||
|
? `${extractor.id}_${normalizedUrl}_${ctx.config.mediaFlowProxyUrl}`
|
||||||
|
: `${extractor.id}_${normalizedUrl}`;
|
||||||
|
|
||||||
const storedDataRaw = await this.urlResultCache.getRaw<UrlResult[]>(cacheKey);
|
const storedDataRaw = await this.urlResultCache.getRaw<UrlResult[]>(cacheKey);
|
||||||
const expires = storedDataRaw?.expires;
|
const expires = storedDataRaw?.expires;
|
||||||
if (storedDataRaw && expires) {
|
if (storedDataRaw && expires) {
|
||||||
const ttl = expires - Date.now();
|
// Ignore the cache randomly after at least 2/3 of the TTL passed to start refreshing results slowly
|
||||||
|
const refreshTimestamp = this.randomInteger(expires - extractor.ttl * (2 / 3), expires);
|
||||||
|
const now = Date.now();
|
||||||
|
|
||||||
/* istanbul ignore if */
|
/* istanbul ignore if */
|
||||||
if (ttl > 0) {
|
if (refreshTimestamp > now) {
|
||||||
return (storedDataRaw.value as UrlResult[]).map(urlResult => ({ ...urlResult, ttl, url: new URL(urlResult.url) }));
|
return (storedDataRaw.value as UrlResult[]).map(urlResult => ({ ...urlResult, ttl: expires - now, url: new URL(urlResult.url) }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const lazyUrlResults = await this.lazyUrlResultCache.get<UrlResult[]>(normalizedUrl.href) ?? [];
|
|
||||||
|
|
||||||
/* istanbul ignore next */
|
|
||||||
if (
|
|
||||||
lazyUrlResults.length && allowLazy && !extractor.viaMediaFlowProxy
|
|
||||||
&& lazyUrlResults.every(urlResult => urlResult.format !== Format.hls) // related to Android issues, e.g. https://github.com/Stremio/stremio-bugs/issues/1574 or https://github.com/Stremio/stremio-bugs/issues/1579
|
|
||||||
) {
|
|
||||||
// generate lazy extract urls
|
|
||||||
return lazyUrlResults.map((urlResult, index) => {
|
|
||||||
const extractUrl = new URL(`${envGet('PROTOCOL')}:${envGet('HOST')}/extract/`);
|
|
||||||
|
|
||||||
extractUrl.searchParams.set('index', `${index}`);
|
|
||||||
extractUrl.searchParams.set('url', url.href);
|
|
||||||
|
|
||||||
return { ...urlResult, url: extractUrl };
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
this.logger.info(`Extract ${url} using ${extractor.id} extractor`, ctx);
|
this.logger.info(`Extract ${url} using ${extractor.id} extractor`, ctx);
|
||||||
|
|
||||||
const mergedMeta: Meta = { ...meta, ...lazyUrlResults[0]?.meta };
|
const urlResults = await extractor.extract(
|
||||||
const urlResults = await extractor.extract(ctx, normalizedUrl, { extractorId: extractor.id, ...mergedMeta });
|
ctx,
|
||||||
|
normalizedUrl,
|
||||||
|
{
|
||||||
|
...meta,
|
||||||
|
countryCodes: meta?.countryCodes ?? [],
|
||||||
|
extractorId: meta?.extractorId ?? extractor.id,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
if (!Object.keys(mergedMeta).length || urlResults.some(urlResult => urlResult.error)) {
|
if (!urlResults.length) {
|
||||||
await this.urlResultCache.delete(cacheKey);
|
await this.urlResultCache.set<UrlResult[]>(cacheKey, urlResults, 43200000); // 12h
|
||||||
await this.lazyUrlResultCache.delete(normalizedUrl.href);
|
} else if (!urlResults.some(urlResult => urlResult.error) && extractor.ttl) {
|
||||||
|
await this.urlResultCache.set<UrlResult[]>(cacheKey, urlResults, extractor.ttl);
|
||||||
return urlResults;
|
|
||||||
}
|
|
||||||
|
|
||||||
const ttl = urlResults.length ? extractor.ttl : 43200000; // 12h
|
|
||||||
|
|
||||||
await this.urlResultCache.set<UrlResult[]>(cacheKey, urlResults, ttl);
|
|
||||||
|
|
||||||
if (extractor.id !== 'external') {
|
|
||||||
await this.lazyUrlResultCache.set<UrlResult[]>(normalizedUrl.href, urlResults, 2629800000); // 1 month
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return urlResults;
|
return urlResults;
|
||||||
};
|
};
|
||||||
|
|
||||||
private determineCacheKey(ctx: Context, extractor: Extractor, url: URL): string {
|
private randomInteger(min: number, max: number) {
|
||||||
let suffix = '';
|
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||||
if (extractor.viaMediaFlowProxy) {
|
|
||||||
suffix += `_${ctx.config.mediaFlowProxyUrl}`;
|
|
||||||
}
|
|
||||||
if (extractor.cacheVersion) {
|
|
||||||
suffix += `_${extractor.cacheVersion}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return `${extractor.id}_${url}${suffix}`;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { buildMediaFlowProxyExtractorStreamUrl, supportsMediaFlowProxy } from '../utils';
|
import { buildMediaFlowProxyExtractorStreamUrl, supportsMediaFlowProxy } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -19,7 +19,7 @@ export class Fastream extends Extractor {
|
||||||
return new URL(url.href.replace('/e/', '/embed-').replace('/d/', '/embed-'));
|
return new URL(url.href.replace('/e/', '/embed-').replace('/d/', '/embed-'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const downloadUrl = new URL(url.href.replace('/embed-', '/d/'));
|
const downloadUrl = new URL(url.href.replace('/embed-', '/d/'));
|
||||||
|
|
@ -38,6 +38,8 @@ export class Fastream extends Extractor {
|
||||||
{
|
{
|
||||||
url: playlistUrl,
|
url: playlistUrl,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
bytes: bytes.parse(heightAndSizeMatch[2] as string) as number,
|
bytes: bytes.parse(heightAndSizeMatch[2] as string) as number,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { buildMediaFlowProxyExtractorStreamUrl, supportsMediaFlowProxy, unpackEval } from '../utils';
|
import { buildMediaFlowProxyExtractorStreamUrl, supportsMediaFlowProxy, unpackEval } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -62,7 +62,7 @@ export class FileLions extends Extractor {
|
||||||
return new URL(url.href.replace('/v/', '/f/').replace('/download/', '/f/').replace('/file/', '/f/'));
|
return new URL(url.href.replace('/v/', '/f/').replace('/download/', '/f/').replace('/file/', '/f/'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
const html = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -87,6 +87,8 @@ export class FileLions extends Extractor {
|
||||||
{
|
{
|
||||||
url: await buildMediaFlowProxyExtractorStreamUrl(ctx, this.fetcher, 'FileLions', url, headers),
|
url: await buildMediaFlowProxyExtractorStreamUrl(ctx, this.fetcher, 'FileLions', url, headers),
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
height: parseInt(heightMatch[1] as string),
|
height: parseInt(heightMatch[1] as string),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import {
|
import {
|
||||||
buildMediaFlowProxyExtractorStreamUrl,
|
buildMediaFlowProxyExtractorStreamUrl,
|
||||||
supportsMediaFlowProxy,
|
supportsMediaFlowProxy,
|
||||||
|
|
@ -45,7 +45,7 @@ export class FileMoon extends Extractor {
|
||||||
return new URL(url.href.replace('/e/', '/d/'));
|
return new URL(url.href.replace('/e/', '/d/'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta, originalUrl?: URL): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta, originalUrl?: URL): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
const html = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -72,6 +72,8 @@ export class FileMoon extends Extractor {
|
||||||
{
|
{
|
||||||
url: playlistUrl,
|
url: playlistUrl,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
...(heightMatch && { height: parseInt(heightMatch[1] as string) }),
|
...(heightMatch && { height: parseInt(heightMatch[1] as string) }),
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class Fsst extends Extractor {
|
export class Fsst extends Extractor {
|
||||||
|
|
@ -7,13 +7,11 @@ export class Fsst extends Extractor {
|
||||||
|
|
||||||
public readonly label = 'Fsst';
|
public readonly label = 'Fsst';
|
||||||
|
|
||||||
public override readonly ttl: number = 10800000; // 3h
|
|
||||||
|
|
||||||
public supports(_ctx: Context, url: URL): boolean {
|
public supports(_ctx: Context, url: URL): boolean {
|
||||||
return null !== url.host.match(/fsst/);
|
return null !== url.host.match(/fsst/);
|
||||||
};
|
};
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers, noProxyHeaders: true });
|
const html = await this.fetcher.text(ctx, url, { headers, noProxyHeaders: true });
|
||||||
|
|
@ -23,19 +21,23 @@ export class Fsst extends Extractor {
|
||||||
|
|
||||||
const filesMatch = html.match(/file:"(.*)"/) as string[];
|
const filesMatch = html.match(/file:"(.*)"/) as string[];
|
||||||
|
|
||||||
const lastFile = (filesMatch[1] as string).split(',').pop() as string;
|
return Promise.all(
|
||||||
|
(filesMatch[1] as string).split(',').map(async (fileString) => {
|
||||||
|
const heightAndUrlMatch = fileString.match(/\[?([\d]*)p?]?(.*)/) as string[];
|
||||||
|
const fileHref = heightAndUrlMatch[2] as string;
|
||||||
|
|
||||||
const heightAndUrlMatch = lastFile.match(/\[?([\d]*)p?]?(.*)/) as string[];
|
return {
|
||||||
const fileHref = heightAndUrlMatch[2] as string;
|
url: await this.fetcher.getFinalRedirectUrl(ctx, new URL(fileHref), { headers, noProxyHeaders: true }, 1),
|
||||||
|
format: Format.mp4,
|
||||||
return [{
|
label: this.label,
|
||||||
url: await this.fetcher.getFinalRedirectUrl(ctx, new URL(fileHref), { headers, noProxyHeaders: true }, 1),
|
sourceId: `${this.id}_${meta.countryCodes?.join('_')}`,
|
||||||
format: Format.mp4,
|
meta: {
|
||||||
meta: {
|
...meta,
|
||||||
...meta,
|
height: parseInt(heightAndUrlMatch[1] as string),
|
||||||
height: parseInt(heightAndUrlMatch[1] as string),
|
title,
|
||||||
title,
|
},
|
||||||
},
|
};
|
||||||
}];
|
}),
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,4 @@ describe('HubCloud', () => {
|
||||||
test('handle dark 2017 s03e08', async () => {
|
test('handle dark 2017 s03e08', async () => {
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://hubcloud.one/drive/nknlofk8snfnknh'))).toMatchSnapshot();
|
expect(await extractorRegistry.handle(ctx, new URL('https://hubcloud.one/drive/nknlofk8snfnknh'))).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('handle goat 2026', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://hubcloud.foo/drive/p94k4dccjwxjcx4'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { findCountryCodes, findHeight } from '../utils';
|
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class HubCloud extends Extractor {
|
export class HubCloud extends Extractor {
|
||||||
|
|
@ -9,15 +8,13 @@ export class HubCloud extends Extractor {
|
||||||
|
|
||||||
public readonly label = 'HubCloud';
|
public readonly label = 'HubCloud';
|
||||||
|
|
||||||
public override readonly ttl: number = 43200000; // 12h
|
public override readonly ttl: number = 259200000; // 3d
|
||||||
|
|
||||||
public override readonly cacheVersion = 1;
|
|
||||||
|
|
||||||
public supports(_ctx: Context, url: URL): boolean {
|
public supports(_ctx: Context, url: URL): boolean {
|
||||||
return null !== url.host.match(/hubcloud/);
|
return null !== url.host.match(/hubcloud/);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const redirectHtml = await this.fetcher.text(ctx, url, { headers });
|
const redirectHtml = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -26,10 +23,6 @@ export class HubCloud extends Extractor {
|
||||||
const linksHtml = await this.fetcher.text(ctx, new URL(redirectUrlMatch[1] as string), { headers: { Referer: url.href } });
|
const linksHtml = await this.fetcher.text(ctx, new URL(redirectUrlMatch[1] as string), { headers: { Referer: url.href } });
|
||||||
const $ = cheerio.load(linksHtml);
|
const $ = cheerio.load(linksHtml);
|
||||||
|
|
||||||
const title = $('title').text().trim();
|
|
||||||
const countryCodes = [...new Set([...meta.countryCodes ?? [], ...findCountryCodes(title)])];
|
|
||||||
const height = meta.height ?? findHeight(title);
|
|
||||||
|
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
...$('a')
|
...$('a')
|
||||||
.filter((_i, el) => {
|
.filter((_i, el) => {
|
||||||
|
|
@ -43,58 +36,30 @@ export class HubCloud extends Extractor {
|
||||||
url,
|
url,
|
||||||
format: Format.unknown,
|
format: Format.unknown,
|
||||||
label: `${this.label} (FSL)`,
|
label: `${this.label} (FSL)`,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
bytes: bytes.parse($('#size').text()) as number,
|
bytes: bytes.parse($('#size').text()) as number,
|
||||||
extractorId: `${this.id}_fsl`,
|
extractorId: `${this.id}_fsl`,
|
||||||
countryCodes,
|
title: $('title').text().trim(),
|
||||||
height,
|
|
||||||
title,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}).toArray(),
|
|
||||||
...$('a')
|
|
||||||
.filter((_i, el) => {
|
|
||||||
const text = $(el).text();
|
|
||||||
|
|
||||||
return text.includes('FSLv2');
|
|
||||||
})
|
|
||||||
.map((_i, el) => {
|
|
||||||
const url = new URL($(el).attr('href') as string);
|
|
||||||
return {
|
|
||||||
url,
|
|
||||||
format: Format.unknown,
|
|
||||||
label: `${this.label} (FSLv2)`,
|
|
||||||
meta: {
|
|
||||||
...meta,
|
|
||||||
bytes: bytes.parse($('#size').text()) as number,
|
|
||||||
extractorId: `${this.id}_fslv2`,
|
|
||||||
countryCodes,
|
|
||||||
height,
|
|
||||||
title,
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}).toArray(),
|
}).toArray(),
|
||||||
...$('a')
|
...$('a')
|
||||||
.filter((_i, el) => $(el).text().includes('PixelServer'))
|
.filter((_i, el) => $(el).text().includes('PixelServer'))
|
||||||
.map((_i, el) => {
|
.map((_i, el) => {
|
||||||
const userUrl = new URL(($(el).attr('href') as string).replace('/api/file/', '/u/'));
|
const url = new URL(($(el).attr('href') as string).replace('/u/', '/api/file/'));
|
||||||
const url = new URL(userUrl.href.replace('/u/', '/api/file/'));
|
|
||||||
url.searchParams.set('download', '');
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
url,
|
url,
|
||||||
format: Format.unknown,
|
format: Format.unknown,
|
||||||
label: `${this.label} (PixelServer)`,
|
label: `${this.label} (PixelServer)`,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
bytes: bytes.parse($('#size').text()) as number,
|
bytes: bytes.parse($('#size').text()) as number,
|
||||||
extractorId: `${this.id}_pixelserver`,
|
extractorId: `${this.id}_pixelserver`,
|
||||||
countryCodes,
|
title: $('title').text().trim(),
|
||||||
height,
|
|
||||||
title,
|
|
||||||
},
|
},
|
||||||
requestHeaders: { Referer: userUrl.href },
|
|
||||||
};
|
};
|
||||||
}).toArray(),
|
}).toArray(),
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
import winston from 'winston';
|
|
||||||
import { createTestContext } from '../test';
|
|
||||||
import { FetcherMock } from '../utils';
|
|
||||||
import { ExtractorRegistry } from './ExtractorRegistry';
|
|
||||||
import { HubCloud } from './HubCloud';
|
|
||||||
import { HubDrive } from './HubDrive';
|
|
||||||
|
|
||||||
const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'nope' })] });
|
|
||||||
const extractorRegistry = new ExtractorRegistry(
|
|
||||||
logger,
|
|
||||||
[
|
|
||||||
new HubDrive(
|
|
||||||
new FetcherMock(`${__dirname}/__fixtures__/HubDrive`),
|
|
||||||
new HubCloud(new FetcherMock(`${__dirname}/__fixtures__/HubDrive/HubCloud`)),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
|
|
||||||
const ctx = createTestContext();
|
|
||||||
|
|
||||||
describe('HubDrive', () => {
|
|
||||||
test('handle avatar', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://hubdrive.space/file/7283903021'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('handle missing hubcloud', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://hubdrive.space/file/2243124026'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
import * as cheerio from 'cheerio';
|
|
||||||
import { Context, InternalUrlResult, Meta } from '../types';
|
|
||||||
import { Fetcher } from '../utils';
|
|
||||||
import { Extractor } from './Extractor';
|
|
||||||
import { HubCloud } from './HubCloud';
|
|
||||||
|
|
||||||
export class HubDrive extends Extractor {
|
|
||||||
public readonly id = 'hubdrive';
|
|
||||||
|
|
||||||
public readonly label = 'HubDrive';
|
|
||||||
|
|
||||||
public override readonly ttl: number = 43200000; // 12h
|
|
||||||
|
|
||||||
public override readonly cacheVersion = 1;
|
|
||||||
|
|
||||||
private readonly hubCloud: HubCloud;
|
|
||||||
|
|
||||||
public constructor(fetcher: Fetcher, hubCloud: HubCloud) {
|
|
||||||
super(fetcher);
|
|
||||||
|
|
||||||
this.hubCloud = hubCloud;
|
|
||||||
}
|
|
||||||
|
|
||||||
public supports(_ctx: Context, url: URL): boolean {
|
|
||||||
return null !== url.host.match(/hubdrive/);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
|
||||||
const $ = cheerio.load(html);
|
|
||||||
|
|
||||||
const hubCloudUrl = $('a:contains("HubCloud")')
|
|
||||||
.map((_i, el) => new URL($(el).attr('href') as string))
|
|
||||||
.get(0);
|
|
||||||
|
|
||||||
return hubCloudUrl ? this.hubCloud.extract(ctx, hubCloudUrl, meta) : [];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -21,8 +21,4 @@ describe('KinoGer', () => {
|
||||||
test('filma365.strp2p.site', async () => {
|
test('filma365.strp2p.site', async () => {
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://filma365.strp2p.site/#vih6bx'))).toMatchSnapshot();
|
expect(await extractorRegistry.handle(ctx, new URL('https://filma365.strp2p.site/#vih6bx'))).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('kinoger.p2pplay.pro', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://kinoger.p2pplay.pro/#k53k9'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { guessHeightFromPlaylist } from '../utils';
|
import { guessHeightFromPlaylist } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -20,7 +20,6 @@ export class KinoGer extends Extractor {
|
||||||
'filma365.strp2p.site',
|
'filma365.strp2p.site',
|
||||||
'flimmer.rpmvip.com',
|
'flimmer.rpmvip.com',
|
||||||
'flixfilmesonline.strp2p.site',
|
'flixfilmesonline.strp2p.site',
|
||||||
'kinoger.p2pplay.pro',
|
|
||||||
'kinoger.re',
|
'kinoger.re',
|
||||||
'moflix.rpmplay.xyz',
|
'moflix.rpmplay.xyz',
|
||||||
'moflix.upns.xyz',
|
'moflix.upns.xyz',
|
||||||
|
|
@ -43,7 +42,7 @@ export class KinoGer extends Extractor {
|
||||||
return new URL(`${url.origin}/api/v1/video?id=${url.hash.slice(1)}`);
|
return new URL(`${url.origin}/api/v1/video?id=${url.hash.slice(1)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = {
|
const headers = {
|
||||||
'Origin': url.origin,
|
'Origin': url.origin,
|
||||||
'Referer': url.origin + '/',
|
'Referer': url.origin + '/',
|
||||||
|
|
@ -58,20 +57,24 @@ export class KinoGer extends Extractor {
|
||||||
const decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);
|
const decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);
|
||||||
const decrypted = Buffer.concat([decipher.update(encrypted), decipher.final()]).toString();
|
const decrypted = Buffer.concat([decipher.update(encrypted), decipher.final()]).toString();
|
||||||
|
|
||||||
const { source, title } = JSON.parse(decrypted) as { source: string; title: string };
|
const { cf, title } = JSON.parse(decrypted) as { cf: string; title: string };
|
||||||
|
|
||||||
const m3u8Url = new URL(source);
|
const m3u8Url = new URL(cf);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
url: m3u8Url,
|
url: m3u8Url,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
height: meta.height ?? await guessHeightFromPlaylist(ctx, this.fetcher, m3u8Url, { headers }),
|
height: await guessHeightFromPlaylist(ctx, this.fetcher, m3u8Url, url, { headers: { Referer: url.href } }),
|
||||||
title,
|
title,
|
||||||
},
|
},
|
||||||
requestHeaders: headers,
|
requestHeaders: {
|
||||||
|
Referer: url.origin,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import {
|
import {
|
||||||
buildMediaFlowProxyExtractorStreamUrl,
|
buildMediaFlowProxyExtractorStreamUrl,
|
||||||
supportsMediaFlowProxy,
|
supportsMediaFlowProxy,
|
||||||
|
|
@ -34,7 +34,7 @@ export class LuluStream extends Extractor {
|
||||||
return new URL(`/e/${videoId}`, url);
|
return new URL(`/e/${videoId}`, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const fileUrl = new URL(url.href.replace('/e/', '/d/'));
|
const fileUrl = new URL(url.href.replace('/e/', '/d/'));
|
||||||
|
|
@ -55,6 +55,8 @@ export class LuluStream extends Extractor {
|
||||||
{
|
{
|
||||||
url: playlistUrl,
|
url: playlistUrl,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
title,
|
title,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { buildMediaFlowProxyExtractorRedirectUrl, supportsMediaFlowProxy } from '../utils';
|
import { buildMediaFlowProxyExtractorRedirectUrl, supportsMediaFlowProxy } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -13,12 +13,12 @@ export class Mixdrop extends Extractor {
|
||||||
public override viaMediaFlowProxy = true;
|
public override viaMediaFlowProxy = true;
|
||||||
|
|
||||||
public supports(ctx: Context, url: URL): boolean {
|
public supports(ctx: Context, url: URL): boolean {
|
||||||
return null !== url.host.match(/mixdrop|mixdrp|mixdroop|m1xdrop/) && supportsMediaFlowProxy(ctx);
|
return null !== url.host.match(/mixdrop/) && supportsMediaFlowProxy(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override readonly normalize = (url: URL): URL => new URL(url.href.replace('/f/', '/e/'));
|
public override readonly normalize = (url: URL): URL => new URL(url.href.replace('/f/', '/e/'));
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const fileUrl = new URL(url.href.replace('/e/', '/f/'));
|
const fileUrl = new URL(url.href.replace('/e/', '/f/'));
|
||||||
const html = await this.fetcher.text(ctx, fileUrl);
|
const html = await this.fetcher.text(ctx, fileUrl);
|
||||||
|
|
||||||
|
|
@ -35,6 +35,8 @@ export class Mixdrop extends Extractor {
|
||||||
{
|
{
|
||||||
url: buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Mixdrop', url),
|
url: buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Mixdrop', url),
|
||||||
format: Format.mp4,
|
format: Format.mp4,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
bytes: bytes.parse((sizeMatch[1] as string).replace(',', '')) as number,
|
bytes: bytes.parse((sizeMatch[1] as string).replace(',', '')) as number,
|
||||||
|
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
import winston from 'winston';
|
|
||||||
import { createTestContext } from '../test';
|
|
||||||
import { FetcherMock } from '../utils';
|
|
||||||
import { ExtractorRegistry } from './ExtractorRegistry';
|
|
||||||
import { RgShows } from './RgShows';
|
|
||||||
|
|
||||||
const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'nope' })] });
|
|
||||||
const extractorRegistry = new ExtractorRegistry(logger, [new RgShows(new FetcherMock(`${__dirname}/__fixtures__/RgShows`))]);
|
|
||||||
|
|
||||||
const ctx = createTestContext();
|
|
||||||
|
|
||||||
describe('RgShows', () => {
|
|
||||||
test('handle one battle after another', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://api.rgshows.ru/main/movie/1054867'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('handle stranger things s05e01', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://api.rgshows.ru/main/tv/66732/5/1'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('handle parasite 2019 (mp4)', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://api.rgshows.ru/main/movie/496243'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
import { BlockedError } from '../error';
|
|
||||||
import { BlockedReason, Context, Format, InternalUrlResult, Meta } from '../types';
|
|
||||||
import { guessHeightFromPlaylist } from '../utils';
|
|
||||||
import { Extractor } from './Extractor';
|
|
||||||
|
|
||||||
interface RgShowsApiData {
|
|
||||||
stream: {
|
|
||||||
url: string;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export class RgShows extends Extractor {
|
|
||||||
public readonly id = 'rgshows';
|
|
||||||
|
|
||||||
public readonly label = 'RgShows';
|
|
||||||
|
|
||||||
public override readonly ttl: number = 10800000; // 3h
|
|
||||||
|
|
||||||
public supports(_ctx: Context, url: URL): boolean {
|
|
||||||
return null !== url.host.match(/rgshows/);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
|
||||||
const headers = { 'Referer': 'https://www.rgshows.ru/', 'Origin': 'https://www.rgshows.ru', 'User-Agent': 'Mozilla' };
|
|
||||||
|
|
||||||
const data = await this.fetcher.json(ctx, url, { headers }) as RgShowsApiData;
|
|
||||||
|
|
||||||
const streamUrl = new URL(data.stream.url);
|
|
||||||
/* istanbul ignore if */
|
|
||||||
if (streamUrl.host.includes('vidzee')) {
|
|
||||||
throw new BlockedError(url, BlockedReason.unknown, {});
|
|
||||||
}
|
|
||||||
|
|
||||||
const isMp4 = streamUrl.href.includes('mp4');
|
|
||||||
const isHls = streamUrl.href.includes('m3u8') || streamUrl.href.includes('txt');
|
|
||||||
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
url: streamUrl,
|
|
||||||
format: isMp4 ? Format.mp4 : (isHls ? Format.hls : /* istanbul ignore next */ Format.unknown),
|
|
||||||
meta: {
|
|
||||||
...meta,
|
|
||||||
...(isHls && { height: meta.height ?? await guessHeightFromPlaylist(ctx, this.fetcher, streamUrl, { headers }) }),
|
|
||||||
},
|
|
||||||
requestHeaders: headers,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class SaveFiles extends Extractor {
|
export class SaveFiles extends Extractor {
|
||||||
|
|
@ -18,7 +18,7 @@ export class SaveFiles extends Extractor {
|
||||||
return new URL(url.href.replace('/e/', '/').replace('/d/', '/'));
|
return new URL(url.href.replace('/e/', '/').replace('/d/', '/'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
const html = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -37,6 +37,8 @@ export class SaveFiles extends Extractor {
|
||||||
{
|
{
|
||||||
url: new URL(fileMatch[1] as string),
|
url: new URL(fileMatch[1] as string),
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
title,
|
title,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class StreamEmbed extends Extractor {
|
export class StreamEmbed extends Extractor {
|
||||||
|
|
@ -7,13 +7,11 @@ export class StreamEmbed extends Extractor {
|
||||||
|
|
||||||
public readonly label = 'StreamEmbed';
|
public readonly label = 'StreamEmbed';
|
||||||
|
|
||||||
public override readonly ttl: number = 259200000; // 3d
|
|
||||||
|
|
||||||
public supports(_ctx: Context, url: URL): boolean {
|
public supports(_ctx: Context, url: URL): boolean {
|
||||||
return null !== url.host.match(/bullstream|mp4player|watch\.gxplayer/);
|
return null !== url.host.match(/bullstream|mp4player|watch\.gxplayer/);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
const html = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -28,6 +26,8 @@ export class StreamEmbed extends Extractor {
|
||||||
{
|
{
|
||||||
url: new URL(`/m3u8/${video.uid}/${video.md5}/master.txt?s=1&id=${video.id}&cache=${video.status}`, url.origin),
|
url: new URL(`/m3u8/${video.uid}/${video.md5}/master.txt?s=1&id=${video.id}&cache=${video.status}`, url.origin),
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
height: parseInt(JSON.parse(video.quality)[0]),
|
height: parseInt(JSON.parse(video.quality)[0]),
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { buildMediaFlowProxyExtractorRedirectUrl, supportsMediaFlowProxy } from '../utils';
|
import {
|
||||||
|
buildMediaFlowProxyExtractorRedirectUrl,
|
||||||
|
supportsMediaFlowProxy,
|
||||||
|
} from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class Streamtape extends Extractor {
|
export class Streamtape extends Extractor {
|
||||||
|
|
@ -42,7 +45,7 @@ export class Streamtape extends Extractor {
|
||||||
return new URL(url.href.replace('/e/', '/v/'));
|
return new URL(url.href.replace('/e/', '/v/'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
// Only needed to properly find non-existing files via 404 response
|
// Only needed to properly find non-existing files via 404 response
|
||||||
|
|
@ -59,6 +62,8 @@ export class Streamtape extends Extractor {
|
||||||
{
|
{
|
||||||
url: buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Streamtape', url, headers),
|
url: buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Streamtape', url, headers),
|
||||||
format: Format.mp4,
|
format: Format.mp4,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
title,
|
title,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { extractUrlFromPacked, guessHeightFromPlaylist } from '../utils';
|
import { extractUrlFromPacked, guessHeightFromPlaylist } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ export class SuperVideo extends Extractor {
|
||||||
return new URL(url.href.replace('/e/', '/').replace('/k/', '/').replace('/embed-', '/'));
|
return new URL(url.href.replace('/e/', '/').replace('/k/', '/').replace('/embed-', '/'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
const html = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -33,29 +33,29 @@ export class SuperVideo extends Extractor {
|
||||||
throw new NotFoundError();
|
throw new NotFoundError();
|
||||||
}
|
}
|
||||||
|
|
||||||
const playlistUrl = extractUrlFromPacked(html, [/sources:\[{file:"(.*?)"/]);
|
const m3u8Url = extractUrlFromPacked(html, [/sources:\[{file:"(.*?)"/]);
|
||||||
const playlistHeaders = { Referer: 'https://supervideo.cc/' };
|
|
||||||
|
|
||||||
const heightAndSizeMatch = html.match(/\d{3,}x(\d{3,}), ([\d.]+ ?[GM]B)/);
|
const heightAndSizeMatch = html.match(/\d{3,}x(\d{3,}), ([\d.]+ ?[GM]B)/);
|
||||||
const size = heightAndSizeMatch ? bytes.parse(heightAndSizeMatch[2] as string) as number : undefined;
|
const size = heightAndSizeMatch ? bytes.parse(heightAndSizeMatch[2] as string) as number : undefined;
|
||||||
const height = heightAndSizeMatch
|
const height = heightAndSizeMatch
|
||||||
? parseInt(heightAndSizeMatch[1] as string)
|
? parseInt(heightAndSizeMatch[1] as string)
|
||||||
: meta.height ?? await guessHeightFromPlaylist(ctx, this.fetcher, playlistUrl, { headers: playlistHeaders });
|
: await guessHeightFromPlaylist(ctx, this.fetcher, m3u8Url, url, { headers: { Referer: url.href } });
|
||||||
|
|
||||||
const $ = cheerio.load(html);
|
const $ = cheerio.load(html);
|
||||||
const title = $('.download__title').text().trim();
|
const title = $('.download__title').text().trim();
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
url: playlistUrl,
|
url: m3u8Url,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
title,
|
title,
|
||||||
...(size && { bytes: size }),
|
...(size && { bytes: size }),
|
||||||
...(height && { height }),
|
...(height && { height }),
|
||||||
},
|
},
|
||||||
requestHeaders: playlistHeaders,
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { buildMediaFlowProxyExtractorRedirectUrl, supportsMediaFlowProxy } from '../utils';
|
import { buildMediaFlowProxyExtractorRedirectUrl, supportsMediaFlowProxy } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -19,7 +19,7 @@ export class Uqload extends Extractor {
|
||||||
return new URL(url.href.replace('/embed-', '/'));
|
return new URL(url.href.replace('/embed-', '/'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const html = await this.fetcher.text(ctx, url);
|
const html = await this.fetcher.text(ctx, url);
|
||||||
|
|
||||||
if (/File Not Found/.test(html)) {
|
if (/File Not Found/.test(html)) {
|
||||||
|
|
@ -35,6 +35,8 @@ export class Uqload extends Extractor {
|
||||||
{
|
{
|
||||||
url: buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Uqload', url),
|
url: buildMediaFlowProxyExtractorRedirectUrl(ctx, 'Uqload', url),
|
||||||
format: Format.mp4,
|
format: Format.mp4,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
title,
|
title,
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
import winston from 'winston';
|
|
||||||
import { createTestContext } from '../test';
|
|
||||||
import { FetcherMock } from '../utils';
|
|
||||||
import { ExtractorRegistry } from './ExtractorRegistry';
|
|
||||||
import { VidSrc } from './VidSrc';
|
|
||||||
|
|
||||||
const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'nope' })] });
|
|
||||||
const extractorRegistry = new ExtractorRegistry(logger, [new VidSrc(new FetcherMock(`${__dirname}/__fixtures__/VidSrc`), ['vidsrc-embed.ru'])]);
|
|
||||||
|
|
||||||
const ctx = createTestContext();
|
|
||||||
|
|
||||||
describe('VidSrc', () => {
|
|
||||||
test('Full Metal Jacket', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://vidsrc-embed.ru/embed/movie/tt0093058'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('Black Mirror', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://vidsrc-embed.ru/embed/tv/tt2085059/4-2'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
import * as cheerio from 'cheerio';
|
|
||||||
import { BlockedError, TooManyRequestsError } from '../error';
|
|
||||||
import { Context, Format, InternalUrlResult, Meta, NonEmptyArray } from '../types';
|
|
||||||
import { Fetcher, guessHeightFromPlaylist } from '../utils';
|
|
||||||
import { Extractor } from './Extractor';
|
|
||||||
|
|
||||||
export class VidSrc extends Extractor {
|
|
||||||
public readonly id = 'vidsrc';
|
|
||||||
|
|
||||||
public readonly label = 'VidSrc';
|
|
||||||
|
|
||||||
public override readonly ttl: number = 10800000; // 3h
|
|
||||||
|
|
||||||
private readonly domains: NonEmptyArray<string>;
|
|
||||||
|
|
||||||
public constructor(fetcher: Fetcher, domains: NonEmptyArray<string>) {
|
|
||||||
super(fetcher);
|
|
||||||
|
|
||||||
this.domains = domains;
|
|
||||||
}
|
|
||||||
|
|
||||||
public supports(_ctx: Context, url: URL): boolean {
|
|
||||||
return null !== url.host.match(/vidsrc|vsrc/);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
|
||||||
// While this is a crappy thing to do, they seem to be blocking overly strict IMO
|
|
||||||
const randomIp = `${Math.floor(Math.random() * 223) + 1}.${Math.floor(Math.random() * 256)}.${Math.floor(Math.random() * 256)}.${Math.floor(Math.random() * 256)}`;
|
|
||||||
const newCtx = { ...ctx, ip: randomIp };
|
|
||||||
|
|
||||||
return this.extractUsingRandomDomain(newCtx, url, meta, [...this.domains]);
|
|
||||||
};
|
|
||||||
|
|
||||||
private async extractUsingRandomDomain(ctx: Context, url: URL, meta: Meta, domains: string[]): Promise<InternalUrlResult[]> {
|
|
||||||
const domainIndex = Math.floor(Math.random() * domains.length);
|
|
||||||
const [domain] = domains.splice(domainIndex, 1) as [string];
|
|
||||||
|
|
||||||
const newUrl = new URL(url);
|
|
||||||
newUrl.hostname = domain;
|
|
||||||
|
|
||||||
let html: string;
|
|
||||||
try {
|
|
||||||
html = await this.fetcher.text(ctx, newUrl, { queueLimit: 1 });
|
|
||||||
} catch (error) {
|
|
||||||
/* istanbul ignore next */
|
|
||||||
if (domains.length && (error instanceof TooManyRequestsError || error instanceof BlockedError)) {
|
|
||||||
return this.extractUsingRandomDomain(ctx, url, meta, domains);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* istanbul ignore next */
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
|
|
||||||
const $ = cheerio.load(html.replace('<!--', '').replace('-->', '')); // server HTML is commented-out
|
|
||||||
|
|
||||||
const iframeUrl = new URL(($('#player_iframe').attr('src') as string).replace(/^\/\//, 'https://'));
|
|
||||||
const title = $('title').text().trim();
|
|
||||||
|
|
||||||
return Promise.all(
|
|
||||||
$('.server')
|
|
||||||
.map((_i, el) => ({ serverName: $(el).text(), dataHash: $(el).data('hash') }))
|
|
||||||
.toArray()
|
|
||||||
.filter(({ serverName }) => serverName === 'CloudStream Pro')
|
|
||||||
.map(async ({ serverName, dataHash }) => {
|
|
||||||
const rcpUrl = new URL(`/rcp/${dataHash}`, iframeUrl.origin);
|
|
||||||
const iframeHtml = await this.fetcher.text(ctx, rcpUrl, { headers: { Referer: newUrl.origin } });
|
|
||||||
const srcMatch = iframeHtml.match(`src:\\s?'(.*)'`) as string[];
|
|
||||||
|
|
||||||
const playerHtml = await this.fetcher.text(ctx, new URL(srcMatch[1] as string, iframeUrl.origin), { headers: { Referer: rcpUrl.href } });
|
|
||||||
const fileMatch = playerHtml.match(`(https:\\/\\/.*?{v\\d}.*?) or`) as string[];
|
|
||||||
const m3u8Url = new URL((fileMatch[1] as string).replace(/{v\d}/, iframeUrl.host));
|
|
||||||
|
|
||||||
return {
|
|
||||||
url: m3u8Url,
|
|
||||||
format: Format.hls,
|
|
||||||
label: serverName,
|
|
||||||
meta: {
|
|
||||||
...meta,
|
|
||||||
height: await guessHeightFromPlaylist(ctx, this.fetcher, m3u8Url, { headers: { Referer: iframeUrl.href } }),
|
|
||||||
title,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { extractUrlFromPacked, guessHeightFromPlaylist } from '../utils';
|
import { extractUrlFromPacked, guessHeightFromPlaylist } from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
|
|
@ -18,7 +18,7 @@ export class Vidora extends Extractor {
|
||||||
return new URL(url.href.replace('/embed/', '/'));
|
return new URL(url.href.replace('/embed/', '/'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const html = await this.fetcher.text(ctx, url);
|
const html = await this.fetcher.text(ctx, url);
|
||||||
|
|
||||||
const $ = cheerio.load(html);
|
const $ = cheerio.load(html);
|
||||||
|
|
@ -31,9 +31,11 @@ export class Vidora extends Extractor {
|
||||||
{
|
{
|
||||||
url: m3u8Url,
|
url: m3u8Url,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
height: meta.height ?? await guessHeightFromPlaylist(ctx, this.fetcher, m3u8Url, { headers }),
|
height: await guessHeightFromPlaylist(ctx, this.fetcher, m3u8Url, url, { headers }),
|
||||||
title,
|
title,
|
||||||
},
|
},
|
||||||
requestHeaders: headers,
|
requestHeaders: headers,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { VixSrc } from './VixSrc';
|
||||||
const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'nope' })] });
|
const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'nope' })] });
|
||||||
const extractorRegistry = new ExtractorRegistry(logger, [new VixSrc(new FetcherMock(`${__dirname}/__fixtures__/VixSrc`))]);
|
const extractorRegistry = new ExtractorRegistry(logger, [new VixSrc(new FetcherMock(`${__dirname}/__fixtures__/VixSrc`))]);
|
||||||
|
|
||||||
const ctx = createTestContext();
|
const ctx = createTestContext({ de: 'on', en: 'on', it: 'on' });
|
||||||
|
|
||||||
describe('VixSrc', () => {
|
describe('VixSrc', () => {
|
||||||
test('Full Metal Jacket', async () => {
|
test('Full Metal Jacket', async () => {
|
||||||
|
|
@ -18,10 +18,6 @@ describe('VixSrc', () => {
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://vixsrc.to/tv/42009/4/2'))).toMatchSnapshot();
|
expect(await extractorRegistry.handle(ctx, new URL('https://vixsrc.to/tv/42009/4/2'))).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Rental Family', async () => {
|
|
||||||
expect(await extractorRegistry.handle(ctx, new URL('https://vixsrc.to/movie/1208348'))).toMatchSnapshot();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('Black Mirror is excluded if no matching language was found', async () => {
|
test('Black Mirror is excluded if no matching language was found', async () => {
|
||||||
const ctx = createTestContext({ de: 'on' });
|
const ctx = createTestContext({ de: 'on' });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
import { Context, CountryCode, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, CountryCode, Format, Meta, UrlResult } from '../types';
|
||||||
import { CustomRequestConfig, guessHeightFromPlaylist, hasMultiEnabled, iso639FromCountryCode } from '../utils';
|
import {
|
||||||
|
CustomRequestConfig,
|
||||||
|
guessHeightFromPlaylist, hasMultiEnabled,
|
||||||
|
iso639FromCountryCode,
|
||||||
|
} from '../utils';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class VixSrc extends Extractor {
|
export class VixSrc extends Extractor {
|
||||||
|
|
@ -13,7 +17,7 @@ export class VixSrc extends Extractor {
|
||||||
return null !== url.host.match(/vixsrc/);
|
return null !== url.host.match(/vixsrc/);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: url.href };
|
const headers = { Referer: url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url);
|
const html = await this.fetcher.text(ctx, url);
|
||||||
|
|
@ -28,7 +32,7 @@ export class VixSrc extends Extractor {
|
||||||
playlistUrl.searchParams.append('expires', expiresMatch[1] as string);
|
playlistUrl.searchParams.append('expires', expiresMatch[1] as string);
|
||||||
playlistUrl.searchParams.append('h', '1');
|
playlistUrl.searchParams.append('h', '1');
|
||||||
|
|
||||||
const countryCodes = meta.countryCodes ?? [CountryCode.multi, ...(await this.determineCountryCodesFromPlaylist(ctx, playlistUrl, { headers }))];
|
const countryCodes = await this.determineCountryCodesFromPlaylist(ctx, playlistUrl, { headers });
|
||||||
|
|
||||||
if (!hasMultiEnabled(ctx.config) && !countryCodes.some(countryCode => countryCode in ctx.config)) {
|
if (!hasMultiEnabled(ctx.config) && !countryCodes.some(countryCode => countryCode in ctx.config)) {
|
||||||
return [];
|
return [];
|
||||||
|
|
@ -38,10 +42,12 @@ export class VixSrc extends Extractor {
|
||||||
{
|
{
|
||||||
url: playlistUrl,
|
url: playlistUrl,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
countryCodes,
|
countryCodes,
|
||||||
height: meta.height ?? await guessHeightFromPlaylist(ctx, this.fetcher, playlistUrl, { headers }),
|
height: await guessHeightFromPlaylist(ctx, this.fetcher, playlistUrl, url, { headers }),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
@ -50,7 +56,7 @@ export class VixSrc extends Extractor {
|
||||||
private async determineCountryCodesFromPlaylist(ctx: Context, playlistUrl: URL, init?: CustomRequestConfig): Promise<CountryCode[]> {
|
private async determineCountryCodesFromPlaylist(ctx: Context, playlistUrl: URL, init?: CustomRequestConfig): Promise<CountryCode[]> {
|
||||||
const playlist = await this.fetcher.text(ctx, playlistUrl, init);
|
const playlist = await this.fetcher.text(ctx, playlistUrl, init);
|
||||||
|
|
||||||
const countryCodes: CountryCode[] = [];
|
const countryCodes: CountryCode[] = [CountryCode.it];
|
||||||
|
|
||||||
(Object.keys(CountryCode) as CountryCode[]).forEach((countryCode) => {
|
(Object.keys(CountryCode) as CountryCode[]).forEach((countryCode) => {
|
||||||
const iso639 = iso639FromCountryCode(countryCode);
|
const iso639 = iso639FromCountryCode(countryCode);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import bytes from 'bytes';
|
import bytes from 'bytes';
|
||||||
import * as cheerio from 'cheerio';
|
import * as cheerio from 'cheerio';
|
||||||
import { NotFoundError } from '../error';
|
import { NotFoundError } from '../error';
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import {
|
import {
|
||||||
buildMediaFlowProxyExtractorStreamUrl, guessHeightFromPlaylist,
|
buildMediaFlowProxyExtractorStreamUrl, guessHeightFromPlaylist,
|
||||||
supportsMediaFlowProxy,
|
supportsMediaFlowProxy,
|
||||||
|
|
@ -74,9 +74,7 @@ export class Voe extends Extractor {
|
||||||
'kennethofficialitem.com',
|
'kennethofficialitem.com',
|
||||||
'kinoger.ru',
|
'kinoger.ru',
|
||||||
'kristiesoundsimply.com',
|
'kristiesoundsimply.com',
|
||||||
'lancewhosedifficult.com',
|
|
||||||
'launchreliantcleaverriver.com',
|
'launchreliantcleaverriver.com',
|
||||||
'lauradaydo.com',
|
|
||||||
'lisatrialidea.com',
|
'lisatrialidea.com',
|
||||||
'loriwithinfamily.com',
|
'loriwithinfamily.com',
|
||||||
'lukecomparetwo.com',
|
'lukecomparetwo.com',
|
||||||
|
|
@ -104,7 +102,6 @@ export class Voe extends Extractor {
|
||||||
'sethniceletter.com',
|
'sethniceletter.com',
|
||||||
'shannonpersonalcost.com',
|
'shannonpersonalcost.com',
|
||||||
'simpulumlamerop.com',
|
'simpulumlamerop.com',
|
||||||
'smoki.cc',
|
|
||||||
'stevenimaginelittle.com',
|
'stevenimaginelittle.com',
|
||||||
'strawberriesporail.com',
|
'strawberriesporail.com',
|
||||||
'telyn610zoanthropy.com',
|
'telyn610zoanthropy.com',
|
||||||
|
|
@ -126,7 +123,7 @@ export class Voe extends Extractor {
|
||||||
return new URL(`/${url.pathname.replace(/\/+$/, '').split('/').at(-1)}`, url);
|
return new URL(`/${url.pathname.replace(/\/+$/, '').split('/').at(-1)}`, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
let html: string;
|
let html: string;
|
||||||
|
|
@ -160,14 +157,14 @@ export class Voe extends Extractor {
|
||||||
const playlistUrl = await buildMediaFlowProxyExtractorStreamUrl(ctx, this.fetcher, 'Voe', url, headers);
|
const playlistUrl = await buildMediaFlowProxyExtractorStreamUrl(ctx, this.fetcher, 'Voe', url, headers);
|
||||||
|
|
||||||
const heightMatch = html.match(/<b>(\d{3,})p<\/b>/);
|
const heightMatch = html.match(/<b>(\d{3,})p<\/b>/);
|
||||||
const height = heightMatch
|
const height = heightMatch ? parseInt(heightMatch[1] as string) : await guessHeightFromPlaylist(ctx, this.fetcher, playlistUrl, url);
|
||||||
? parseInt(heightMatch[1] as string)
|
|
||||||
: meta.height ?? await guessHeightFromPlaylist(ctx, this.fetcher, playlistUrl);
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
url: playlistUrl,
|
url: playlistUrl,
|
||||||
format: Format.hls,
|
format: Format.hls,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
height,
|
height,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { Context, Format, InternalUrlResult, Meta } from '../types';
|
import { Context, Format, Meta, UrlResult } from '../types';
|
||||||
import { Extractor } from './Extractor';
|
import { Extractor } from './Extractor';
|
||||||
|
|
||||||
export class YouTube extends Extractor {
|
export class YouTube extends Extractor {
|
||||||
|
|
@ -12,7 +12,7 @@ export class YouTube extends Extractor {
|
||||||
return null !== url.host.match(/youtube/) && url.searchParams.has('v');
|
return null !== url.host.match(/youtube/) && url.searchParams.has('v');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<InternalUrlResult[]> {
|
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
|
||||||
const headers = { Referer: meta.referer ?? url.href };
|
const headers = { Referer: meta.referer ?? url.href };
|
||||||
|
|
||||||
const html = await this.fetcher.text(ctx, url, { headers });
|
const html = await this.fetcher.text(ctx, url, { headers });
|
||||||
|
|
@ -24,6 +24,8 @@ export class YouTube extends Extractor {
|
||||||
url,
|
url,
|
||||||
format: Format.unknown,
|
format: Format.unknown,
|
||||||
ytId: url.searchParams.get('v') as string,
|
ytId: url.searchParams.get('v') as string,
|
||||||
|
label: this.label,
|
||||||
|
ttl: this.ttl,
|
||||||
meta: {
|
meta: {
|
||||||
...meta,
|
...meta,
|
||||||
title: titleMatch[1] as string,
|
title: titleMatch[1] as string,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"server":"nginx","date":"Sun, 08 Jun 2025 19:20:59 GMT","content-type":"video/mp4","content-length":791702409,"last-modified":"Wed, 03 Apr 2024 09:53:31 GMT","connection":"keep-alive","etag":"660d271b-2f306b89","access-control-allow-origin":"*","accept-ranges":"bytes"}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
src/extractor/__fixtures__/DoodStream/http:dood.todwfpwtsgyr1xi
generated
Normal file
1
src/extractor/__fixtures__/DoodStream/http:dood.todwfpwtsgyr1xi
generated
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>Video not found | DoodStream</title> <link rel="preconnect" href="//i.doodcdn.io"><link rel="preconnect" href="//cdnjs.cloudflare.com"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <link rel="stylesheet" href="//i.doodcdn.io/theme_2/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="//i.doodcdn.io/theme_2/css/style.css" /></head><body> <style type="text/css"> .not_found img {height:250px !important;} @media (max-width: 768px){.not_found h1{font-size:1.8rem;}.not_found img {height:200px !important;margin: 0 auto 15px;}} @media (max-width: 480px){.not_found h1{font-size:1.4rem;}.not_found img {height:120px !important;margin: 0 auto 15px;}.not_found p{margin-top: -5px;}} </style> <div class="container pt-5 not_found"> <div class="row"> <div class="col-md-12 pt-2 text-center"> <img src="//i.doodcdn.io/img/no_video_3.svg"> <h1>Not Found</h1> <p>video you are looking for is not found.</p> </div> </div> </div><script data-cfasync="false" src="//d1f05vr3sjsuy7.cloudfront.net/?srvfd=908056"></script><script data-cfasync="false" async type="text/javascript" src="//faqirsgoliard.top/gHzOaAdOhbZ/71405"></script><script data-cfasync="false" async type="text/javascript" src="//faqirsgoliard.top/r67c0fc81985e5/70849"></script><script type="text/javascript" data-cfasync="false">/*<![CDATA[/* */(function(){var g=window,r="ca0967284e67bc53cb5b626985619403",w=[["siteId",317+185*82*507-3600486],["minBid",0],["popundersPerIP","0"],["delayBetween",300],["default","https://strettechoco.com/iYa7dlULceKw/27615"],["defaultPerDay",0],["topmostLayer","never"]],n=["d3d3LmJsb2NrYWRzbm90LmNvbS9iYWphLm1pbi5jc3M=","ZG5oZmk1bm4yZHQ2Ny5jbG91ZGZyb250Lm5ldC9RVHd0eC91YWxnZWJyYS5taW4uanM=","d3d3LmJibHZwbGd1b21hLmNvbS9mYWphLm1pbi5jc3M=","d3d3LndqZ3BzcGt4empiZGd1LmNvbS9NTmlIWS9rYWxnZWJyYS5taW4uanM="],f=-1,v,q,h=function(){clearTimeout(q);f++;if(n[f]&&!(1766620801000<(new Date).getTime()&&1<f)){v=g.document.createElement("script");v.type="text/javascript";v.async=!0;var o=g.document.getElementsByTagName("script")[0];v.src="https://"+atob(n[f]);v.crossOrigin="anonymous";v.onerror=h;v.onload=function(){clearTimeout(q);g[r.slice(0,16)+r.slice(0,16)]||h()};q=setTimeout(h,5E3);o.parentNode.insertBefore(v,o)}};if(!g[r]){try{Object.freeze(g[r]=w)}catch(e){}h()}})();/*]]>/* */</script></body></html>
|
||||||
|
|
@ -1,2 +1 @@
|
||||||
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>Video not found | DoodStream</title> <link rel="preconnect" href="//i.doodcdn.io"><link rel="preconnect" href="//cdnjs.cloudflare.com"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <link rel="stylesheet" href="//i.doodcdn.io/theme_2/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="//i.doodcdn.io/theme_2/css/style.css" /></head><body> <style type="text/css"> .not_found img {height:250px !important;} @media (max-width: 768px){.not_found h1{font-size:1.8rem;}.not_found img {height:200px !important;margin: 0 auto 15px;}} @media (max-width: 480px){.not_found h1{font-size:1.4rem;}.not_found img {height:120px !important;margin: 0 auto 15px;}.not_found p{margin-top: -5px;}} </style> <div class="container pt-5 not_found"> <div class="row"> <div class="col-md-12 pt-2 text-center"> <img src="//i.doodcdn.io/img/no_video_3.svg"> <h1>Not Found</h1> <p>video you are looking for is not found.</p> </div> </div> </div><script data-cfasync="false" src="//d1f05vr3sjsuy7.cloudfront.net/?srvfd=908056"></script><script data-cfasync="false" async type="text/javascript" src="//faqirsgoliard.top/gHzOaAdOhbZ/71405"></script><script data-cfasync="false" async type="text/javascript" src="//faqirsgoliard.top/r67c0fc81985e5/70849"></script><script type="text/javascript" data-cfasync="false">/*<![CDATA[/* */(function(){var g=window,r="ca0967284e67bc53cb5b626985619403",w=[["siteId",317+185*82*507-3600486],["minBid",0],["popundersPerIP","0"],["delayBetween",300],["default","https://strettechoco.com/iYa7dlULceKw/27615"],["defaultPerDay",0],["topmostLayer","never"]],n=["d3d3LmJsb2NrYWRzbm90LmNvbS9iYWphLm1pbi5jc3M=","ZG5oZmk1bm4yZHQ2Ny5jbG91ZGZyb250Lm5ldC9RVHd0eC91YWxnZWJyYS5taW4uanM=","d3d3LmJibHZwbGd1b21hLmNvbS9mYWphLm1pbi5jc3M=","d3d3LndqZ3BzcGt4empiZGd1LmNvbS9NTmlIWS9rYWxnZWJyYS5taW4uanM="],f=-1,v,q,h=function(){clearTimeout(q);f++;if(n[f]&&!(1766620801000<(new Date).getTime()&&1<f)){v=g.document.createElement("script");v.type="text/javascript";v.async=!0;var o=g.document.getElementsByTagName("script")[0];v.src="https://"+atob(n[f]);v.crossOrigin="anonymous";v.onerror=h;v.onload=function(){clearTimeout(q);g[r.slice(0,16)+r.slice(0,16)]||h()};q=setTimeout(h,5E3);o.parentNode.insertBefore(v,o)}};if(!g[r]){try{Object.freeze(g[r]=w)}catch(e){}h()}})();/*]]>/* */</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"1c76230f8ab248eab0b0f2bf7c205c51","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
|
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>Video not found | DoodStream</title> <link rel="preconnect" href="//i.doodcdn.io"><link rel="preconnect" href="//cdnjs.cloudflare.com"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <link rel="stylesheet" href="//i.doodcdn.io/theme_2/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="//i.doodcdn.io/theme_2/css/style.css" /></head><body> <style type="text/css"> .not_found img {height:250px !important;} @media (max-width: 768px){.not_found h1{font-size:1.8rem;}.not_found img {height:200px !important;margin: 0 auto 15px;}} @media (max-width: 480px){.not_found h1{font-size:1.4rem;}.not_found img {height:120px !important;margin: 0 auto 15px;}.not_found p{margin-top: -5px;}} </style> <div class="container pt-5 not_found"> <div class="row"> <div class="col-md-12 pt-2 text-center"> <img src="//i.doodcdn.io/img/no_video_3.svg"> <h1>Not Found</h1> <p>video you are looking for is not found.</p> </div> </div> </div><script data-cfasync="false" src="//d1f05vr3sjsuy7.cloudfront.net/?srvfd=908056"></script><script data-cfasync="false" async type="text/javascript" src="//faqirsgoliard.top/gHzOaAdOhbZ/71405"></script><script data-cfasync="false" async type="text/javascript" src="//faqirsgoliard.top/r67c0fc81985e5/70849"></script><script type="text/javascript" data-cfasync="false">/*<![CDATA[/* */(function(){var g=window,r="ca0967284e67bc53cb5b626985619403",w=[["siteId",317+185*82*507-3600486],["minBid",0],["popundersPerIP","0"],["delayBetween",300],["default","https://strettechoco.com/iYa7dlULceKw/27615"],["defaultPerDay",0],["topmostLayer","never"]],n=["d3d3LmJsb2NrYWRzbm90LmNvbS9iYWphLm1pbi5jc3M=","ZG5oZmk1bm4yZHQ2Ny5jbG91ZGZyb250Lm5ldC9RVHd0eC91YWxnZWJyYS5taW4uanM=","d3d3LmJibHZwbGd1b21hLmNvbS9mYWphLm1pbi5jc3M=","d3d3LndqZ3BzcGt4empiZGd1LmNvbS9NTmlIWS9rYWxnZWJyYS5taW4uanM="],f=-1,v,q,h=function(){clearTimeout(q);f++;if(n[f]&&!(1766620801000<(new Date).getTime()&&1<f)){v=g.document.createElement("script");v.type="text/javascript";v.async=!0;var o=g.document.getElementsByTagName("script")[0];v.src="https://"+atob(n[f]);v.crossOrigin="anonymous";v.onerror=h;v.onload=function(){clearTimeout(q);g[r.slice(0,16)+r.slice(0,16)]||h()};q=setTimeout(h,5E3);o.parentNode.insertBefore(v,o)}};if(!g[r]){try{Object.freeze(g[r]=w)}catch(e){}h()}})();/*]]>/* */</script></body></html>
|
||||||
</body></html>
|
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
1
src/extractor/__fixtures__/DoodStream/http:dood.toegy8l8mb2i311
generated
Normal file
1
src/extractor/__fixtures__/DoodStream/http:dood.toegy8l8mb2i311
generated
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>Video not found | DoodStream</title> <link rel="preconnect" href="//i.doodcdn.io"><link rel="preconnect" href="//cdnjs.cloudflare.com"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <link rel="stylesheet" href="//i.doodcdn.io/theme_2/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="//i.doodcdn.io/theme_2/css/style.css" /></head><body> <style type="text/css"> .not_found img {height:250px !important;} @media (max-width: 768px){.not_found h1{font-size:1.8rem;}.not_found img {height:200px !important;margin: 0 auto 15px;}} @media (max-width: 480px){.not_found h1{font-size:1.4rem;}.not_found img {height:120px !important;margin: 0 auto 15px;}.not_found p{margin-top: -5px;}} </style> <div class="container pt-5 not_found"> <div class="row"> <div class="col-md-12 pt-2 text-center"> <img src="//i.doodcdn.io/img/no_video_3.svg"> <h1>Not Found</h1> <p>video you are looking for is not found.</p> </div> </div> </div><script data-cfasync="false" src="//d1f05vr3sjsuy7.cloudfront.net/?srvfd=908056"></script><script data-cfasync="false" async type="text/javascript" src="//faqirsgoliard.top/gHzOaAdOhbZ/71405"></script><script data-cfasync="false" async type="text/javascript" src="//faqirsgoliard.top/r67c0fc81985e5/70849"></script><script type="text/javascript" data-cfasync="false">/*<![CDATA[/* */(function(){var g=window,r="ca0967284e67bc53cb5b626985619403",w=[["siteId",317+185*82*507-3600486],["minBid",0],["popundersPerIP","0"],["delayBetween",300],["default","https://strettechoco.com/iYa7dlULceKw/27615"],["defaultPerDay",0],["topmostLayer","never"]],n=["d3d3LmJsb2NrYWRzbm90LmNvbS9iYWphLm1pbi5jc3M=","ZG5oZmk1bm4yZHQ2Ny5jbG91ZGZyb250Lm5ldC9RVHd0eC91YWxnZWJyYS5taW4uanM=","d3d3LmJibHZwbGd1b21hLmNvbS9mYWphLm1pbi5jc3M=","d3d3LndqZ3BzcGt4empiZGd1LmNvbS9NTmlIWS9rYWxnZWJyYS5taW4uanM="],f=-1,v,q,h=function(){clearTimeout(q);f++;if(n[f]&&!(1766620801000<(new Date).getTime()&&1<f)){v=g.document.createElement("script");v.type="text/javascript";v.async=!0;var o=g.document.getElementsByTagName("script")[0];v.src="https://"+atob(n[f]);v.crossOrigin="anonymous";v.onerror=h;v.onload=function(){clearTimeout(q);g[r.slice(0,16)+r.slice(0,16)]||h()};q=setTimeout(h,5E3);o.parentNode.insertBefore(v,o)}};if(!g[r]){try{Object.freeze(g[r]=w)}catch(e){}h()}})();/*]]>/* */</script></body></html>
|
||||||
File diff suppressed because one or more lines are too long
1
src/extractor/__fixtures__/DoodStream/http:dood.toewfpwtsgyr1xi
generated
Normal file
1
src/extractor/__fixtures__/DoodStream/http:dood.toewfpwtsgyr1xi
generated
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
||||||
|
https://ee317r.cloudatacdn.com/u5kj63yvxddlsdgge7qremqqka27irwiupc4k7o5cikbhjliz6xwv2xr53uq/lco4d3heif~
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
https://wec6bnh7rx7rw11bv9e9vslw4rud8nam.5f1ebd98099ce35faeeddb30c1752191.r2.cloudflarestorage.com/icxxqqdsfdc4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ab085b515b950aae0a86cae59456cacd%2F20250714%2Fauto%2Fs3%2Faws4_request&X-Amz-Date=20250714T154400Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=845ebfa5feedd840027e431f31e013513dd4c4f74364b4e75a2c8ddb213bd97a
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
https://aa360cc.cloudatacdn.com/u5kjv4jxytd3sdgge5uogji5dg4huat2pxrm2qibdbm5rlyusvl46iz3u3ta/1f4isxg0tw~
|
||||||
|
|
@ -1,350 +0,0 @@
|
||||||
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
aclib.runPop({
|
|
||||||
zoneId: '10553222',
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220853"></script>-->
|
|
||||||
<script>
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
history.pushState(null, null, location.href);
|
|
||||||
window.onpopstate = function () {
|
|
||||||
history.go(1);
|
|
||||||
window.location.href = 'https://push-me-once.com/go/1272663';
|
|
||||||
};
|
|
||||||
});Object.defineProperty(document,atob('cmVmZXJyZXI='),{get:function(){return atob('aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8=')}});
|
|
||||||
</script>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Crayon Shinchan Action Kamen vs Demon (1993) 1080p BluRay REMUX AVC [Hindi DD 2.0 + Japanese FLAC 2.0] (PitiPati-Ionicboy) (4kHDHub.com).mkv</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="referrer" content="no-referrer"/>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
|
|
||||||
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
|
|
||||||
|
|
||||||
<meta name=viewport content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<style>
|
|
||||||
.icon{width:48px;height:48px}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0}.bg-primary{background-color:#4e73df!important}body{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"!important;font-weight:14px}.font-weight-bold{font-weight:700!important}.text-primary{color:#007bff!important;padding:.75rem 1.25rem;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;border:1px solid #e3e6f0;border-radius:.35rem;line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.font-weight-bold{font-weight:700!important}.m-0{margin:auto!important;width:100%}h4,.h4{font-size:1.4rem}.card-body{flex:1 1 auto;padding:1.25rem}.nav-tabs{border-bottom:1px solid #dddfeb}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#6e707e;background-color:#fff;border-color:#007bff #dddfeb #fff;font-weight:600}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}a{color:#4e73df;text-decoration:none;background-color:transparent}.footer{width:100%;height:auto;position:absolute;right:0;padding:15px 50px 0 15px;font-size:15px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right}.tab-content{width:90%;height:auto;position:initial;right:0;padding:0;text-align:center}.btn{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important;font-weight:700!important}.btn:hover{color:#fff!important;background-color:#0069d9!important;border-color:#0062cc!important}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.2rem;border-radius:.45rem}.header{width:100%;height:auto;position:relative;right:0;padding:10px 50px 5px 15px;font-size:16px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right;margin-top:-25px}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.card{line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.m-5{margin:auto!important}.swal-button{background-color:#007bff!important}.card-header:first-child{font-weight:600}
|
|
||||||
.btn-success1 {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #28a745;
|
|
||||||
border-color: #28a745;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1rem;
|
|
||||||
letter-spacing: .4px;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
font-weight: 600;
|
|
||||||
text-decoration:none !important;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
padding: .375rem .75rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
border-radius: .30rem;
|
|
||||||
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
|
||||||
}
|
|
||||||
.btn-success1:not(:disabled):not(.disabled).active, .btn-success1:not(:disabled):not(.disabled):active, .show>.btn-success1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #1e7e34;
|
|
||||||
border-color: #1c7430;
|
|
||||||
}
|
|
||||||
.btn-success1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #218838;
|
|
||||||
border-color: #1e7e34;
|
|
||||||
}
|
|
||||||
.btn-success1.focus, .btn-success1:focus {
|
|
||||||
box-shadow: 0 0 0 0.2rem rgb(72 180 97 / 50%);
|
|
||||||
}
|
|
||||||
.btn-lg, .btn-group-lg > .btn2 {
|
|
||||||
padding: .5rem .6rem !important;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
letter-spacing: .1px;
|
|
||||||
border-radius: 0.35rem!important;
|
|
||||||
}
|
|
||||||
.ads-btns {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden
|
|
||||||
}
|
|
||||||
.ads-btns a.btn2 {
|
|
||||||
min-width: 40%
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg {
|
|
||||||
fill: #fff;
|
|
||||||
width: 17px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child {
|
|
||||||
right: 20px
|
|
||||||
}
|
|
||||||
.downloads-btns-div .btn2 {
|
|
||||||
margin: 0 3px 12px
|
|
||||||
}
|
|
||||||
.btn2 {
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
text-transform: uppercase;
|
|
||||||
border: 2px solid #cbfc01;
|
|
||||||
padding: 10px 15px;
|
|
||||||
border-radius: 6px;
|
|
||||||
-webkit-border-radius: 6px;
|
|
||||||
-moz-border-radius: 6px;
|
|
||||||
background: #0ebac3;
|
|
||||||
color: #000;
|
|
||||||
display: inline-block;
|
|
||||||
text-decoration: none;
|
|
||||||
background: #cbfc01
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-zip {
|
|
||||||
border-color: #00d0ff;
|
|
||||||
background: #00d0ff;
|
|
||||||
color: #000
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<body>
|
|
||||||
<center>
|
|
||||||
<br/>
|
|
||||||
<div class="header">
|
|
||||||
HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container">
|
|
||||||
<div class="card-body">
|
|
||||||
<h2>
|
|
||||||
<div class="main" id="section2">
|
|
||||||
|
|
||||||
<div class="card h6">
|
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
|
||||||
Crayon Shinchan Action Kamen vs Demon (1993) 1080p BluRay REMUX AVC [Hindi DD 2.0 + Japanese FLAC 2.0] (PitiPati-Ionicboy) (4kHDHub.com).mkv </div>
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<ul class="list-group">
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">26.59 GB</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">13-Aug-2025 04:20:43</i></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<p class="h3 text-success">Download Link Generated</p>
|
|
||||||
<div class="input-group mb-3">
|
|
||||||
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/bffzqlpqfllfcld" readonly="" id="ilink">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="6" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!-- Mobile Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="7" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!--<script async src="//greenfox.ink/d/asyncjs.php"></script>-->
|
|
||||||
|
|
||||||
<div class="alert alert-warning h6" role="alert">
|
|
||||||
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ad-container"></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-containerx"></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://hub.oreao-cdn.buzz/e35ec4a9a4efb5a154d0d10f9481dafc?token=1774428754" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
|
||||||
<script>
|
|
||||||
const fsl = document.getElementById('fsl');
|
|
||||||
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pixel.hubcdn.fans/?id=5c7253dc7782ea14f891ed9f4c4d7f7ee43284d5e72e6ff401de6f1906046db7713b6d892a040a4b3dd31c9f47eee611a17924f224fc27dd70a921d4e9025c6b7d8b937e11b44e737bd4d5cfd203e361f77a8496dd75025ad8ce3e200905ef3f::853f8b4709e1acb8413ec14270adf205" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
|
||||||
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
|
||||||
|
|
||||||
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
|
||||||
Resume Not Supported in 10Gbps So Use only if you have stable internet (:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://hidden-boat-e87c.hivegic619569.workers.dev/1397962425/53eaea70751039409adff7a1b54377f9aa8e590cd610a6452c849a7cbd2e40af66e667588bada714c63a9cf5360712f266b304e379bfde1d12c46aa2ccedf6eb::6170837909b2ffc3fc7f892bc959bd7e/Crayon Shinchan Action Kamen vs Demon (1993) 1080p BluRay REMUX AVC [Hindi DD 2.0 + Japanese FLAC 2.0] (PitiPati-Ionicboy) (4kHDHub.com).mkv" download="Crayon Shinchan Action Kamen vs Demon (1993) 1080p BluRay REMUX AVC [Hindi DD 2.0 + Japanese FLAC 2.0] (PitiPati-Ionicboy) (4kHDHub.com).mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #6f42c1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [PDL Server]</a>
|
|
||||||
<script>
|
|
||||||
fetch('https://ping.rojgaartakkar.com/bmRFb0YweUVYZ1QvZys0OTRsNk53T2JMRG13QWRxYW5YcWYxYzNHYjhHZz0=');
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<button id="android_launch" class="btn btn-success btn-lg h6 p-2 d-none" style="background: #0d0b15 !important;"><i class="fab fa-android fa-lg" style="color: #63E6BE;"></i> DL/Open with Android App</button>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function createIntentURL({host, scheme = 'http', type = 'application/octet-stream'}) {
|
|
||||||
let host_ = host.replace('https://', '');
|
|
||||||
return `intent://${host_}#Intent;scheme=${scheme};action=android.intent.action.VIEW;type=${type};S.browser_fallback_url=${encodeURIComponent(host)};end`;
|
|
||||||
}
|
|
||||||
function isAndroid() {
|
|
||||||
return /Android/i.test(navigator.userAgent);
|
|
||||||
}
|
|
||||||
|
|
||||||
const android_launch = document.getElementById('android_launch');
|
|
||||||
if(isAndroid()){
|
|
||||||
android_launch.classList.remove("d-none");
|
|
||||||
android_launch.addEventListener('click', ()=>{
|
|
||||||
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://hub.oreao-cdn.buzz/e35ec4a9a4efb5a154d0d10f9481dafc?token=1774428754',scheme: 'https',type: 'video/x-matrosk',
|
|
||||||
});anchor.click();
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<div class="alert alert-warning" role="alert">
|
|
||||||
<p><b>Note : </b>Please Use Download Manager like <a href="https://www.google.com/search?q=idm+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDM</a> Or <a href="https://www.google.com/search?q=IDA+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDA</a> - To accelerate Your Download Speeds </p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-primary" role="alert">
|
|
||||||
<p><b>Note:</b> <i>Refresh this Page & click Download again if you get any error.</i> ! Resume is Supported-Enjoy :)</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<p><b>If you're getting any error please report at <a href="https://t.me/hubcloudreport">@Telegram Group</a> with Share Link And Screenshot (:</b></p>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="text" align="center">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" id="button1" role="tab" data-toggle="tab">Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body" id="div1">
|
|
||||||
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/bffzqlpqfllfcld</p>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var size = document.getElementById("size").innerHTML
|
|
||||||
var sharelink = document.getElementById("sharelink").innerHTML
|
|
||||||
if(size == 'NAN '){swal({
|
|
||||||
title: "Token Expired!",
|
|
||||||
text: "Token Link has been expired Please Click on Ok Button To Generate New Link!",
|
|
||||||
type: "success"
|
|
||||||
}).then(function() {
|
|
||||||
window.location = document.location.href = sharelink;
|
|
||||||
});}
|
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied ! : "+e)}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
// const L_=["aHR0cHM6Ly90aW55dXJsLmNvbS9hdm9ndXJsNHU="],localStorageKey="pds",hoursLimit=6;let opened=!1;document.addEventListener("click",function(){if(!opened){var a=localStorage.getItem(localStorageKey),l=(new Date).getTime();if(!(a&&l-a<216e5)){opened=!0;let e=L_[Math.floor(Math.random()*L_.length)],t=atob(e),o=document.createElement("a");o.href=t,o.target="_blank",o.rel="noopener noreferrer",a=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}),o.dispatchEvent(a),setTimeout(()=>window.focus(),100),localStorage.setItem(localStorageKey,l)}}});
|
|
||||||
</script>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
Msc
|
|
||||||
|
|
||||||
<video autoplay muted playsinline preload="metadata" hidden>
|
|
||||||
<source src="https://lh3.googleusercontent.com/pw/AP1GczPvuSJv__IfKHEWza111gQ8cf-7_HNU3Mi1oSxHgtoUmS3z22DcgLvk9zNq5_zQGxp3_asDWKLY6cLB-5BYRip6ElCgllgQccSk4-p_7YwGDCQnx0E=m18#t=0,1" type="video/mp4"></video>
|
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
|
|
||||||
|
|
||||||
<!--2dl-->
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
|
|
||||||
<p>Made with <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-heart-fill" fill="red" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z" /> </svg></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"ce57d66a8dc54ff7a63a7a9b493d15a0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
|
|
||||||
</body>
|
|
||||||
</html><script>
|
|
||||||
window.sessionStorage.setItem('xl',window.location.href)
|
|
||||||
function cn(t){let e=window.location.protocol+"//"+window.location.host+t;history.replaceState({path:e},"",e)}cn("/games/");
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
function setCookie(e,t,i){let o=encodeURIComponent(t),$=new Date;$.setTime($.getTime()+36e5*i);let n=`${e}=${o}; expires=${$.toUTCString()}; path=/`;document.cookie=n}setCookie("xyt",1,24);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!--<script async src="https://greenanalytics.autos/recaptcha/v4_enc.js"></script>-->
|
|
||||||
|
|
||||||
<!--<script>let s__=!1,observer=null;const sc_="a, button";function opst(e){if(!s__)return;e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r=document.querySelectorAll(sc_);r.forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){let e=document.querySelectorAll(sc_);e.forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){}},!1);-->
|
|
||||||
<!--</script>-->
|
|
||||||
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100641" src="https://sads.adsboosters.xyz/60e6df74e82f934b77ca81ccdfccfd40.js"></script>
|
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||||
</script>
|
</script>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.2160p.NF.WEB-DL.DUAL.DDP5.1.Atmos.H.265-4kHDHub.Com.mkv</title>
|
<title>Crayon Shinchan Action Kamen vs Demon (1993) 1080p BluRay REMUX AVC [Hindi DD 2.0 + Japanese FLAC 2.0] (PitiPati-Ionicboy) (4kHDHub.com).mkv</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
||||||
<meta name="referrer" content="no-referrer">
|
<meta name="referrer" content="no-referrer">
|
||||||
|
|
@ -151,13 +151,13 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
<div class="card h6">
|
<div class="card h6">
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
<div class="card-header text-white bg-primary mb-3">
|
||||||
Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.2160p.NF.WEB-DL.DUAL.DDP5.1.Atmos.H.265-4kHDHub.Com.mkv </div>
|
Crayon Shinchan Action Kamen vs Demon (1993) 1080p BluRay REMUX AVC [Hindi DD 2.0 + Japanese FLAC 2.0] (PitiPati-Ionicboy) (4kHDHub.com).mkv </div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">17.97 GB</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">26.59 GB</i></li>
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">12-Dec-2025 08:59:40</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">13-Aug-2025 04:20:43</i></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -167,7 +167,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
</div>
|
</div>
|
||||||
<p class="h3 text-success">Download Link Generated</p>
|
<p class="h3 text-success">Download Link Generated</p>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/a55vjuuwj4vbtha" readonly="" id="ilink">
|
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/bffzqlpqfllfcld" readonly="" id="ilink">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -183,6 +183,15 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<a href="?token=a05d8e6416ce6b745a1073feeb9128a4" id="s3" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #2d50e2d1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [FSLv2 Server]</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const fsl = document.getElementById('s3');
|
||||||
|
if (fsl) fsl.href += '_1' + new Date().getMinutes();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-container"></div>
|
<div class="ad-container"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -192,7 +201,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://fsl.master.surf/e25e157cd10b4c203ad281a9280d5931?token=1768483596" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
<a href="https://pub-6b25c191839c4b01a878de4fdde0227b.r2.dev/e35ec4a9a4efb5a154d0d10f9481dafc?token=1765557445" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
||||||
<script>
|
<script>
|
||||||
const fsl = document.getElementById('fsl');
|
const fsl = document.getElementById('fsl');
|
||||||
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
||||||
|
|
@ -204,7 +213,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pixel.hubcdn.fans/?id=5ccc2933e8fae5e093c59b8e8e045c7e50d9b3784d6be8f8a79ddae17b0905a9a75cd0b0a7e0f9ad52e8536ff282a7bb1eec3fb8676412d809236d680a1d75760a157209a848be433e8eeec206ebc04221a1e2194fee473af5a9f279227dcbec::a4cb00f80c6c819e350102243cd62b17" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
<a href="https://pixel.hubcdn.fans/?id=cf9da6de5b5cc1ca5b3e2520b5acf717edf501be7d93b65e393737c54cc02414e98b792baef67306766e1ada227050e941565d787d593d01503ab42aa92cc97a47e47ddd48df7d80a8e8c69d566d8d71fb824057bb75356c67cd624ebbd1497f::e0be1d5c31c2e9e9bce4002ad9cce30a" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
||||||
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
||||||
|
|
||||||
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
||||||
|
|
@ -215,10 +224,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<iframe src="https://pixeldrain.dev/u/Kd5MqbDS?embed" width="0" height="0" frameborder="0" style="display:none;" sandbox="allow-scripts allow-same-origin"></iframe>
|
|
||||||
<a href="https://pixeldrain.dev/u/Kd5MqbDS" download="Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.2160p.NF.WEB-DL.DUAL.DDP5.1.Atmos.H.265-4kHDHub.Com.mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #6f42c1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [PixelServer : 2]</a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -247,7 +253,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
if(isAndroid()){
|
if(isAndroid()){
|
||||||
android_launch.classList.remove("d-none");
|
android_launch.classList.remove("d-none");
|
||||||
android_launch.addEventListener('click', ()=>{
|
android_launch.addEventListener('click', ()=>{
|
||||||
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://fsl.master.surf/e25e157cd10b4c203ad281a9280d5931?token=1768483596',scheme: 'https',type: 'video/x-matrosk',
|
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://pub-6b25c191839c4b01a878de4fdde0227b.r2.dev/e35ec4a9a4efb5a154d0d10f9481dafc?token=1765557445',scheme: 'https',type: 'video/x-matrosk',
|
||||||
});anchor.click();
|
});anchor.click();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -284,7 +290,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body" id="div1">
|
<div class="card-body" id="div1">
|
||||||
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/a55vjuuwj4vbtha</p>
|
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/bffzqlpqfllfcld</p>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -1,349 +0,0 @@
|
||||||
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
aclib.runPop({
|
|
||||||
zoneId: '10553222',
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220853"></script>-->
|
|
||||||
<script>
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
history.pushState(null, null, location.href);
|
|
||||||
window.onpopstate = function () {
|
|
||||||
history.go(1);
|
|
||||||
window.location.href = 'https://push-me-once.com/go/1272663';
|
|
||||||
};
|
|
||||||
});Object.defineProperty(document,atob('cmVmZXJyZXI='),{get:function(){return atob('aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8=')}});
|
|
||||||
</script>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="referrer" content="no-referrer"/>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
|
|
||||||
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
|
|
||||||
|
|
||||||
<meta name=viewport content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<style>
|
|
||||||
.icon{width:48px;height:48px}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0}.bg-primary{background-color:#4e73df!important}body{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"!important;font-weight:14px}.font-weight-bold{font-weight:700!important}.text-primary{color:#007bff!important;padding:.75rem 1.25rem;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;border:1px solid #e3e6f0;border-radius:.35rem;line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.font-weight-bold{font-weight:700!important}.m-0{margin:auto!important;width:100%}h4,.h4{font-size:1.4rem}.card-body{flex:1 1 auto;padding:1.25rem}.nav-tabs{border-bottom:1px solid #dddfeb}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#6e707e;background-color:#fff;border-color:#007bff #dddfeb #fff;font-weight:600}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}a{color:#4e73df;text-decoration:none;background-color:transparent}.footer{width:100%;height:auto;position:absolute;right:0;padding:15px 50px 0 15px;font-size:15px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right}.tab-content{width:90%;height:auto;position:initial;right:0;padding:0;text-align:center}.btn{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important;font-weight:700!important}.btn:hover{color:#fff!important;background-color:#0069d9!important;border-color:#0062cc!important}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.2rem;border-radius:.45rem}.header{width:100%;height:auto;position:relative;right:0;padding:10px 50px 5px 15px;font-size:16px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right;margin-top:-25px}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.card{line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.m-5{margin:auto!important}.swal-button{background-color:#007bff!important}.card-header:first-child{font-weight:600}
|
|
||||||
.btn-success1 {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #28a745;
|
|
||||||
border-color: #28a745;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1rem;
|
|
||||||
letter-spacing: .4px;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
font-weight: 600;
|
|
||||||
text-decoration:none !important;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
padding: .375rem .75rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
border-radius: .30rem;
|
|
||||||
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
|
||||||
}
|
|
||||||
.btn-success1:not(:disabled):not(.disabled).active, .btn-success1:not(:disabled):not(.disabled):active, .show>.btn-success1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #1e7e34;
|
|
||||||
border-color: #1c7430;
|
|
||||||
}
|
|
||||||
.btn-success1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #218838;
|
|
||||||
border-color: #1e7e34;
|
|
||||||
}
|
|
||||||
.btn-success1.focus, .btn-success1:focus {
|
|
||||||
box-shadow: 0 0 0 0.2rem rgb(72 180 97 / 50%);
|
|
||||||
}
|
|
||||||
.btn-lg, .btn-group-lg > .btn2 {
|
|
||||||
padding: .5rem .6rem !important;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
letter-spacing: .1px;
|
|
||||||
border-radius: 0.35rem!important;
|
|
||||||
}
|
|
||||||
.ads-btns {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden
|
|
||||||
}
|
|
||||||
.ads-btns a.btn2 {
|
|
||||||
min-width: 40%
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg {
|
|
||||||
fill: #fff;
|
|
||||||
width: 17px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child {
|
|
||||||
right: 20px
|
|
||||||
}
|
|
||||||
.downloads-btns-div .btn2 {
|
|
||||||
margin: 0 3px 12px
|
|
||||||
}
|
|
||||||
.btn2 {
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
text-transform: uppercase;
|
|
||||||
border: 2px solid #cbfc01;
|
|
||||||
padding: 10px 15px;
|
|
||||||
border-radius: 6px;
|
|
||||||
-webkit-border-radius: 6px;
|
|
||||||
-moz-border-radius: 6px;
|
|
||||||
background: #0ebac3;
|
|
||||||
color: #000;
|
|
||||||
display: inline-block;
|
|
||||||
text-decoration: none;
|
|
||||||
background: #cbfc01
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-zip {
|
|
||||||
border-color: #00d0ff;
|
|
||||||
background: #00d0ff;
|
|
||||||
color: #000
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<body>
|
|
||||||
<center>
|
|
||||||
<br/>
|
|
||||||
<div class="header">
|
|
||||||
HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container">
|
|
||||||
<div class="card-body">
|
|
||||||
<h2>
|
|
||||||
<div class="main" id="section2">
|
|
||||||
|
|
||||||
<div class="card h6">
|
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
|
||||||
Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv </div>
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<ul class="list-group">
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">5.34 GB</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">21-Apr-2025 05:22:19</i></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<p class="h3 text-success">Download Link Generated</p>
|
|
||||||
<div class="input-group mb-3">
|
|
||||||
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/idt1evqfuviqiei" readonly="" id="ilink">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="6" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!-- Mobile Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="7" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!--<script async src="//greenfox.ink/d/asyncjs.php"></script>-->
|
|
||||||
|
|
||||||
<div class="alert alert-warning h6" role="alert">
|
|
||||||
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ad-container"></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-containerx"></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pub-b5ecaffddf2344a0ae2222f5e8913e1b.r2.dev/Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv?token=1774428754" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
|
||||||
<script>
|
|
||||||
const fsl = document.getElementById('fsl');
|
|
||||||
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pixel.hubcdn.fans/?id=fb8c076011baaf9fd0cd6d349d86da6d8bf9c1a241cdcfb8ec27e07979b905608e125fadd030f801fa79752521d434885fe414c584c60919d282af9562b752b7fbaaad7784bd8251ce8eb1f5dacaf711bee65758b9f7fb78c4935b0b08afde16::837d46bfad85ed4f96ad7d9246ba302e" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
|
||||||
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
|
||||||
|
|
||||||
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
|
||||||
Resume Not Supported in 10Gbps So Use only if you have stable internet (:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<iframe src="https://pixeldrain.dev/u/HqAiguQV?embed" width="0" height="0" frameborder="0" style="display:none;" sandbox="allow-scripts allow-same-origin"></iframe>
|
|
||||||
<a href="https://pixeldrain.dev/u/HqAiguQV" download="Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #6f42c1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [PixelServer : 2]</a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<button id="android_launch" class="btn btn-success btn-lg h6 p-2 d-none" style="background: #0d0b15 !important;"><i class="fab fa-android fa-lg" style="color: #63E6BE;"></i> DL/Open with Android App</button>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function createIntentURL({host, scheme = 'http', type = 'application/octet-stream'}) {
|
|
||||||
let host_ = host.replace('https://', '');
|
|
||||||
return `intent://${host_}#Intent;scheme=${scheme};action=android.intent.action.VIEW;type=${type};S.browser_fallback_url=${encodeURIComponent(host)};end`;
|
|
||||||
}
|
|
||||||
function isAndroid() {
|
|
||||||
return /Android/i.test(navigator.userAgent);
|
|
||||||
}
|
|
||||||
|
|
||||||
const android_launch = document.getElementById('android_launch');
|
|
||||||
if(isAndroid()){
|
|
||||||
android_launch.classList.remove("d-none");
|
|
||||||
android_launch.addEventListener('click', ()=>{
|
|
||||||
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://pub-b5ecaffddf2344a0ae2222f5e8913e1b.r2.dev/Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv?token=1774428754',scheme: 'https',type: 'video/x-matrosk',
|
|
||||||
});anchor.click();
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<div class="alert alert-warning" role="alert">
|
|
||||||
<p><b>Note : </b>Please Use Download Manager like <a href="https://www.google.com/search?q=idm+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDM</a> Or <a href="https://www.google.com/search?q=IDA+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDA</a> - To accelerate Your Download Speeds </p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-primary" role="alert">
|
|
||||||
<p><b>Note:</b> <i>Refresh this Page & click Download again if you get any error.</i> ! Resume is Supported-Enjoy :)</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<p><b>If you're getting any error please report at <a href="https://t.me/hubcloudreport">@Telegram Group</a> with Share Link And Screenshot (:</b></p>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="text" align="center">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" id="button1" role="tab" data-toggle="tab">Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body" id="div1">
|
|
||||||
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/idt1evqfuviqiei</p>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var size = document.getElementById("size").innerHTML
|
|
||||||
var sharelink = document.getElementById("sharelink").innerHTML
|
|
||||||
if(size == 'NAN '){swal({
|
|
||||||
title: "Token Expired!",
|
|
||||||
text: "Token Link has been expired Please Click on Ok Button To Generate New Link!",
|
|
||||||
type: "success"
|
|
||||||
}).then(function() {
|
|
||||||
window.location = document.location.href = sharelink;
|
|
||||||
});}
|
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied ! : "+e)}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
// const L_=["aHR0cHM6Ly90aW55dXJsLmNvbS9hdm9ndXJsNHU="],localStorageKey="pds",hoursLimit=6;let opened=!1;document.addEventListener("click",function(){if(!opened){var a=localStorage.getItem(localStorageKey),l=(new Date).getTime();if(!(a&&l-a<216e5)){opened=!0;let e=L_[Math.floor(Math.random()*L_.length)],t=atob(e),o=document.createElement("a");o.href=t,o.target="_blank",o.rel="noopener noreferrer",a=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}),o.dispatchEvent(a),setTimeout(()=>window.focus(),100),localStorage.setItem(localStorageKey,l)}}});
|
|
||||||
</script>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
Msc
|
|
||||||
|
|
||||||
<video autoplay muted playsinline preload="metadata" hidden>
|
|
||||||
<source src="https://lh3.googleusercontent.com/pw/AP1GczPvuSJv__IfKHEWza111gQ8cf-7_HNU3Mi1oSxHgtoUmS3z22DcgLvk9zNq5_zQGxp3_asDWKLY6cLB-5BYRip6ElCgllgQccSk4-p_7YwGDCQnx0E=m18#t=0,1" type="video/mp4"></video>
|
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
|
|
||||||
|
|
||||||
<!--2dl-->
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
|
|
||||||
<p>Made with <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-heart-fill" fill="red" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z" /> </svg></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"ce57d66a8dc54ff7a63a7a9b493d15a0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
|
|
||||||
</body>
|
|
||||||
</html><script>
|
|
||||||
window.sessionStorage.setItem('xl',window.location.href)
|
|
||||||
function cn(t){let e=window.location.protocol+"//"+window.location.host+t;history.replaceState({path:e},"",e)}cn("/games/");
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
function setCookie(e,t,i){let o=encodeURIComponent(t),$=new Date;$.setTime($.getTime()+36e5*i);let n=`${e}=${o}; expires=${$.toUTCString()}; path=/`;document.cookie=n}setCookie("xyt",1,24);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!--<script async src="https://greenanalytics.autos/recaptcha/v4_enc.js"></script>-->
|
|
||||||
|
|
||||||
<!--<script>let s__=!1,observer=null;const sc_="a, button";function opst(e){if(!s__)return;e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r=document.querySelectorAll(sc_);r.forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){let e=document.querySelectorAll(sc_);e.forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){}},!1);-->
|
|
||||||
<!--</script>-->
|
|
||||||
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100641" src="https://sads.adsboosters.xyz/60e6df74e82f934b77ca81ccdfccfd40.js"></script>
|
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||||
</script>
|
</script>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.1080p.NF.WEB-DL.Hindi.DDP5.1.Atmos-English.DDP5.1.Atmos.H.264-4kHdHub.Com.mkv</title>
|
<title>Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
||||||
<meta name="referrer" content="no-referrer">
|
<meta name="referrer" content="no-referrer">
|
||||||
|
|
@ -151,13 +151,13 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
<div class="card h6">
|
<div class="card h6">
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
<div class="card-header text-white bg-primary mb-3">
|
||||||
Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.1080p.NF.WEB-DL.Hindi.DDP5.1.Atmos-English.DDP5.1.Atmos.H.264-4kHdHub.Com.mkv </div>
|
Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv </div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">9.3 GB</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">5.34 GB</i></li>
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">12-Dec-2025 08:04:31</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">21-Apr-2025 05:22:19</i></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -167,7 +167,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
</div>
|
</div>
|
||||||
<p class="h3 text-success">Download Link Generated</p>
|
<p class="h3 text-success">Download Link Generated</p>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/xoun4ifeynizfs9" readonly="" id="ilink">
|
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/idt1evqfuviqiei" readonly="" id="ilink">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -183,6 +183,15 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<a href="?token=a05d8e6416ce6b745a1073feeb9128a4" id="s3" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #2d50e2d1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [FSLv2 Server]</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const fsl = document.getElementById('s3');
|
||||||
|
if (fsl) fsl.href += '_1' + new Date().getMinutes();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-container"></div>
|
<div class="ad-container"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -192,7 +201,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://fsl.master.surf/f956e46a610fa88657d505d07be917e9?token=1768483435" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
<a href="https://pub-b5ecaffddf2344a0ae2222f5e8913e1b.r2.dev/Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv?token=1765557444" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
||||||
<script>
|
<script>
|
||||||
const fsl = document.getElementById('fsl');
|
const fsl = document.getElementById('fsl');
|
||||||
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
||||||
|
|
@ -204,7 +213,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pixel.hubcdn.fans/?id=e8b09c5e964b413a5856f76143bca4d3008332510305700debc63c02458fe0676ced9df6b376b5711f8cd13cb2376ce0cd306fb111ea3e3c724ee8c766fbbfdfe5a8478815e3f518a51eb64d221bcddc48afc48d89b99551f7470c0191cad5c7::bef788898ff0bb6354b8c286427304b6" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
<a href="https://pixel.hubcdn.fans/?id=93cbf9a8a64bd73e509803a9c1a42d3ca3c1b5e6eedf0306d86e7862fe38d6450d7165aa485b86286f5e95151d3af31e89350676e5cca8b54f56737388e81172998605a935e8c1828f026797bc158ff23921f09201c464a9d4a29c75f5e12026::43a5d16883d6f6cd09d2487e56f0836d" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
||||||
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
||||||
|
|
||||||
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
||||||
|
|
@ -215,8 +224,8 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<iframe src="https://pixeldrain.dev/u/yzyxiGzC?embed" width="0" height="0" frameborder="0" style="display:none;" sandbox="allow-scripts allow-same-origin"></iframe>
|
<iframe src="https://pixeldrain.dev/u/HqAiguQV?embed" width="0" height="0" frameborder="0" style="display:none;" sandbox="allow-scripts allow-same-origin"></iframe>
|
||||||
<a href="https://pixeldrain.dev/u/yzyxiGzC" download="Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.1080p.NF.WEB-DL.Hindi.DDP5.1.Atmos-English.DDP5.1.Atmos.H.264-4kHdHub.Com.mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #6f42c1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [PixelServer : 2]</a>
|
<a href="https://pixeldrain.dev/u/HqAiguQV" download="Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #6f42c1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [PixelServer : 2]</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -247,7 +256,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
if(isAndroid()){
|
if(isAndroid()){
|
||||||
android_launch.classList.remove("d-none");
|
android_launch.classList.remove("d-none");
|
||||||
android_launch.addEventListener('click', ()=>{
|
android_launch.addEventListener('click', ()=>{
|
||||||
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://fsl.master.surf/f956e46a610fa88657d505d07be917e9?token=1768483435',scheme: 'https',type: 'video/x-matrosk',
|
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://pub-b5ecaffddf2344a0ae2222f5e8913e1b.r2.dev/Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv?token=1765557444',scheme: 'https',type: 'video/x-matrosk',
|
||||||
});anchor.click();
|
});anchor.click();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -284,7 +293,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body" id="div1">
|
<div class="card-body" id="div1">
|
||||||
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/xoun4ifeynizfs9</p>
|
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/idt1evqfuviqiei</p>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -1,351 +0,0 @@
|
||||||
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
aclib.runPop({
|
|
||||||
zoneId: '10553222',
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220853"></script>-->
|
|
||||||
<script>
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
history.pushState(null, null, location.href);
|
|
||||||
window.onpopstate = function () {
|
|
||||||
history.go(1);
|
|
||||||
window.location.href = 'https://push-me-once.com/go/1272663';
|
|
||||||
};
|
|
||||||
});Object.defineProperty(document,atob('cmVmZXJyZXI='),{get:function(){return atob('aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8=')}});
|
|
||||||
</script>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="referrer" content="no-referrer"/>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
|
|
||||||
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
|
|
||||||
|
|
||||||
<meta name=viewport content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<style>
|
|
||||||
.icon{width:48px;height:48px}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0}.bg-primary{background-color:#4e73df!important}body{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"!important;font-weight:14px}.font-weight-bold{font-weight:700!important}.text-primary{color:#007bff!important;padding:.75rem 1.25rem;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;border:1px solid #e3e6f0;border-radius:.35rem;line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.font-weight-bold{font-weight:700!important}.m-0{margin:auto!important;width:100%}h4,.h4{font-size:1.4rem}.card-body{flex:1 1 auto;padding:1.25rem}.nav-tabs{border-bottom:1px solid #dddfeb}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#6e707e;background-color:#fff;border-color:#007bff #dddfeb #fff;font-weight:600}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}a{color:#4e73df;text-decoration:none;background-color:transparent}.footer{width:100%;height:auto;position:absolute;right:0;padding:15px 50px 0 15px;font-size:15px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right}.tab-content{width:90%;height:auto;position:initial;right:0;padding:0;text-align:center}.btn{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important;font-weight:700!important}.btn:hover{color:#fff!important;background-color:#0069d9!important;border-color:#0062cc!important}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.2rem;border-radius:.45rem}.header{width:100%;height:auto;position:relative;right:0;padding:10px 50px 5px 15px;font-size:16px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right;margin-top:-25px}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.card{line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.m-5{margin:auto!important}.swal-button{background-color:#007bff!important}.card-header:first-child{font-weight:600}
|
|
||||||
.btn-success1 {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #28a745;
|
|
||||||
border-color: #28a745;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1rem;
|
|
||||||
letter-spacing: .4px;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
font-weight: 600;
|
|
||||||
text-decoration:none !important;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
padding: .375rem .75rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
border-radius: .30rem;
|
|
||||||
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
|
||||||
}
|
|
||||||
.btn-success1:not(:disabled):not(.disabled).active, .btn-success1:not(:disabled):not(.disabled):active, .show>.btn-success1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #1e7e34;
|
|
||||||
border-color: #1c7430;
|
|
||||||
}
|
|
||||||
.btn-success1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #218838;
|
|
||||||
border-color: #1e7e34;
|
|
||||||
}
|
|
||||||
.btn-success1.focus, .btn-success1:focus {
|
|
||||||
box-shadow: 0 0 0 0.2rem rgb(72 180 97 / 50%);
|
|
||||||
}
|
|
||||||
.btn-lg, .btn-group-lg > .btn2 {
|
|
||||||
padding: .5rem .6rem !important;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
letter-spacing: .1px;
|
|
||||||
border-radius: 0.35rem!important;
|
|
||||||
}
|
|
||||||
.ads-btns {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden
|
|
||||||
}
|
|
||||||
.ads-btns a.btn2 {
|
|
||||||
min-width: 40%
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg {
|
|
||||||
fill: #fff;
|
|
||||||
width: 17px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child {
|
|
||||||
right: 20px
|
|
||||||
}
|
|
||||||
.downloads-btns-div .btn2 {
|
|
||||||
margin: 0 3px 12px
|
|
||||||
}
|
|
||||||
.btn2 {
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
text-transform: uppercase;
|
|
||||||
border: 2px solid #cbfc01;
|
|
||||||
padding: 10px 15px;
|
|
||||||
border-radius: 6px;
|
|
||||||
-webkit-border-radius: 6px;
|
|
||||||
-moz-border-radius: 6px;
|
|
||||||
background: #0ebac3;
|
|
||||||
color: #000;
|
|
||||||
display: inline-block;
|
|
||||||
text-decoration: none;
|
|
||||||
background: #cbfc01
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-zip {
|
|
||||||
border-color: #00d0ff;
|
|
||||||
background: #00d0ff;
|
|
||||||
color: #000
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<body>
|
|
||||||
<center>
|
|
||||||
<br/>
|
|
||||||
<div class="header">
|
|
||||||
HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container">
|
|
||||||
<div class="card-body">
|
|
||||||
<h2>
|
|
||||||
<div class="main" id="section2">
|
|
||||||
|
|
||||||
<div class="card h6">
|
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
|
||||||
Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv </div>
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<ul class="list-group">
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">3.15 GB</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">18-May-2025 10:45:55</i></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<p class="h3 text-success">Download Link Generated</p>
|
|
||||||
<div class="input-group mb-3">
|
|
||||||
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/nknlofk8snfnknh" readonly="" id="ilink">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="6" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!-- Mobile Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="7" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!--<script async src="//greenfox.ink/d/asyncjs.php"></script>-->
|
|
||||||
|
|
||||||
<div class="alert alert-warning h6" role="alert">
|
|
||||||
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ad-container"></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-containerx"></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pub-0cef6721657649918259091880efe12f.r2.dev/c8c652be7fb5a8d731b9c7ddc465d37f?token=1774428754" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
|
||||||
<script>
|
|
||||||
const fsl = document.getElementById('fsl');
|
|
||||||
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pixel.hubcdn.fans/?id=d4697e0d4f27ea5067265503a820f05245ffd2d64a88ce6ecce4e18b6cace173bebc13920763a92baeaefe65f8c8a26efd836a0c1b3e92b4ce717874a5ff26a0764642b8090a5f7ef227bdb0bd6744ea8aa7edc43957e94b6ac9d2034c5a1d29::bada52a274d97488e2e76c1718bc16f5" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
|
||||||
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
|
||||||
|
|
||||||
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
|
||||||
Resume Not Supported in 10Gbps So Use only if you have stable internet (:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<iframe src="https://pixeldrain.dev/u/2kFQBQio?embed" width="0" height="0" frameborder="0" style="display:none;" sandbox="allow-scripts allow-same-origin"></iframe>
|
|
||||||
<a href="https://pixeldrain.dev/u/2kFQBQio" download="Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #6f42c1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [PixelServer : 2]</a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a href="https://www-google-com.cdn.ampproject.org/c/s/bloggingvector.shop/foo/aHR0cHM6Ly93d3ctZ29vZ2xlLWNvbS5jZG4uYW1wcHJvamVjdC5vcmcvYy9zL25ld3NvbmdzLmNvLmluL2dvP2lkPTNPZnAzZHl1b3FUaHp1RFkzTi9LNGFIWjNOQ2p1K3JQek9EaTZ0SGgyTlhrNGFqbjU5YmYzYkhEeTdPK3lOM0QyOHJmbyt6Q3dlVEN3cDIvcXNxOTFiL0t1S3FpeXFianhNZlV2cmpKMjlXNjJPQ2htc2pMNWJ6T3ljbTZ3Y0hZdWN1eTRMRT0=" target="_blank" rel="noopener noreferrer nofollow" class="btn btn-primary h5" style="margin-top: 11px;"><i class="fab fa-telegram fa-lg"></i></i> Downoad From Telegram </a>
|
|
||||||
|
|
||||||
<button id="android_launch" class="btn btn-success btn-lg h6 p-2 d-none" style="background: #0d0b15 !important;"><i class="fab fa-android fa-lg" style="color: #63E6BE;"></i> DL/Open with Android App</button>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function createIntentURL({host, scheme = 'http', type = 'application/octet-stream'}) {
|
|
||||||
let host_ = host.replace('https://', '');
|
|
||||||
return `intent://${host_}#Intent;scheme=${scheme};action=android.intent.action.VIEW;type=${type};S.browser_fallback_url=${encodeURIComponent(host)};end`;
|
|
||||||
}
|
|
||||||
function isAndroid() {
|
|
||||||
return /Android/i.test(navigator.userAgent);
|
|
||||||
}
|
|
||||||
|
|
||||||
const android_launch = document.getElementById('android_launch');
|
|
||||||
if(isAndroid()){
|
|
||||||
android_launch.classList.remove("d-none");
|
|
||||||
android_launch.addEventListener('click', ()=>{
|
|
||||||
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://pub-0cef6721657649918259091880efe12f.r2.dev/c8c652be7fb5a8d731b9c7ddc465d37f?token=1774428754',scheme: 'https',type: 'video/x-matrosk',
|
|
||||||
});anchor.click();
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<div class="alert alert-warning" role="alert">
|
|
||||||
<p><b>Note : </b>Please Use Download Manager like <a href="https://www.google.com/search?q=idm+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDM</a> Or <a href="https://www.google.com/search?q=IDA+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDA</a> - To accelerate Your Download Speeds </p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-primary" role="alert">
|
|
||||||
<p><b>Note:</b> <i>Refresh this Page & click Download again if you get any error.</i> ! Resume is Supported-Enjoy :)</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<p><b>If you're getting any error please report at <a href="https://t.me/hubcloudreport">@Telegram Group</a> with Share Link And Screenshot (:</b></p>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="text" align="center">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" id="button1" role="tab" data-toggle="tab">Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body" id="div1">
|
|
||||||
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/nknlofk8snfnknh</p>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var size = document.getElementById("size").innerHTML
|
|
||||||
var sharelink = document.getElementById("sharelink").innerHTML
|
|
||||||
if(size == 'NAN '){swal({
|
|
||||||
title: "Token Expired!",
|
|
||||||
text: "Token Link has been expired Please Click on Ok Button To Generate New Link!",
|
|
||||||
type: "success"
|
|
||||||
}).then(function() {
|
|
||||||
window.location = document.location.href = sharelink;
|
|
||||||
});}
|
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied ! : "+e)}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
// const L_=["aHR0cHM6Ly90aW55dXJsLmNvbS9hdm9ndXJsNHU="],localStorageKey="pds",hoursLimit=6;let opened=!1;document.addEventListener("click",function(){if(!opened){var a=localStorage.getItem(localStorageKey),l=(new Date).getTime();if(!(a&&l-a<216e5)){opened=!0;let e=L_[Math.floor(Math.random()*L_.length)],t=atob(e),o=document.createElement("a");o.href=t,o.target="_blank",o.rel="noopener noreferrer",a=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}),o.dispatchEvent(a),setTimeout(()=>window.focus(),100),localStorage.setItem(localStorageKey,l)}}});
|
|
||||||
</script>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
Msc
|
|
||||||
|
|
||||||
<video autoplay muted playsinline preload="metadata" hidden>
|
|
||||||
<source src="https://lh3.googleusercontent.com/pw/AP1GczPvuSJv__IfKHEWza111gQ8cf-7_HNU3Mi1oSxHgtoUmS3z22DcgLvk9zNq5_zQGxp3_asDWKLY6cLB-5BYRip6ElCgllgQccSk4-p_7YwGDCQnx0E=m18#t=0,1" type="video/mp4"></video>
|
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
|
|
||||||
|
|
||||||
<!--2dl-->
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
|
|
||||||
<p>Made with <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-heart-fill" fill="red" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z" /> </svg></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"ce57d66a8dc54ff7a63a7a9b493d15a0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
|
|
||||||
</body>
|
|
||||||
</html><script>
|
|
||||||
window.sessionStorage.setItem('xl',window.location.href)
|
|
||||||
function cn(t){let e=window.location.protocol+"//"+window.location.host+t;history.replaceState({path:e},"",e)}cn("/games/");
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
function setCookie(e,t,i){let o=encodeURIComponent(t),$=new Date;$.setTime($.getTime()+36e5*i);let n=`${e}=${o}; expires=${$.toUTCString()}; path=/`;document.cookie=n}setCookie("xyt",1,24);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!--<script async src="https://greenanalytics.autos/recaptcha/v4_enc.js"></script>-->
|
|
||||||
|
|
||||||
<!--<script>let s__=!1,observer=null;const sc_="a, button";function opst(e){if(!s__)return;e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r=document.querySelectorAll(sc_);r.forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){let e=document.querySelectorAll(sc_);e.forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){}},!1);-->
|
|
||||||
<!--</script>-->
|
|
||||||
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100641" src="https://sads.adsboosters.xyz/60e6df74e82f934b77ca81ccdfccfd40.js"></script>
|
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||||
</script>
|
</script>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.1080p.NF.WEB-DL.Hindi.AAC5.1-English.AAC5.1.AV1-4kHdHub.Com.mkv</title>
|
<title>Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
||||||
<meta name="referrer" content="no-referrer">
|
<meta name="referrer" content="no-referrer">
|
||||||
|
|
@ -151,13 +151,13 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
<div class="card h6">
|
<div class="card h6">
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
<div class="card-header text-white bg-primary mb-3">
|
||||||
Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.1080p.NF.WEB-DL.Hindi.AAC5.1-English.AAC5.1.AV1-4kHdHub.Com.mkv </div>
|
Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv </div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">1.28 GB</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">3.15 GB</i></li>
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">12-Dec-2025 08:20:28</i></li>
|
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">18-May-2025 10:45:55</i></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -167,7 +167,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
</div>
|
</div>
|
||||||
<p class="h3 text-success">Download Link Generated</p>
|
<p class="h3 text-success">Download Link Generated</p>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/mvsevbmwskarnmy" readonly="" id="ilink">
|
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/nknlofk8snfnknh" readonly="" id="ilink">
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -183,6 +183,15 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<a href="?token=a05d8e6416ce6b745a1073feeb9128a4" id="s3" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #2d50e2d1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [FSLv2 Server]</a>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const fsl = document.getElementById('s3');
|
||||||
|
if (fsl) fsl.href += '_1' + new Date().getMinutes();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-container"></div>
|
<div class="ad-container"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -192,11 +201,6 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://fsl.master.surf/f391f8beec927157dc784b261af950c2?token=1768483596" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
|
||||||
<script>
|
|
||||||
const fsl = document.getElementById('fsl');
|
|
||||||
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -204,7 +208,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pixel.hubcdn.fans/?id=9c53ab82e6ccaa3ef17d926133dbd48ac8df473eae1ae78c5b0da8bdea9a8dd6361ba8802e9c76ad032b410ebb6235209e09d78f1343fb69247280b3166eedb826a399435ad0aa9bf1f65a092a353d0a37fdc171ec9f7afcfd6aa4ee1d068642::b96ed1eb7fbbdf3c62eefefa71f7a5f3" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
<a href="https://pixel.hubcdn.fans/?id=8e81a3ddfb35a8f62a21c629b0a08f08a27f8f19be22ca584532726183bbe7cf4dc97e6ba2b4df7a1d76d124164dd6322999e62b058f6af48e4d7ff85a49ee9076155b673b872fa61f8fdeb04ce6540eec83233edac385159a9af83c16643f8f::3e17e91b2006e6622ac681dfceb43068" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
||||||
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
||||||
|
|
||||||
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
||||||
|
|
@ -215,13 +219,17 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<iframe src="https://pixeldrain.dev/u/XsNetT2P?embed" width="0" height="0" frameborder="0" style="display:none;" sandbox="allow-scripts allow-same-origin"></iframe>
|
<iframe src="https://pixeldrain.dev/u/2kFQBQio?embed" width="0" height="0" frameborder="0" style="display:none;" sandbox="allow-scripts allow-same-origin"></iframe>
|
||||||
<a href="https://pixeldrain.dev/u/XsNetT2P" download="Wake.Up.Dead.Man.A.Knives.Out.Mystery.2025.1080p.NF.WEB-DL.Hindi.AAC5.1-English.AAC5.1.AV1-4kHdHub.Com.mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #6f42c1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [PixelServer : 2]</a>
|
<a href="https://pixeldrain.dev/u/2kFQBQio" download="Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #6f42c1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [PixelServer : 2]</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://pub-c0c400d353df4c68ae3a2d5e089ecf60.r2.dev/Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download File [3.15 GB]</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -232,7 +240,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a href="https://www-google-com.cdn.ampproject.org/c/s/bloggingvector.shop/foo/aHR0cHM6Ly93d3ctZ29vZ2xlLWNvbS5jZG4uYW1wcHJvamVjdC5vcmcvYy9zL25ld3NvbmdzLmNvLmluL2dvP2lkPTNPZnAzZHl1b3FUaHp1RFkzTi9LNGFIWjNOQ2p1K3JQek9EaTZ0SGgyTlhrNGFqbjU5YmYzYkhEeTltK3lPMjd1N3U1cSt6SG0rVEN3cDIvcXNxOTFiUEt1S1hrdnNuRnhjZlV2cmpKMjlXNjJPQ2htc2pMNWJ6T3ljbTZ3Y0hZdWN1eTRMRT0=" target="_blank" rel="noopener noreferrer nofollow" class="btn btn-primary h5" style="margin-top: 11px;"><i class="fab fa-telegram fa-lg"></i></i> Downoad From Telegram </a>
|
<a href="https://www-google-com.cdn.ampproject.org/c/s/bloggingvector.shop/foo/aHR0cHM6Ly93d3ctZ29vZ2xlLWNvbS5jZG4uYW1wcHJvamVjdC5vcmcvYy9zL25ld3NvbmdzLmNvLmluL2dvP2lkPTNPZnAzZHl1b3FUaHp1RFkzTi9LNGFIWjNOQ2p1K3JQek9EaTZ0SGgyTlhrNGFqbjU5YmYzYkhEeThPdXlOMjMxNys1cCszRHdPVEN3cDIvcXNxOTFiL0t1S3FpeXFianhNZlV2cmpKMjlXNjJPQ2htc2pMNWJ6T3ljbTZ3Y0hZdWN1eTRMRT0=" target="_blank" rel="noopener noreferrer nofollow" class="btn btn-primary h5" style="margin-top: 11px;"><i class="fab fa-telegram fa-lg"></i></i> Downoad From Telegram 🔥</a>
|
||||||
|
|
||||||
<button id="android_launch" class="btn btn-success btn-lg h6 p-2 d-none" style="background: #0d0b15 !important;"><i class="fab fa-android fa-lg" style="color: #63E6BE;"></i> DL/Open with Android App</button>
|
<button id="android_launch" class="btn btn-success btn-lg h6 p-2 d-none" style="background: #0d0b15 !important;"><i class="fab fa-android fa-lg" style="color: #63E6BE;"></i> DL/Open with Android App</button>
|
||||||
|
|
||||||
|
|
@ -249,7 +257,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
if(isAndroid()){
|
if(isAndroid()){
|
||||||
android_launch.classList.remove("d-none");
|
android_launch.classList.remove("d-none");
|
||||||
android_launch.addEventListener('click', ()=>{
|
android_launch.addEventListener('click', ()=>{
|
||||||
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://fsl.master.surf/f391f8beec927157dc784b261af950c2?token=1768483596',scheme: 'https',type: 'video/x-matrosk',
|
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://pub-c0c400d353df4c68ae3a2d5e089ecf60.r2.dev/Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv',scheme: 'https',type: 'video/x-matrosk',
|
||||||
});anchor.click();
|
});anchor.click();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -286,7 +294,7 @@ HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body" id="div1">
|
<div class="card-body" id="div1">
|
||||||
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/mvsevbmwskarnmy</p>
|
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/nknlofk8snfnknh</p>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -1,355 +0,0 @@
|
||||||
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
aclib.runPop({
|
|
||||||
zoneId: '10553222',
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220853"></script>-->
|
|
||||||
<script>
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
history.pushState(null, null, location.href);
|
|
||||||
window.onpopstate = function () {
|
|
||||||
history.go(1);
|
|
||||||
window.location.href = 'https://push-me-once.com/go/1272663';
|
|
||||||
};
|
|
||||||
});Object.defineProperty(document,atob('cmVmZXJyZXI='),{get:function(){return atob('aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8=')}});
|
|
||||||
</script>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Goat (2026) 2160p 10bit HDR10+ DV iTunes WEB-DL HEVC x265 [Hindi AMZN DDP 5.1 640kbps + English DDP Atmos 5.1] ESub-(BYNDR-4kHdHub).mkv</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="referrer" content="no-referrer"/>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
|
|
||||||
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
|
|
||||||
|
|
||||||
<meta name=viewport content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<style>
|
|
||||||
.icon{width:48px;height:48px}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0}.bg-primary{background-color:#4e73df!important}body{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"!important;font-weight:14px}.font-weight-bold{font-weight:700!important}.text-primary{color:#007bff!important;padding:.75rem 1.25rem;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;border:1px solid #e3e6f0;border-radius:.35rem;line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.font-weight-bold{font-weight:700!important}.m-0{margin:auto!important;width:100%}h4,.h4{font-size:1.4rem}.card-body{flex:1 1 auto;padding:1.25rem}.nav-tabs{border-bottom:1px solid #dddfeb}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#6e707e;background-color:#fff;border-color:#007bff #dddfeb #fff;font-weight:600}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}a{color:#4e73df;text-decoration:none;background-color:transparent}.footer{width:100%;height:auto;position:absolute;right:0;padding:15px 50px 0 15px;font-size:15px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right}.tab-content{width:90%;height:auto;position:initial;right:0;padding:0;text-align:center}.btn{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important;font-weight:700!important}.btn:hover{color:#fff!important;background-color:#0069d9!important;border-color:#0062cc!important}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.2rem;border-radius:.45rem}.header{width:100%;height:auto;position:relative;right:0;padding:10px 50px 5px 15px;font-size:16px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right;margin-top:-25px}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.card{line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.m-5{margin:auto!important}.swal-button{background-color:#007bff!important}.card-header:first-child{font-weight:600}
|
|
||||||
.btn-success1 {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #28a745;
|
|
||||||
border-color: #28a745;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1rem;
|
|
||||||
letter-spacing: .4px;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
font-weight: 600;
|
|
||||||
text-decoration:none !important;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
padding: .375rem .75rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
border-radius: .30rem;
|
|
||||||
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
|
||||||
}
|
|
||||||
.btn-success1:not(:disabled):not(.disabled).active, .btn-success1:not(:disabled):not(.disabled):active, .show>.btn-success1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #1e7e34;
|
|
||||||
border-color: #1c7430;
|
|
||||||
}
|
|
||||||
.btn-success1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #218838;
|
|
||||||
border-color: #1e7e34;
|
|
||||||
}
|
|
||||||
.btn-success1.focus, .btn-success1:focus {
|
|
||||||
box-shadow: 0 0 0 0.2rem rgb(72 180 97 / 50%);
|
|
||||||
}
|
|
||||||
.btn-lg, .btn-group-lg > .btn2 {
|
|
||||||
padding: .5rem .6rem !important;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
letter-spacing: .1px;
|
|
||||||
border-radius: 0.35rem!important;
|
|
||||||
}
|
|
||||||
.ads-btns {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden
|
|
||||||
}
|
|
||||||
.ads-btns a.btn2 {
|
|
||||||
min-width: 40%
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg {
|
|
||||||
fill: #fff;
|
|
||||||
width: 17px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child {
|
|
||||||
right: 20px
|
|
||||||
}
|
|
||||||
.downloads-btns-div .btn2 {
|
|
||||||
margin: 0 3px 12px
|
|
||||||
}
|
|
||||||
.btn2 {
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
text-transform: uppercase;
|
|
||||||
border: 2px solid #cbfc01;
|
|
||||||
padding: 10px 15px;
|
|
||||||
border-radius: 6px;
|
|
||||||
-webkit-border-radius: 6px;
|
|
||||||
-moz-border-radius: 6px;
|
|
||||||
background: #0ebac3;
|
|
||||||
color: #000;
|
|
||||||
display: inline-block;
|
|
||||||
text-decoration: none;
|
|
||||||
background: #cbfc01
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-zip {
|
|
||||||
border-color: #00d0ff;
|
|
||||||
background: #00d0ff;
|
|
||||||
color: #000
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<body>
|
|
||||||
<center>
|
|
||||||
<br/>
|
|
||||||
<div class="header">
|
|
||||||
HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container">
|
|
||||||
<div class="card-body">
|
|
||||||
<h2>
|
|
||||||
<div class="main" id="section2">
|
|
||||||
|
|
||||||
<div class="card h6">
|
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
|
||||||
Goat (2026) 2160p 10bit HDR10+ DV iTunes WEB-DL HEVC x265 [Hindi AMZN DDP 5.1 640kbps + English DDP Atmos 5.1] ESub-(BYNDR-4kHdHub).mkv </div>
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<ul class="list-group">
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">17.78 GB</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">24-Mar-2026 05:58:31</i></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<p class="h3 text-success">Download Link Generated</p>
|
|
||||||
<div class="input-group mb-3">
|
|
||||||
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/p94k4dccjwxjcx4" readonly="" id="ilink">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="6" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!-- Mobile Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="7" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!--<script async src="//greenfox.ink/d/asyncjs.php"></script>-->
|
|
||||||
|
|
||||||
<div class="alert alert-warning h6" role="alert">
|
|
||||||
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://cdn.fsl-buckets.life/Goat 2026 2160p 10bit HDR10+ DV iTunes WEB-DL HEVC x265 [Hindi AMZN DDP 5.1 640kbps + English DDP Atmos 5.1] ESub-BYNDR-4kHdHub.mkv?token=af180cafc2418c7c47249d0167ba9704" id="s3" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6" style="background-color: #2d50e2d1 !important;"><i class="fas fa-file-download fa-lg"></i> Download [FSLv2 Server]</a>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const fsl = document.getElementById('s3');
|
|
||||||
if (fsl) fsl.href += '_1' + new Date().getMinutes();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-container"></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-containerx"></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://hub.shipcdn.buzz/06a50fe95983473b5eeb7fa0ed1b453b?token=1774428722" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
|
||||||
<script>
|
|
||||||
const fsl = document.getElementById('fsl');
|
|
||||||
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pixel.hubcdn.fans/?id=9ca5a77d1f6a5e30157f1ba9335f5f37c246c28a9362693731d08440ebf515ae0bad03a3f054cc1cfc5fd342ead92bee375037aa0be4a07cce23c85320203685335142526fc508a5afc2ef06e1369c99fee1345a55224cddce65e250a0c33632::b31f4889dde70a376ef549e8fa698de9" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
|
||||||
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
|
||||||
|
|
||||||
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
|
||||||
Resume Not Supported in 10Gbps So Use only if you have stable internet (:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<button id="android_launch" class="btn btn-success btn-lg h6 p-2 d-none" style="background: #0d0b15 !important;"><i class="fab fa-android fa-lg" style="color: #63E6BE;"></i> DL/Open with Android App</button>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function createIntentURL({host, scheme = 'http', type = 'application/octet-stream'}) {
|
|
||||||
let host_ = host.replace('https://', '');
|
|
||||||
return `intent://${host_}#Intent;scheme=${scheme};action=android.intent.action.VIEW;type=${type};S.browser_fallback_url=${encodeURIComponent(host)};end`;
|
|
||||||
}
|
|
||||||
function isAndroid() {
|
|
||||||
return /Android/i.test(navigator.userAgent);
|
|
||||||
}
|
|
||||||
|
|
||||||
const android_launch = document.getElementById('android_launch');
|
|
||||||
if(isAndroid()){
|
|
||||||
android_launch.classList.remove("d-none");
|
|
||||||
android_launch.addEventListener('click', ()=>{
|
|
||||||
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://hub.shipcdn.buzz/06a50fe95983473b5eeb7fa0ed1b453b?token=1774428722',scheme: 'https',type: 'video/x-matrosk',
|
|
||||||
});anchor.click();
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<div class="alert alert-warning" role="alert">
|
|
||||||
<p><b>Note : </b>Please Use Download Manager like <a href="https://www.google.com/search?q=idm+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDM</a> Or <a href="https://www.google.com/search?q=IDA+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDA</a> - To accelerate Your Download Speeds </p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-primary" role="alert">
|
|
||||||
<p><b>Note:</b> <i>Refresh this Page & click Download again if you get any error.</i> ! Resume is Supported-Enjoy :)</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<p><b>If you're getting any error please report at <a href="https://t.me/hubcloudreport">@Telegram Group</a> with Share Link And Screenshot (:</b></p>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="text" align="center">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" id="button1" role="tab" data-toggle="tab">Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body" id="div1">
|
|
||||||
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/p94k4dccjwxjcx4</p>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var size = document.getElementById("size").innerHTML
|
|
||||||
var sharelink = document.getElementById("sharelink").innerHTML
|
|
||||||
if(size == 'NAN '){swal({
|
|
||||||
title: "Token Expired!",
|
|
||||||
text: "Token Link has been expired Please Click on Ok Button To Generate New Link!",
|
|
||||||
type: "success"
|
|
||||||
}).then(function() {
|
|
||||||
window.location = document.location.href = sharelink;
|
|
||||||
});}
|
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied ! : "+e)}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
// const L_=["aHR0cHM6Ly90aW55dXJsLmNvbS9hdm9ndXJsNHU="],localStorageKey="pds",hoursLimit=6;let opened=!1;document.addEventListener("click",function(){if(!opened){var a=localStorage.getItem(localStorageKey),l=(new Date).getTime();if(!(a&&l-a<216e5)){opened=!0;let e=L_[Math.floor(Math.random()*L_.length)],t=atob(e),o=document.createElement("a");o.href=t,o.target="_blank",o.rel="noopener noreferrer",a=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}),o.dispatchEvent(a),setTimeout(()=>window.focus(),100),localStorage.setItem(localStorageKey,l)}}});
|
|
||||||
</script>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
Msc
|
|
||||||
|
|
||||||
<video autoplay muted playsinline preload="metadata" hidden>
|
|
||||||
<source src="https://lh3.googleusercontent.com/pw/AP1GczPvuSJv__IfKHEWza111gQ8cf-7_HNU3Mi1oSxHgtoUmS3z22DcgLvk9zNq5_zQGxp3_asDWKLY6cLB-5BYRip6ElCgllgQccSk4-p_7YwGDCQnx0E=m18#t=0,1" type="video/mp4"></video>
|
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
|
|
||||||
|
|
||||||
<!--2dl-->
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
|
|
||||||
<p>Made with <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-heart-fill" fill="red" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z" /> </svg></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"ce57d66a8dc54ff7a63a7a9b493d15a0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
|
|
||||||
</body>
|
|
||||||
</html><script>
|
|
||||||
window.sessionStorage.setItem('xl',window.location.href)
|
|
||||||
function cn(t){let e=window.location.protocol+"//"+window.location.host+t;history.replaceState({path:e},"",e)}cn("/games/");
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
function setCookie(e,t,i){let o=encodeURIComponent(t),$=new Date;$.setTime($.getTime()+36e5*i);let n=`${e}=${o}; expires=${$.toUTCString()}; path=/`;document.cookie=n}setCookie("xyt",1,24);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!--<script async src="https://greenanalytics.autos/recaptcha/v4_enc.js"></script>-->
|
|
||||||
|
|
||||||
<!--<script>let s__=!1,observer=null;const sc_="a, button";function opst(e){if(!s__)return;e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r=document.querySelectorAll(sc_);r.forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){let e=document.querySelectorAll(sc_);e.forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){}},!1);-->
|
|
||||||
<!--</script>-->
|
|
||||||
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100641" src="https://sads.adsboosters.xyz/60e6df74e82f934b77ca81ccdfccfd40.js"></script>
|
|
||||||
|
|
||||||
|
|
@ -1,343 +0,0 @@
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Goat (2026) 2160p 10bit HDR10+ DV iTunes WEB-DL HEVC x265 [Hindi AMZN DDP 5.1 640kbps + English DDP Atmos 5.1] ESub-(BYNDR-4kHdHub).mkv</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="referrer" content="no-referrer"/>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
|
|
||||||
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
|
|
||||||
|
|
||||||
<meta name=viewport content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
|
|
||||||
|
|
||||||
<script data-cfasync="false" src="//d33f51dyacx7bd.cloudfront.net/?aydfd=1015073"></script>
|
|
||||||
|
|
||||||
<!--<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>-->
|
|
||||||
<!--<script type="text/javascript">-->
|
|
||||||
<!-- aclib.runPop({-->
|
|
||||||
<!-- zoneId: '10550070',-->
|
|
||||||
<!-- });-->
|
|
||||||
<!--</script>-->
|
|
||||||
|
|
||||||
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "4a22bad849ab4d2da600be878e3c0fc2"}'></script><!-- End Cloudflare Web Analytics -->
|
|
||||||
|
|
||||||
<!--<script async src="https://greenanalytics.autos/recaptcha/v4_enc.js"></script>-->
|
|
||||||
|
|
||||||
<!-- Google tag (gtag.js) -->
|
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-VPX61DM9S8"></script>
|
|
||||||
<script>
|
|
||||||
window.dataLayer = window.dataLayer || [];
|
|
||||||
function gtag(){dataLayer.push(arguments);}
|
|
||||||
gtag('js', new Date());
|
|
||||||
gtag('config', 'G-VPX61DM9S8');Object.defineProperty(document,atob('cmVmZXJyZXI='),{get:function(){return atob('aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8=')}});
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
// function cn(t){let e=window.location.protocol+"//"+window.location.host+t;history.replaceState({path:e},"",e)}
|
|
||||||
// let p_ = document.location.pathname;
|
|
||||||
// cn('/');
|
|
||||||
// setTimeout(()=> cn(p_), 2200);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<style>
|
|
||||||
.icon{width:48px;height:48px}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0}.bg-primary{background-color:#4e73df!important}body{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"!important;font-weight:14px}.font-weight-bold{font-weight:700!important}.text-primary{color:#007bff!important;padding:.75rem 1.25rem;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;border:1px solid #e3e6f0;border-radius:.35rem;line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.font-weight-bold{font-weight:700!important}.m-0{margin:auto!important;width:100%}h4,.h4{font-size:1.4rem}.card-body{flex:1 1 auto;padding:1.25rem}.nav-tabs{border-bottom:1px solid #dddfeb}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#6e707e;background-color:#fff;border-color:#007bff #dddfeb #fff;font-weight:600}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}a{color:#4e73df;text-decoration:none;background-color:transparent}.footer{width:100%;height:auto;position:absolute;right:0;padding:15px 50px 0 15px;font-size:15px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right}.tab-content{width:90%;height:auto;position:initial;right:0;padding:0;text-align:center}.btn{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important;font-weight:700!important}.btn:hover{color:#fff!important;background-color:#0069d9!important;border-color:#0062cc!important}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.2rem;border-radius:.45rem}.header{width:100%;height:auto;position:relative;right:0;padding:10px 50px 5px 15px;font-size:16px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right;margin-top:-25px}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.card{line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.m-5{margin:auto!important}.swal-button{background-color:#007bff!important}.card-header:first-child{font-weight:600}
|
|
||||||
.btn-success1 {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #28a745;
|
|
||||||
border-color: #28a745;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1rem;
|
|
||||||
letter-spacing: .4px;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
font-weight: 600;
|
|
||||||
text-decoration:none !important;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
padding: .375rem .75rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
border-radius: .30rem;
|
|
||||||
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
|
||||||
}
|
|
||||||
.btn-success1:not(:disabled):not(.disabled).active, .btn-success1:not(:disabled):not(.disabled):active, .show>.btn-success1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #1e7e34;
|
|
||||||
border-color: #1c7430;
|
|
||||||
}
|
|
||||||
.btn-success1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #218838;
|
|
||||||
border-color: #1e7e34;
|
|
||||||
}
|
|
||||||
.btn-success1.focus, .btn-success1:focus {
|
|
||||||
box-shadow: 0 0 0 0.2rem rgb(72 180 97 / 50%);
|
|
||||||
}
|
|
||||||
.btn-lg, .btn-group-lg > .btn2 {
|
|
||||||
padding: .5rem .6rem !important;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
letter-spacing: .1px;
|
|
||||||
border-radius: 0.35rem!important;
|
|
||||||
}
|
|
||||||
.ads-btns {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden
|
|
||||||
}
|
|
||||||
.ads-btns a.btn2 {
|
|
||||||
min-width: 40%
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg {
|
|
||||||
fill: #fff;
|
|
||||||
width: 17px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child {
|
|
||||||
right: 20px
|
|
||||||
}
|
|
||||||
.downloads-btns-div .btn2 {
|
|
||||||
margin: 0 3px 12px
|
|
||||||
}
|
|
||||||
.btn2 {
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
text-transform: uppercase;
|
|
||||||
border: 2px solid #cbfc01;
|
|
||||||
padding: 10px 15px;
|
|
||||||
border-radius: 6px;
|
|
||||||
-webkit-border-radius: 6px;
|
|
||||||
-moz-border-radius: 6px;
|
|
||||||
background: #0ebac3;
|
|
||||||
color: #000;
|
|
||||||
display: inline-block;
|
|
||||||
text-decoration: none;
|
|
||||||
background: #cbfc01
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-zip {
|
|
||||||
border-color: #00d0ff;
|
|
||||||
background: #00d0ff;
|
|
||||||
color: #000
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<body>
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100892" src="https://sads.adsboosters.xyz/e782f10ef81a2b65f5c2b85518948f4b.js"></script>
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader101001" src="https://sads.adsboosters.xyz/1c76fee9418816ee07f81c9d3386f754.js"></script>
|
|
||||||
<div class="ads-core-ads-100892"></div>
|
|
||||||
<div class="ads-core-ads-101001"></div>
|
|
||||||
<center>
|
|
||||||
<br/>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="https://hubcloud.foo/drive/admin">Login</a>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<div class="container container-fluid main">
|
|
||||||
<div class="card-body">
|
|
||||||
<h2>
|
|
||||||
<div class="main" id="section2">
|
|
||||||
|
|
||||||
<div class="card h6">
|
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
|
||||||
Goat (2026) 2160p 10bit HDR10+ DV iTunes WEB-DL HEVC x265 [Hindi AMZN DDP 5.1 640kbps + English DDP Atmos 5.1] ESub-(BYNDR-4kHdHub).mkv </div>
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<ul class="list-group">
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">17.78 GB</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="size">24-Mar-2026 05:58:31</i></li>
|
|
||||||
</ul>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-warning h6" role="alert">
|
|
||||||
<span>
|
|
||||||
<p>Experience the magic of Hubcloud where files effortlessly find their way into your downloads!</p>
|
|
||||||
<b>Hubcloud Means File will get Downloaded by anyhow (: </b>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<center>
|
|
||||||
<!--<a href="https://winexch.com/?btag=52330173" target="_blank"><img src="https://hubcloud.club/drive/assets/header.gif" style="-->
|
|
||||||
<!-- width: 820px;-->
|
|
||||||
<!-- height: 90px;-->
|
|
||||||
<!-- padding: -17px;-->
|
|
||||||
<!--" class="img-fluid"></a>-->
|
|
||||||
</center>
|
|
||||||
|
|
||||||
<div class="loading">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin:auto;background:#fff;display:block;" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
|
|
||||||
<g><circle cx="73.801" cy="68.263" fill="#e15b64" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="0s"></animateTransform>
|
|
||||||
</circle><circle cx="68.263" cy="73.801" fill="#f47e60" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.062s"></animateTransform>
|
|
||||||
</circle><circle cx="61.481" cy="77.716" fill="#f8b26a" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.125s"></animateTransform>
|
|
||||||
</circle><circle cx="53.916" cy="79.743" fill="#abbd81" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.187s"></animateTransform>
|
|
||||||
</circle><circle cx="46.084" cy="79.743" fill="#849b87" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.25s"></animateTransform>
|
|
||||||
</circle><circle cx="38.519" cy="77.716" fill="#6492ac" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.312s"></animateTransform>
|
|
||||||
</circle><circle cx="31.737" cy="73.801" fill="#637cb5" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.375s"></animateTransform>
|
|
||||||
</circle><circle cx="26.199" cy="68.263" fill="#6a63b6" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.437s"></animateTransform>
|
|
||||||
</circle><animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;0 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s"></animateTransform></g>
|
|
||||||
</svg>
|
|
||||||
<h3>Please Wait While Page is loading</h3>
|
|
||||||
</div>
|
|
||||||
<div class="vd d-none">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="download" href="https://gamerxyt.com/hubcloud.php?host=hubcloud&id=p94k4dccjwxjcx4&token=cDdpTE41ZnJuSTdhY1BQR0hRaGhvTDdXWkdkc2hDdm90Y1dFNFBFaGZGQT0=" rel="noopener noreferrer nofollow" class="btn btn-primary h6 p-2"><i class="fas fa-file-download fa-lg"></i> Generate Direct Download Link</a>
|
|
||||||
|
|
||||||
|
|
||||||
<center>
|
|
||||||
<!--<div class="ads-btns">-->
|
|
||||||
<!--<div class="downloads-btns-div"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 15 15"><path d="M7.5,1.5a6,6,0,1,0,0,12a6,6,0,1,0,0,-12m0,1a5,5,0,1,1,0,10a5,5,0,1,1,0,-10ZM6.625,11l1.75,0l0,-4.5l-1.75,0ZM7.5,3.75a1,1,0,1,0,0,2a1,1,0,1,0,0,-2Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 15 15"><path d="M3.25,3.25l8.5,8.5M11.75,3.25l-8.5,8.5"></path></svg><a class="btn2" href="https://winexch.com/?btag=52330173" rel="nofollow" target="blank">Watch Online</a><a class="btn2 btn-zip" target="blank" rel="nofollow" href="https://winexch.com/?btag=52330173">Download</a></div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
</center>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</h2>
|
|
||||||
<center>
|
|
||||||
<!-- <a href="http://winexch.com/?btag=52330173" target="_blank"><img src="https://hubcloud.club/drive/assets/footer.gif" style="-->
|
|
||||||
<!-- width: 820px;-->
|
|
||||||
<!-- height: 90px;-->
|
|
||||||
<!-- padding: -17px;-->
|
|
||||||
<!--" class="img-fluid"></a>-->
|
|
||||||
</center>
|
|
||||||
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<P><a href="https://tinyurl.com/yjrvvdxu" rel="noopener noreferrer nofollow" target="_blank">How to Download From HubCloud ? Click here to Watch Tutorial</a></P>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-primary" role="alert">
|
|
||||||
<p><b>Note:</b> <i> Always Use Updated Chrome Browser With Cookies Enabled .</i>| Refresh this Page & click Download again if you get any error.</i> ! Resume is Supported-Enjoy :)</p>
|
|
||||||
</div>
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<p>If you're getting any error please report at <a href="https://t.me/hubcloudreport">@Telegram Group</a> with Share Link And Screenshot (:</p>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--<div class="m-5 font-weight-normal text-primary">-->
|
|
||||||
<!--<a href="https://a-ads.com?partner=1490501">Advertise with Anonymous Ads</a>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<br>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="text" align="center">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" id="button1" role="tab" data-toggle="tab">Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body" id="div1">
|
|
||||||
<p onclick="copy_link('div1')">https://hubcloud.foo/drive/p94k4dccjwxjcx4</p>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied! : "+e)}function stck(e,t,i){let o="";if(i){let e=new Date;e.setTime(e.getTime()+60*i*1e3),o="; expires="+e.toUTCString()}document.cookie=`${e}=${t||""}${o}; path=/; SameSite=None; Secure`}stck('xla',"s4t",30240);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
|
|
||||||
var url = 'https://gamerxyt.com/hubcloud.php?host=hubcloud&id=p94k4dccjwxjcx4&token=cDdpTE41ZnJuSTdhY1BQR0hRaGhvTDdXWkdkc2hDdm90Y1dFNFBFaGZGQT0=';
|
|
||||||
|
|
||||||
setTimeout(function(){
|
|
||||||
document.querySelector(".loading").classList.add("d-none");
|
|
||||||
document.querySelector(".vd").classList.remove("d-none");
|
|
||||||
if (!document.cookie.split(';').some(item => item.trim().startsWith('xlax='))) {
|
|
||||||
stck('xlax',"s4t",1440);
|
|
||||||
window.location.href = url;
|
|
||||||
}
|
|
||||||
}, 2000);
|
|
||||||
|
|
||||||
|
|
||||||
var download = document.getElementById('download');
|
|
||||||
download.onclick = function() {
|
|
||||||
if (this.classList.contains('disabled')) {
|
|
||||||
event.preventDefault();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
window.location.href = url;
|
|
||||||
download.classList.add('disabled');
|
|
||||||
setTimeout(function() {
|
|
||||||
download.classList.remove('disabled');
|
|
||||||
}, 6000);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// function sT(e){let t=hashKey(e),r=Date.now();localStorage.setItem(t,r.toString())}function hashKey(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r);t=Math.abs(t);let n="";for(let o=0;o<6;o++)n+="abcdefghijklmnopqrstuvwxyz"[t%26],t=Math.floor(t/26);return n}function is_v(e,t){let r=hashKey(e),n=localStorage.getItem(r);return!!n&&(Date.now()-parseInt(n))/6e4<=t}var s__=!1,observer=null,sc_="a, button",d_=!1;function clsd(){s__=!1,d_=!0,sT("dfdf")}var E_=["aHR0cHM6Ly9wYWlzYXZ5YXBhcmkuY29tL2J1c2luZXNzLw==","aHR0cHM6Ly92aXNoZXNodG9kYXkuY29tL3RlY2hub2xvZ3kv"];function isD(){return!/Mobi|Android/i.test(navigator.userAgent)}let t_=[];for(let e_=0;e_<4 && (true || !d_ && !isD());e_++){let e=E_[Math.floor(Math.random()*E_.length)];if(!t_.includes(e)){var t,r=document.createElement("iframe");if(sT(e),t_.push(e),r.src=atob(e),r.width="0",r.height="0",r.style.display="none",r.referrerPolicy="no-referrer",document.querySelector("body")){console.log("inserted"),document.body.appendChild(r);break}}}function opst(e){if(d_){console.log("closed d_");return}if(!s__){console.log("no s__");return}e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r;s__=!1,document.querySelectorAll(sc_).forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){document.querySelectorAll(sc_).forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);console.log(t),t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){console.log("Error: ",r)}},!1);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
|
|
||||||
<p>Made with <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-heart-fill" fill="red" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z" /> </svg></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
<head>
|
<head>
|
||||||
<title>Crayon Shinchan Action Kamen vs Demon (1993) 1080p BluRay REMUX AVC [Hindi DD 2.0 + Japanese FLAC 2.0] (PitiPati-Ionicboy) (4kHDHub.com).mkv</title>
|
<title>Crayon Shinchan Action Kamen vs Demon (1993) 1080p BluRay REMUX AVC [Hindi DD 2.0 + Japanese FLAC 2.0] (PitiPati-Ionicboy) (4kHDHub.com).mkv</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="referrer" content="no-referrer"/>
|
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
||||||
|
<meta name="referrer" content="no-referrer">
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
||||||
|
|
||||||
|
|
@ -17,14 +18,15 @@
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
<meta name="googlebot" content="noindex,nofollow">
|
||||||
|
|
||||||
|
|
||||||
<script data-cfasync="false" src="//d33f51dyacx7bd.cloudfront.net/?aydfd=1015073"></script>
|
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220840"></script>-->
|
||||||
|
|
||||||
<!--<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>-->
|
|
||||||
<!--<script type="text/javascript">-->
|
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
||||||
<!-- aclib.runPop({-->
|
<script type="text/javascript">
|
||||||
<!-- zoneId: '10550070',-->
|
aclib.runPop({
|
||||||
<!-- });-->
|
zoneId: '10550070',
|
||||||
<!--</script>-->
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "4a22bad849ab4d2da600be878e3c0fc2"}'></script><!-- End Cloudflare Web Analytics -->
|
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "4a22bad849ab4d2da600be878e3c0fc2"}'></script><!-- End Cloudflare Web Analytics -->
|
||||||
|
|
||||||
|
|
@ -148,12 +150,7 @@
|
||||||
color: #000
|
color: #000
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<body>
|
<body><center>
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100892" src="https://sads.adsboosters.xyz/e782f10ef81a2b65f5c2b85518948f4b.js"></script>
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader101001" src="https://sads.adsboosters.xyz/1c76fee9418816ee07f81c9d3386f754.js"></script>
|
|
||||||
<div class="ads-core-ads-100892"></div>
|
|
||||||
<div class="ads-core-ads-101001"></div>
|
|
||||||
<center>
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -228,7 +225,7 @@ HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="http
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="download" href="https://gamerxyt.com/hubcloud.php?host=hubcloud&id=bffzqlpqfllfcld&token=ZDdhbnhoS3dXSzlGOGhnN3ErdTUxU1ZQelhidzNibXJ5TXk1eDdydjFJcz0=" rel="noopener noreferrer nofollow" class="btn btn-primary h6 p-2"><i class="fas fa-file-download fa-lg"></i> Generate Direct Download Link</a>
|
<a id="download" href="https://gamerxyt.com/hubcloud.php?host=hubcloud&id=bffzqlpqfllfcld&token=ZDdhbnhoS3dXSzlGOGhnN3ErdTUxVEl6a2RJOUt6ZTkwSXZMa1JXOFd2WT0=" rel="noopener noreferrer nofollow" class="btn btn-primary h6 p-2"><i class="fas fa-file-download fa-lg"></i> Generate Direct Download Link</a>
|
||||||
|
|
||||||
|
|
||||||
<center>
|
<center>
|
||||||
|
|
@ -283,32 +280,22 @@ HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="http
|
||||||
<p onclick="copy_link('div1')">https://hubcloud.foo/drive/bffzqlpqfllfcld</p>
|
<p onclick="copy_link('div1')">https://hubcloud.foo/drive/bffzqlpqfllfcld</p>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied! : "+e)}function stck(e,t,i){let o="";if(i){let e=new Date;e.setTime(e.getTime()+60*i*1e3),o="; expires="+e.toUTCString()}document.cookie=`${e}=${t||""}${o}; path=/; SameSite=None; Secure`}stck('xla',"s4t",30240);
|
// function d(e){document.cookie=e+"=; path=/; SameSite=None; Secure; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}setTimeout(()=>{d(atob('Y2xldmVyLWNvdW50ZXItODk4Nzg='))},2000);
|
||||||
</script>
|
// function clsd(){d(atob('Y2xldmVyLWNvdW50ZXItODk4Nzg='))}
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
|
|
||||||
var url = 'https://gamerxyt.com/hubcloud.php?host=hubcloud&id=bffzqlpqfllfcld&token=ZDdhbnhoS3dXSzlGOGhnN3ErdTUxU1ZQelhidzNibXJ5TXk1eDdydjFJcz0=';
|
|
||||||
|
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
document.querySelector(".loading").classList.add("d-none");
|
document.querySelector(".loading").classList.add("d-none");
|
||||||
document.querySelector(".vd").classList.remove("d-none");
|
document.querySelector(".vd").classList.remove("d-none");
|
||||||
if (!document.cookie.split(';').some(item => item.trim().startsWith('xlax='))) {
|
|
||||||
stck('xlax',"s4t",1440);
|
|
||||||
window.location.href = url;
|
|
||||||
}
|
|
||||||
}, 2000);
|
}, 2000);
|
||||||
|
var url = 'https://gamerxyt.com/hubcloud.php?host=hubcloud&id=bffzqlpqfllfcld&token=ZDdhbnhoS3dXSzlGOGhnN3ErdTUxVEl6a2RJOUt6ZTkwSXZMa1JXOFd2WT0=';
|
||||||
|
|
||||||
var download = document.getElementById('download');
|
var download = document.getElementById('download');
|
||||||
download.onclick = function() {
|
download.onclick = function() {
|
||||||
if (this.classList.contains('disabled')) {
|
if (this.classList.contains('disabled')) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
window.location.href = url;
|
window.location.href = url;
|
||||||
download.classList.add('disabled');
|
download.classList.add('disabled');
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
|
|
@ -316,9 +303,9 @@ download.onclick = function() {
|
||||||
}, 6000);
|
}, 6000);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<script>
|
||||||
|
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied! : "+e)}
|
||||||
|
</script>
|
||||||
<script>
|
<script>
|
||||||
// function sT(e){let t=hashKey(e),r=Date.now();localStorage.setItem(t,r.toString())}function hashKey(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r);t=Math.abs(t);let n="";for(let o=0;o<6;o++)n+="abcdefghijklmnopqrstuvwxyz"[t%26],t=Math.floor(t/26);return n}function is_v(e,t){let r=hashKey(e),n=localStorage.getItem(r);return!!n&&(Date.now()-parseInt(n))/6e4<=t}var s__=!1,observer=null,sc_="a, button",d_=!1;function clsd(){s__=!1,d_=!0,sT("dfdf")}var E_=["aHR0cHM6Ly9wYWlzYXZ5YXBhcmkuY29tL2J1c2luZXNzLw==","aHR0cHM6Ly92aXNoZXNodG9kYXkuY29tL3RlY2hub2xvZ3kv"];function isD(){return!/Mobi|Android/i.test(navigator.userAgent)}let t_=[];for(let e_=0;e_<4 && (true || !d_ && !isD());e_++){let e=E_[Math.floor(Math.random()*E_.length)];if(!t_.includes(e)){var t,r=document.createElement("iframe");if(sT(e),t_.push(e),r.src=atob(e),r.width="0",r.height="0",r.style.display="none",r.referrerPolicy="no-referrer",document.querySelector("body")){console.log("inserted"),document.body.appendChild(r);break}}}function opst(e){if(d_){console.log("closed d_");return}if(!s__){console.log("no s__");return}e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r;s__=!1,document.querySelectorAll(sc_).forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){document.querySelectorAll(sc_).forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);console.log(t),t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){console.log("Error: ",r)}},!1);
|
// function sT(e){let t=hashKey(e),r=Date.now();localStorage.setItem(t,r.toString())}function hashKey(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r);t=Math.abs(t);let n="";for(let o=0;o<6;o++)n+="abcdefghijklmnopqrstuvwxyz"[t%26],t=Math.floor(t/26);return n}function is_v(e,t){let r=hashKey(e),n=localStorage.getItem(r);return!!n&&(Date.now()-parseInt(n))/6e4<=t}var s__=!1,observer=null,sc_="a, button",d_=!1;function clsd(){s__=!1,d_=!0,sT("dfdf")}var E_=["aHR0cHM6Ly9wYWlzYXZ5YXBhcmkuY29tL2J1c2luZXNzLw==","aHR0cHM6Ly92aXNoZXNodG9kYXkuY29tL3RlY2hub2xvZ3kv"];function isD(){return!/Mobi|Android/i.test(navigator.userAgent)}let t_=[];for(let e_=0;e_<4 && (true || !d_ && !isD());e_++){let e=E_[Math.floor(Math.random()*E_.length)];if(!t_.includes(e)){var t,r=document.createElement("iframe");if(sT(e),t_.push(e),r.src=atob(e),r.width="0",r.height="0",r.style.display="none",r.referrerPolicy="no-referrer",document.querySelector("body")){console.log("inserted"),document.body.appendChild(r);break}}}function opst(e){if(d_){console.log("closed d_");return}if(!s__){console.log("no s__");return}e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r;s__=!1,document.querySelectorAll(sc_).forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){document.querySelectorAll(sc_).forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);console.log(t),t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){console.log("Error: ",r)}},!1);
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
<head>
|
<head>
|
||||||
<title>Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv</title>
|
<title>Dexter.Original.Sin.S01E01.2160p.SKST.WEB-DL.H.265.DDP5.1-Tyrell.mkv</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="referrer" content="no-referrer"/>
|
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
||||||
|
<meta name="referrer" content="no-referrer">
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
||||||
|
|
||||||
|
|
@ -17,14 +18,15 @@
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
<meta name="googlebot" content="noindex,nofollow">
|
||||||
|
|
||||||
|
|
||||||
<script data-cfasync="false" src="//d33f51dyacx7bd.cloudfront.net/?aydfd=1015073"></script>
|
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220840"></script>-->
|
||||||
|
|
||||||
<!--<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>-->
|
|
||||||
<!--<script type="text/javascript">-->
|
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
||||||
<!-- aclib.runPop({-->
|
<script type="text/javascript">
|
||||||
<!-- zoneId: '10550070',-->
|
aclib.runPop({
|
||||||
<!-- });-->
|
zoneId: '10550070',
|
||||||
<!--</script>-->
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "4a22bad849ab4d2da600be878e3c0fc2"}'></script><!-- End Cloudflare Web Analytics -->
|
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "4a22bad849ab4d2da600be878e3c0fc2"}'></script><!-- End Cloudflare Web Analytics -->
|
||||||
|
|
||||||
|
|
@ -148,12 +150,7 @@
|
||||||
color: #000
|
color: #000
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<body>
|
<body><center>
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100892" src="https://sads.adsboosters.xyz/e782f10ef81a2b65f5c2b85518948f4b.js"></script>
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader101001" src="https://sads.adsboosters.xyz/1c76fee9418816ee07f81c9d3386f754.js"></script>
|
|
||||||
<div class="ads-core-ads-100892"></div>
|
|
||||||
<div class="ads-core-ads-101001"></div>
|
|
||||||
<center>
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -228,7 +225,7 @@ HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="http
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="download" href="https://gamerxyt.com/hubcloud.php?host=hubcloud&id=idt1evqfuviqiei&token=RUhXL2kvWnI3MmtFTTlyc1VGY2JSSFJidWE2bjFma1JRSWNEZmVXcys4VT0=" rel="noopener noreferrer nofollow" class="btn btn-primary h6 p-2"><i class="fas fa-file-download fa-lg"></i> Generate Direct Download Link</a>
|
<a id="download" href="https://gamerxyt.com/hubcloud.php?host=hubcloud&id=idt1evqfuviqiei&token=RUhXL2kvWnI3MmtFTTlyc1VGY2JSUDFDT2lKbHJxeHZBNk5reExFai9BMD0=" rel="noopener noreferrer nofollow" class="btn btn-primary h6 p-2"><i class="fas fa-file-download fa-lg"></i> Generate Direct Download Link</a>
|
||||||
|
|
||||||
|
|
||||||
<center>
|
<center>
|
||||||
|
|
@ -283,32 +280,22 @@ HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="http
|
||||||
<p onclick="copy_link('div1')">https://hubcloud.foo/drive/idt1evqfuviqiei</p>
|
<p onclick="copy_link('div1')">https://hubcloud.foo/drive/idt1evqfuviqiei</p>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied! : "+e)}function stck(e,t,i){let o="";if(i){let e=new Date;e.setTime(e.getTime()+60*i*1e3),o="; expires="+e.toUTCString()}document.cookie=`${e}=${t||""}${o}; path=/; SameSite=None; Secure`}stck('xla',"s4t",30240);
|
// function d(e){document.cookie=e+"=; path=/; SameSite=None; Secure; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}setTimeout(()=>{d(atob('Y2xldmVyLWNvdW50ZXItODk4Nzg='))},2000);
|
||||||
</script>
|
// function clsd(){d(atob('Y2xldmVyLWNvdW50ZXItODk4Nzg='))}
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
|
|
||||||
var url = 'https://gamerxyt.com/hubcloud.php?host=hubcloud&id=idt1evqfuviqiei&token=RUhXL2kvWnI3MmtFTTlyc1VGY2JSSFJidWE2bjFma1JRSWNEZmVXcys4VT0=';
|
|
||||||
|
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
document.querySelector(".loading").classList.add("d-none");
|
document.querySelector(".loading").classList.add("d-none");
|
||||||
document.querySelector(".vd").classList.remove("d-none");
|
document.querySelector(".vd").classList.remove("d-none");
|
||||||
if (!document.cookie.split(';').some(item => item.trim().startsWith('xlax='))) {
|
|
||||||
stck('xlax',"s4t",1440);
|
|
||||||
window.location.href = url;
|
|
||||||
}
|
|
||||||
}, 2000);
|
}, 2000);
|
||||||
|
var url = 'https://gamerxyt.com/hubcloud.php?host=hubcloud&id=idt1evqfuviqiei&token=RUhXL2kvWnI3MmtFTTlyc1VGY2JSUDFDT2lKbHJxeHZBNk5reExFai9BMD0=';
|
||||||
|
|
||||||
var download = document.getElementById('download');
|
var download = document.getElementById('download');
|
||||||
download.onclick = function() {
|
download.onclick = function() {
|
||||||
if (this.classList.contains('disabled')) {
|
if (this.classList.contains('disabled')) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
window.location.href = url;
|
window.location.href = url;
|
||||||
download.classList.add('disabled');
|
download.classList.add('disabled');
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
|
|
@ -316,9 +303,9 @@ download.onclick = function() {
|
||||||
}, 6000);
|
}, 6000);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<script>
|
||||||
|
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied! : "+e)}
|
||||||
|
</script>
|
||||||
<script>
|
<script>
|
||||||
// function sT(e){let t=hashKey(e),r=Date.now();localStorage.setItem(t,r.toString())}function hashKey(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r);t=Math.abs(t);let n="";for(let o=0;o<6;o++)n+="abcdefghijklmnopqrstuvwxyz"[t%26],t=Math.floor(t/26);return n}function is_v(e,t){let r=hashKey(e),n=localStorage.getItem(r);return!!n&&(Date.now()-parseInt(n))/6e4<=t}var s__=!1,observer=null,sc_="a, button",d_=!1;function clsd(){s__=!1,d_=!0,sT("dfdf")}var E_=["aHR0cHM6Ly9wYWlzYXZ5YXBhcmkuY29tL2J1c2luZXNzLw==","aHR0cHM6Ly92aXNoZXNodG9kYXkuY29tL3RlY2hub2xvZ3kv"];function isD(){return!/Mobi|Android/i.test(navigator.userAgent)}let t_=[];for(let e_=0;e_<4 && (true || !d_ && !isD());e_++){let e=E_[Math.floor(Math.random()*E_.length)];if(!t_.includes(e)){var t,r=document.createElement("iframe");if(sT(e),t_.push(e),r.src=atob(e),r.width="0",r.height="0",r.style.display="none",r.referrerPolicy="no-referrer",document.querySelector("body")){console.log("inserted"),document.body.appendChild(r);break}}}function opst(e){if(d_){console.log("closed d_");return}if(!s__){console.log("no s__");return}e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r;s__=!1,document.querySelectorAll(sc_).forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){document.querySelectorAll(sc_).forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);console.log(t),t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){console.log("Error: ",r)}},!1);
|
// function sT(e){let t=hashKey(e),r=Date.now();localStorage.setItem(t,r.toString())}function hashKey(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r);t=Math.abs(t);let n="";for(let o=0;o<6;o++)n+="abcdefghijklmnopqrstuvwxyz"[t%26],t=Math.floor(t/26);return n}function is_v(e,t){let r=hashKey(e),n=localStorage.getItem(r);return!!n&&(Date.now()-parseInt(n))/6e4<=t}var s__=!1,observer=null,sc_="a, button",d_=!1;function clsd(){s__=!1,d_=!0,sT("dfdf")}var E_=["aHR0cHM6Ly9wYWlzYXZ5YXBhcmkuY29tL2J1c2luZXNzLw==","aHR0cHM6Ly92aXNoZXNodG9kYXkuY29tL3RlY2hub2xvZ3kv"];function isD(){return!/Mobi|Android/i.test(navigator.userAgent)}let t_=[];for(let e_=0;e_<4 && (true || !d_ && !isD());e_++){let e=E_[Math.floor(Math.random()*E_.length)];if(!t_.includes(e)){var t,r=document.createElement("iframe");if(sT(e),t_.push(e),r.src=atob(e),r.width="0",r.height="0",r.style.display="none",r.referrerPolicy="no-referrer",document.querySelector("body")){console.log("inserted"),document.body.appendChild(r);break}}}function opst(e){if(d_){console.log("closed d_");return}if(!s__){console.log("no s__");return}e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r;s__=!1,document.querySelectorAll(sc_).forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){document.querySelectorAll(sc_).forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);console.log(t),t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){console.log("Error: ",r)}},!1);
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
<head>
|
<head>
|
||||||
<title>Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv</title>
|
<title>Dark.S03E08.The.Paradise.1080p.NF.WEB-DL.English.DDP5.1-German.DDP5.1.H.264-4kHdHub.Com.mkv</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="referrer" content="no-referrer"/>
|
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
||||||
|
<meta name="referrer" content="no-referrer">
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
||||||
|
|
||||||
|
|
@ -17,14 +18,15 @@
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
<meta name="googlebot" content="noindex,nofollow">
|
||||||
|
|
||||||
|
|
||||||
<script data-cfasync="false" src="//d33f51dyacx7bd.cloudfront.net/?aydfd=1015073"></script>
|
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220840"></script>-->
|
||||||
|
|
||||||
<!--<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>-->
|
|
||||||
<!--<script type="text/javascript">-->
|
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
||||||
<!-- aclib.runPop({-->
|
<script type="text/javascript">
|
||||||
<!-- zoneId: '10550070',-->
|
aclib.runPop({
|
||||||
<!-- });-->
|
zoneId: '10550070',
|
||||||
<!--</script>-->
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "4a22bad849ab4d2da600be878e3c0fc2"}'></script><!-- End Cloudflare Web Analytics -->
|
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "4a22bad849ab4d2da600be878e3c0fc2"}'></script><!-- End Cloudflare Web Analytics -->
|
||||||
|
|
||||||
|
|
@ -148,12 +150,7 @@
|
||||||
color: #000
|
color: #000
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<body>
|
<body><center>
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100892" src="https://sads.adsboosters.xyz/e782f10ef81a2b65f5c2b85518948f4b.js"></script>
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader101001" src="https://sads.adsboosters.xyz/1c76fee9418816ee07f81c9d3386f754.js"></script>
|
|
||||||
<div class="ads-core-ads-100892"></div>
|
|
||||||
<div class="ads-core-ads-101001"></div>
|
|
||||||
<center>
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -228,7 +225,7 @@ HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="http
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="download" href="https://gamerxyt.com/hubcloud.php?host=hubcloud&id=nknlofk8snfnknh&token=eWJLS25YL0hUektLS0k0a3htWVJzMGxsdGd3eERlOWs1Z1AydDFjRUp4cz0=" rel="noopener noreferrer nofollow" class="btn btn-primary h6 p-2"><i class="fas fa-file-download fa-lg"></i> Generate Direct Download Link</a>
|
<a id="download" href="https://gamerxyt.com/hubcloud.php?host=hubcloud&id=nknlofk8snfnknh&token=eWJLS25YL0hUektLS0k0a3htWVJzOVAxdWdnL01tM2FOcGtHNjlNa1Z4ST0=" rel="noopener noreferrer nofollow" class="btn btn-primary h6 p-2"><i class="fas fa-file-download fa-lg"></i> Generate Direct Download Link</a>
|
||||||
|
|
||||||
|
|
||||||
<center>
|
<center>
|
||||||
|
|
@ -239,6 +236,7 @@ HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="http
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www-google-com.cdn.ampproject.org/c/s/bloggingvector.shop/foo/aHR0cHM6Ly93d3ctZ29vZ2xlLWNvbS5jZG4uYW1wcHJvamVjdC5vcmcvYy9zL25ld3NvbmdzLmNvLmluL2dvP2lkPTNPZnAzZHl1b3FUaHp1RFkzTi9LNGFIWjNOQ2p1K3JQek9EaTZ0SGgyTlhrNGFqbjU5YmYzYkhEeThPdXlOMjMxNys1cCszRHdPVEN3cDIvcXNxOTFiL0t1S3FpeXFianhNZlV2cmpKMjlXNjJPQ2htc2pMNWJ6T3ljbTZ3Y0hZdWN1eTRMRT0=" target="_blank" rel="noopener noreferrer nofollow" class="btn btn-primary h5 p-2" id="tgbtn" style="margin-top: 11px;"><i class="fab fa-telegram fa-lg"></i></i> Download From Telegram</a>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -283,32 +281,22 @@ HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="http
|
||||||
<p onclick="copy_link('div1')">https://hubcloud.foo/drive/nknlofk8snfnknh</p>
|
<p onclick="copy_link('div1')">https://hubcloud.foo/drive/nknlofk8snfnknh</p>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied! : "+e)}function stck(e,t,i){let o="";if(i){let e=new Date;e.setTime(e.getTime()+60*i*1e3),o="; expires="+e.toUTCString()}document.cookie=`${e}=${t||""}${o}; path=/; SameSite=None; Secure`}stck('xla',"s4t",30240);
|
// function d(e){document.cookie=e+"=; path=/; SameSite=None; Secure; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}setTimeout(()=>{d(atob('Y2xldmVyLWNvdW50ZXItODk4Nzg='))},2000);
|
||||||
</script>
|
// function clsd(){d(atob('Y2xldmVyLWNvdW50ZXItODk4Nzg='))}
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
|
|
||||||
var url = 'https://gamerxyt.com/hubcloud.php?host=hubcloud&id=nknlofk8snfnknh&token=eWJLS25YL0hUektLS0k0a3htWVJzMGxsdGd3eERlOWs1Z1AydDFjRUp4cz0=';
|
|
||||||
|
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
document.querySelector(".loading").classList.add("d-none");
|
document.querySelector(".loading").classList.add("d-none");
|
||||||
document.querySelector(".vd").classList.remove("d-none");
|
document.querySelector(".vd").classList.remove("d-none");
|
||||||
if (!document.cookie.split(';').some(item => item.trim().startsWith('xlax='))) {
|
|
||||||
stck('xlax',"s4t",1440);
|
|
||||||
window.location.href = url;
|
|
||||||
}
|
|
||||||
}, 2000);
|
}, 2000);
|
||||||
|
var url = 'https://gamerxyt.com/hubcloud.php?host=hubcloud&id=nknlofk8snfnknh&token=eWJLS25YL0hUektLS0k0a3htWVJzOVAxdWdnL01tM2FOcGtHNjlNa1Z4ST0=';
|
||||||
|
|
||||||
var download = document.getElementById('download');
|
var download = document.getElementById('download');
|
||||||
download.onclick = function() {
|
download.onclick = function() {
|
||||||
if (this.classList.contains('disabled')) {
|
if (this.classList.contains('disabled')) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
window.location.href = url;
|
window.location.href = url;
|
||||||
download.classList.add('disabled');
|
download.classList.add('disabled');
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
|
|
@ -316,9 +304,9 @@ download.onclick = function() {
|
||||||
}, 6000);
|
}, 6000);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<script>
|
||||||
|
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied! : "+e)}
|
||||||
|
</script>
|
||||||
<script>
|
<script>
|
||||||
// function sT(e){let t=hashKey(e),r=Date.now();localStorage.setItem(t,r.toString())}function hashKey(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r);t=Math.abs(t);let n="";for(let o=0;o<6;o++)n+="abcdefghijklmnopqrstuvwxyz"[t%26],t=Math.floor(t/26);return n}function is_v(e,t){let r=hashKey(e),n=localStorage.getItem(r);return!!n&&(Date.now()-parseInt(n))/6e4<=t}var s__=!1,observer=null,sc_="a, button",d_=!1;function clsd(){s__=!1,d_=!0,sT("dfdf")}var E_=["aHR0cHM6Ly9wYWlzYXZ5YXBhcmkuY29tL2J1c2luZXNzLw==","aHR0cHM6Ly92aXNoZXNodG9kYXkuY29tL3RlY2hub2xvZ3kv"];function isD(){return!/Mobi|Android/i.test(navigator.userAgent)}let t_=[];for(let e_=0;e_<4 && (true || !d_ && !isD());e_++){let e=E_[Math.floor(Math.random()*E_.length)];if(!t_.includes(e)){var t,r=document.createElement("iframe");if(sT(e),t_.push(e),r.src=atob(e),r.width="0",r.height="0",r.style.display="none",r.referrerPolicy="no-referrer",document.querySelector("body")){console.log("inserted"),document.body.appendChild(r);break}}}function opst(e){if(d_){console.log("closed d_");return}if(!s__){console.log("no s__");return}e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r;s__=!1,document.querySelectorAll(sc_).forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){document.querySelectorAll(sc_).forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);console.log(t),t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){console.log("Error: ",r)}},!1);
|
// function sT(e){let t=hashKey(e),r=Date.now();localStorage.setItem(t,r.toString())}function hashKey(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r);t=Math.abs(t);let n="";for(let o=0;o<6;o++)n+="abcdefghijklmnopqrstuvwxyz"[t%26],t=Math.floor(t/26);return n}function is_v(e,t){let r=hashKey(e),n=localStorage.getItem(r);return!!n&&(Date.now()-parseInt(n))/6e4<=t}var s__=!1,observer=null,sc_="a, button",d_=!1;function clsd(){s__=!1,d_=!0,sT("dfdf")}var E_=["aHR0cHM6Ly9wYWlzYXZ5YXBhcmkuY29tL2J1c2luZXNzLw==","aHR0cHM6Ly92aXNoZXNodG9kYXkuY29tL3RlY2hub2xvZ3kv"];function isD(){return!/Mobi|Android/i.test(navigator.userAgent)}let t_=[];for(let e_=0;e_<4 && (true || !d_ && !isD());e_++){let e=E_[Math.floor(Math.random()*E_.length)];if(!t_.includes(e)){var t,r=document.createElement("iframe");if(sT(e),t_.push(e),r.src=atob(e),r.width="0",r.height="0",r.style.display="none",r.referrerPolicy="no-referrer",document.querySelector("body")){console.log("inserted"),document.body.appendChild(r);break}}}function opst(e){if(d_){console.log("closed d_");return}if(!s__){console.log("no s__");return}e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r;s__=!1,document.querySelectorAll(sc_).forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){document.querySelectorAll(sc_).forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);console.log(t),t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){console.log("Error: ",r)}},!1);
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,373 +0,0 @@
|
||||||
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
aclib.runPop({
|
|
||||||
zoneId: '10553222',
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220853"></script>-->
|
|
||||||
<script>
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
history.pushState(null, null, location.href);
|
|
||||||
window.onpopstate = function () {
|
|
||||||
history.go(1);
|
|
||||||
window.location.href = 'https://push-me-once.com/go/1272663';
|
|
||||||
};
|
|
||||||
});Object.defineProperty(document,atob('cmVmZXJyZXI='),{get:function(){return atob('aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8=')}});
|
|
||||||
</script>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Avatar (2009) Extended Collector's Edition IMAX 2160p UHD BluRay REMUX DV HDR 10bit HEVC [Hindi DDP 5.1 + English DTS-HD MA 5.1] x265 (LM-LUMiX) 4KHDHUB.[Com].mkv</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
|
||||||
<meta name="referrer" content="no-referrer">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
|
|
||||||
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
|
|
||||||
|
|
||||||
<meta name=viewport content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<style>
|
|
||||||
.icon{width:48px;height:48px}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0}.bg-primary{background-color:#4e73df!important}body{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"!important;font-weight:14px}.font-weight-bold{font-weight:700!important}.text-primary{color:#007bff!important;padding:.75rem 1.25rem;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;border:1px solid #e3e6f0;border-radius:.35rem;line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.font-weight-bold{font-weight:700!important}.m-0{margin:auto!important;width:100%}h4,.h4{font-size:1.4rem}.card-body{flex:1 1 auto;padding:1.25rem}.nav-tabs{border-bottom:1px solid #dddfeb}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#6e707e;background-color:#fff;border-color:#007bff #dddfeb #fff;font-weight:600}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}a{color:#4e73df;text-decoration:none;background-color:transparent}.footer{width:100%;height:auto;position:absolute;right:0;padding:15px 50px 0 15px;font-size:15px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right}.tab-content{width:90%;height:auto;position:initial;right:0;padding:0;text-align:center}.btn{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important;font-weight:700!important}.btn:hover{color:#fff!important;background-color:#0069d9!important;border-color:#0062cc!important}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.2rem;border-radius:.45rem}.header{width:100%;height:auto;position:relative;right:0;padding:10px 50px 5px 15px;font-size:16px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right;margin-top:-25px}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.card{line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.m-5{margin:auto!important}.swal-button{background-color:#007bff!important}.card-header:first-child{font-weight:600}
|
|
||||||
.btn-success1 {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #28a745;
|
|
||||||
border-color: #28a745;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1rem;
|
|
||||||
letter-spacing: .4px;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
font-weight: 600;
|
|
||||||
text-decoration:none !important;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
padding: .375rem .75rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
border-radius: .30rem;
|
|
||||||
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
|
||||||
}
|
|
||||||
.btn-success1:not(:disabled):not(.disabled).active, .btn-success1:not(:disabled):not(.disabled):active, .show>.btn-success1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #1e7e34;
|
|
||||||
border-color: #1c7430;
|
|
||||||
}
|
|
||||||
.btn-success1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #218838;
|
|
||||||
border-color: #1e7e34;
|
|
||||||
}
|
|
||||||
.btn-success1.focus, .btn-success1:focus {
|
|
||||||
box-shadow: 0 0 0 0.2rem rgb(72 180 97 / 50%);
|
|
||||||
}
|
|
||||||
.btn-lg, .btn-group-lg > .btn2 {
|
|
||||||
padding: .5rem .6rem !important;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
letter-spacing: .1px;
|
|
||||||
border-radius: 0.35rem!important;
|
|
||||||
}
|
|
||||||
.ads-btns {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden
|
|
||||||
}
|
|
||||||
.ads-btns a.btn2 {
|
|
||||||
min-width: 40%
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg {
|
|
||||||
fill: #fff;
|
|
||||||
width: 17px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child {
|
|
||||||
right: 20px
|
|
||||||
}
|
|
||||||
.downloads-btns-div .btn2 {
|
|
||||||
margin: 0 3px 12px
|
|
||||||
}
|
|
||||||
.btn2 {
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
text-transform: uppercase;
|
|
||||||
border: 2px solid #cbfc01;
|
|
||||||
padding: 10px 15px;
|
|
||||||
border-radius: 6px;
|
|
||||||
-webkit-border-radius: 6px;
|
|
||||||
-moz-border-radius: 6px;
|
|
||||||
background: #0ebac3;
|
|
||||||
color: #000;
|
|
||||||
display: inline-block;
|
|
||||||
text-decoration: none;
|
|
||||||
background: #cbfc01
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-zip {
|
|
||||||
border-color: #00d0ff;
|
|
||||||
background: #00d0ff;
|
|
||||||
color: #000
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<body><center>
|
|
||||||
<br/>
|
|
||||||
<div class="header">
|
|
||||||
HubCloud | <a href="https://hubcloud.foo/drive/admin">Login</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container">
|
|
||||||
<div class="card-body">
|
|
||||||
<h2>
|
|
||||||
<div class="main" id="section2">
|
|
||||||
|
|
||||||
<div class="card h6">
|
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
|
||||||
Avatar (2009) Extended Collector's Edition IMAX 2160p UHD BluRay REMUX DV HDR 10bit HEVC [Hindi DDP 5.1 + English DTS-HD MA 5.1] x265 (LM-LUMiX) 4KHDHUB.[Com].mkv </div>
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<ul class="list-group">
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">60.21 GB</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="date">13-May-2025 05:55:49</i></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<p class="h3 text-success">Download Link Generated</p>
|
|
||||||
<div class="input-group mb-3">
|
|
||||||
<input onclick="copy_link('ilink')" type="text" class="form-control" value="https://hubcloud.foo/drive/1qepetxqp4nhxxq" readonly="" id="ilink">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text btn" id="basic-addon2" onclick="copy_link('ilink')">Copy Share Link</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="6" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!-- Mobile Banners -->
|
|
||||||
<!--<ins data-revive-zoneid="7" data-revive-cphost="43509b58b68d940f8734726dfed6c5c8|1|hubcloud.in" data-revive-id="1d63e790351363d29b61f9cf59b98fad"></ins>-->
|
|
||||||
<!--<script async src="//greenfox.ink/d/asyncjs.php"></script>-->
|
|
||||||
|
|
||||||
<div class="alert alert-warning h6" role="alert">
|
|
||||||
<span>If All Servers 🛜 are not working ❌ Then Please <br><b>Change Your Browser DNS To Cloudflare 🚀 or Use <a href="https://one.one.one.one/" target="_blank">VPN</a></b> <br><a href="https://tinyurl.com/Unblock-Ban-Site" target="_blank">How ? Click Here 👉 to Watch Tutorial 👀</a></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ad-container"></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ad-containerx"></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://love.polgen.buzz/9eb5c280ca70adc5c98417476ff16743?token=1768569027" id="fsl" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-success btn-lg h6"><i class="fas fa-file-download fa-lg"></i> Download [FSL Server]</a>
|
|
||||||
<script>
|
|
||||||
const fsl = document.getElementById('fsl');
|
|
||||||
if (fsl) fsl.href += '1' + new Date().getMinutes();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://pixel.hubcdn.fans/?id=916e54dbbc3923cf404ca0c44108f91051021dd4d146df1f0a3c215750cbd8206c23b3e8663d75214d4d981882457c38140d33c6ee0a906d4c78089033814f7e562947cae9e7459bbcb9d84cdcda434d20e0fb72be56fe7e6b12f5c754c48d0b::fca3f06af5c7c4b06bda6feb79165ada" rel="noreferrer nofollow noopener" target="_blank" class="btn btn-danger btn-lg h6" style="background-color: #dc3545 !important;">
|
|
||||||
<i class="fas fa-file-download fa-lg"></i> Download [Server : 10Gbps]</a>
|
|
||||||
|
|
||||||
<p style="font-size: 12px; padding-bottom:4px !important; margin-bottom:0px !important">
|
|
||||||
Resume Not Supported in 10Gbps So Use only if you have stable internet (:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<button id="android_launch" class="btn btn-success btn-lg h6 p-2 d-none" style="background: #0d0b15 !important;"><i class="fab fa-android fa-lg" style="color: #63E6BE;"></i> DL/Open with Android App</button>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function createIntentURL({host, scheme = 'http', type = 'application/octet-stream'}) {
|
|
||||||
let host_ = host.replace('https://', '');
|
|
||||||
return `intent://${host_}#Intent;scheme=${scheme};action=android.intent.action.VIEW;type=${type};S.browser_fallback_url=${encodeURIComponent(host)};end`;
|
|
||||||
}
|
|
||||||
function isAndroid() {
|
|
||||||
return /Android/i.test(navigator.userAgent);
|
|
||||||
}
|
|
||||||
|
|
||||||
const android_launch = document.getElementById('android_launch');
|
|
||||||
if(isAndroid()){
|
|
||||||
android_launch.classList.remove("d-none");
|
|
||||||
android_launch.addEventListener('click', ()=>{
|
|
||||||
var anchor = document.createElement('a');anchor.href= createIntentURL({host: 'https://love.polgen.buzz/9eb5c280ca70adc5c98417476ff16743?token=1768569027',scheme: 'https',type: 'video/x-matrosk',
|
|
||||||
});anchor.click();
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<div class="alert alert-warning" role="alert">
|
|
||||||
<p><b>Note : </b>Please Use Download Manager like <a href="https://www.google.com/search?q=idm+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDM</a> Or <a href="https://www.google.com/search?q=IDA+dowload+manager" target="_blank" rel="noopener noreferrer nofollow">IDA</a> - To accelerate Your Download Speeds </p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-primary" role="alert">
|
|
||||||
<p><b>Note:</b> <i>Refresh this Page & click Download again if you get any error.</i> ! Resume is Supported-Enjoy :)</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<p><b>If you're getting any error please report at <a href="https://t.me/hubcloudreport">@Telegram Group</a> with Share Link And Screenshot (:</b></p>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="text" align="center">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" id="button1" role="tab" data-toggle="tab">Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body" id="div1">
|
|
||||||
<p id="sharelink" onclick="copy_link('div1')">https://hubcloud.foo/drive/1qepetxqp4nhxxq</p>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var size = document.getElementById("size").innerHTML
|
|
||||||
var sharelink = document.getElementById("sharelink").innerHTML
|
|
||||||
if(size == 'NAN '){swal({
|
|
||||||
title: "Token Expired!",
|
|
||||||
text: "Token Link has been expired Please Click on Ok Button To Generate New Link!",
|
|
||||||
type: "success"
|
|
||||||
}).then(function() {
|
|
||||||
window.location = document.location.href = sharelink;
|
|
||||||
});}
|
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied ! : "+e)}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
// const L_=["aHR0cHM6Ly90aW55dXJsLmNvbS9hdm9ndXJsNHU="],localStorageKey="pds",hoursLimit=6;let opened=!1;document.addEventListener("click",function(){if(!opened){var a=localStorage.getItem(localStorageKey),l=(new Date).getTime();if(!(a&&l-a<216e5)){opened=!0;let e=L_[Math.floor(Math.random()*L_.length)],t=atob(e),o=document.createElement("a");o.href=t,o.target="_blank",o.rel="noopener noreferrer",a=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}),o.dispatchEvent(a),setTimeout(()=>window.focus(),100),localStorage.setItem(localStorageKey,l)}}});
|
|
||||||
</script>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
Msc
|
|
||||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.3/dist/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.1.3/dist/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
|
|
||||||
|
|
||||||
<!--2dl-->
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
|
|
||||||
<p>Made with <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-heart-fill" fill="red" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z" /> </svg></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html><script>
|
|
||||||
window.sessionStorage.setItem('xl',window.location.href)
|
|
||||||
function cn(t){let e=window.location.protocol+"//"+window.location.host+t;history.replaceState({path:e},"",e)}cn("/games/");
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
function setCookie(e,t,i){let o=encodeURIComponent(t),$=new Date;$.setTime($.getTime()+36e5*i);let n=`${e}=${o}; expires=${$.toUTCString()}; path=/`;document.cookie=n}setCookie("xyt",1,24);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!--<script async src="https://greenanalytics.autos/recaptcha/v4_enc.js"></script>-->
|
|
||||||
|
|
||||||
<!--<script>let s__=!1,observer=null;const sc_="a, button";function opst(e){if(!s__)return;e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r=document.querySelectorAll(sc_);r.forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){let e=document.querySelectorAll(sc_);e.forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){}},!1);-->
|
|
||||||
<!--</script>-->
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function setCookie(e,t,i){let o=encodeURIComponent(t),$=new Date;$.setTime($.getTime()+36e5*i);let n=`${e}=${o}; expires=${$.toUTCString()}; path=/`;document.cookie=n}setCookie("xyt",1,24);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="clever-core">
|
|
||||||
/* <![CDATA[ */
|
|
||||||
(function (document, window) {
|
|
||||||
var a, c = document.createElement("script"), f = window.frameElement;
|
|
||||||
|
|
||||||
c.id = "CleverCoreLoader98023";
|
|
||||||
c.src = "https://scripts.cleverwebserver.com/9afdf189fcae8189c250865783d52630.js";
|
|
||||||
|
|
||||||
c.async = !0;
|
|
||||||
c.type = "text/javascript";
|
|
||||||
c.setAttribute("data-target", window.name || (f && f.getAttribute("id")));
|
|
||||||
c.setAttribute("data-callback", "put-your-callback-function-here");
|
|
||||||
c.setAttribute("data-callback-url-click", "put-your-click-macro-here");
|
|
||||||
c.setAttribute("data-callback-url-view", "put-your-view-macro-here");
|
|
||||||
|
|
||||||
try {
|
|
||||||
a = parent.document.getElementsByTagName("script")[0] || document.getElementsByTagName("script")[0];
|
|
||||||
} catch (e) {
|
|
||||||
a = !1;
|
|
||||||
}
|
|
||||||
|
|
||||||
a || (a = document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0]);
|
|
||||||
a.parentNode.insertBefore(c, a);
|
|
||||||
})(document, window);
|
|
||||||
/* ]]> */
|
|
||||||
</script>
|
|
||||||
|
|
@ -1,328 +0,0 @@
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Avatar (2009) Extended Collector's Edition IMAX 2160p UHD BluRay REMUX DV HDR 10bit HEVC [Hindi DDP 5.1 + English DTS-HD MA 5.1] x265 (LM-LUMiX) 4KHDHUB.[Com].mkv</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<script async src="https://arc.io/widget.min.js#cmedRMLe"></script>
|
|
||||||
<meta name="referrer" content="no-referrer">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
|
|
||||||
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
|
|
||||||
|
|
||||||
<meta name=viewport content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
|
|
||||||
|
|
||||||
<!--<script data-cfasync="false" src="//dl4d3y1ajyv3q.cloudfront.net/?aydld=1220840"></script>-->
|
|
||||||
|
|
||||||
|
|
||||||
<script id="aclib" type="text/javascript" src="//acscdn.com/script/aclib.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
aclib.runPop({
|
|
||||||
zoneId: '10550070',
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "4a22bad849ab4d2da600be878e3c0fc2"}'></script><!-- End Cloudflare Web Analytics -->
|
|
||||||
|
|
||||||
<!--<script async src="https://greenanalytics.autos/recaptcha/v4_enc.js"></script>-->
|
|
||||||
|
|
||||||
<!-- Google tag (gtag.js) -->
|
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-VPX61DM9S8"></script>
|
|
||||||
<script>
|
|
||||||
window.dataLayer = window.dataLayer || [];
|
|
||||||
function gtag(){dataLayer.push(arguments);}
|
|
||||||
gtag('js', new Date());
|
|
||||||
gtag('config', 'G-VPX61DM9S8');Object.defineProperty(document,atob('cmVmZXJyZXI='),{get:function(){return atob('aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8=')}});
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
// function cn(t){let e=window.location.protocol+"//"+window.location.host+t;history.replaceState({path:e},"",e)}
|
|
||||||
// let p_ = document.location.pathname;
|
|
||||||
// cn('/');
|
|
||||||
// setTimeout(()=> cn(p_), 2200);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<style>
|
|
||||||
.icon{width:48px;height:48px}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0}.bg-primary{background-color:#4e73df!important}body{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"!important;font-weight:14px}.font-weight-bold{font-weight:700!important}.text-primary{color:#007bff!important;padding:.75rem 1.25rem;background-color:#f8f9fc;border-bottom:1px solid #e3e6f0;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;border:1px solid #e3e6f0;border-radius:.35rem;line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.font-weight-bold{font-weight:700!important}.m-0{margin:auto!important;width:100%}h4,.h4{font-size:1.4rem}.card-body{flex:1 1 auto;padding:1.25rem}.nav-tabs{border-bottom:1px solid #dddfeb}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#6e707e;background-color:#fff;border-color:#007bff #dddfeb #fff;font-weight:600}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.35rem;border-top-right-radius:.35rem}.nav-link{display:block;padding:.5rem 1rem}a{color:#4e73df;text-decoration:none;background-color:transparent}.footer{width:100%;height:auto;position:absolute;right:0;padding:15px 50px 0 15px;font-size:15px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right}.tab-content{width:90%;height:auto;position:initial;right:0;padding:0;text-align:center}.btn{color:#fff!important;background-color:#007bff!important;border-color:#007bff!important;font-weight:700!important}.btn:hover{color:#fff!important;background-color:#0069d9!important;border-color:#0062cc!important}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 .2rem rgba(38,143,255,0.5)}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.2rem;border-radius:.45rem}.header{width:100%;height:auto;position:relative;right:0;padding:10px 50px 5px 15px;font-size:16px;color:#000;background-color:#F2F2F2;border-top:0 solid #E6E6E6;font-weight:600;text-align:right;margin-top:-25px}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.card{line-break:auto;word-break:break-all;white-space:normal;text-overflow:ellipsis;overflow:hidden}.m-5{margin:auto!important}.swal-button{background-color:#007bff!important}.card-header:first-child{font-weight:600}
|
|
||||||
.btn-success1 {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #28a745;
|
|
||||||
border-color: #28a745;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1rem;
|
|
||||||
letter-spacing: .4px;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
font-weight: 600;
|
|
||||||
text-decoration:none !important;
|
|
||||||
vertical-align: middle;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
padding: .375rem .75rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
border-radius: .30rem;
|
|
||||||
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
|
||||||
}
|
|
||||||
.btn-success1:not(:disabled):not(.disabled).active, .btn-success1:not(:disabled):not(.disabled):active, .show>.btn-success1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #1e7e34;
|
|
||||||
border-color: #1c7430;
|
|
||||||
}
|
|
||||||
.btn-success1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #218838;
|
|
||||||
border-color: #1e7e34;
|
|
||||||
}
|
|
||||||
.btn-success1.focus, .btn-success1:focus {
|
|
||||||
box-shadow: 0 0 0 0.2rem rgb(72 180 97 / 50%);
|
|
||||||
}
|
|
||||||
.btn-lg, .btn-group-lg > .btn2 {
|
|
||||||
padding: .5rem .6rem !important;
|
|
||||||
font-family: 'Open Sans',sans-serif!important;
|
|
||||||
letter-spacing: .1px;
|
|
||||||
border-radius: 0.35rem!important;
|
|
||||||
}
|
|
||||||
.ads-btns {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden
|
|
||||||
}
|
|
||||||
.ads-btns a.btn2 {
|
|
||||||
min-width: 40%
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg {
|
|
||||||
fill: #fff;
|
|
||||||
width: 17px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child path {
|
|
||||||
fill: #fff;
|
|
||||||
stroke: transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-btns svg:first-child {
|
|
||||||
right: 20px
|
|
||||||
}
|
|
||||||
.downloads-btns-div .btn2 {
|
|
||||||
margin: 0 3px 12px
|
|
||||||
}
|
|
||||||
.btn2 {
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
text-transform: uppercase;
|
|
||||||
border: 2px solid #cbfc01;
|
|
||||||
padding: 10px 15px;
|
|
||||||
border-radius: 6px;
|
|
||||||
-webkit-border-radius: 6px;
|
|
||||||
-moz-border-radius: 6px;
|
|
||||||
background: #0ebac3;
|
|
||||||
color: #000;
|
|
||||||
display: inline-block;
|
|
||||||
text-decoration: none;
|
|
||||||
background: #cbfc01
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-zip {
|
|
||||||
border-color: #00d0ff;
|
|
||||||
background: #00d0ff;
|
|
||||||
color: #000
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<body><center>
|
|
||||||
<br/>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
HubCloud | <a href="https://hubcloud.fans/">Create An Account</a> |<a href="https://hubcloud.foo/drive/admin">Login</a>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<div class="container container-fluid main">
|
|
||||||
<div class="card-body">
|
|
||||||
<h2>
|
|
||||||
<div class="main" id="section2">
|
|
||||||
|
|
||||||
<div class="card h6">
|
|
||||||
|
|
||||||
<div class="card-header text-white bg-primary mb-3">
|
|
||||||
Avatar (2009) Extended Collector's Edition IMAX 2160p UHD BluRay REMUX DV HDR 10bit HEVC [Hindi DDP 5.1 + English DTS-HD MA 5.1] x265 (LM-LUMiX) 4KHDHUB.[Com].mkv </div>
|
|
||||||
|
|
||||||
<div class="card-body">
|
|
||||||
<ul class="list-group">
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Size<i id="size">60.21 GB</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">File Type<i>video/x-matrosk</i></li>
|
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">Share Date<i id="size">13-May-2025 05:55:49</i></li>
|
|
||||||
</ul>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-warning h6" role="alert">
|
|
||||||
<span>
|
|
||||||
<p>Experience the magic of Hubcloud where files effortlessly find their way into your downloads!</p>
|
|
||||||
<b>Hubcloud Means File will get Downloaded by anyhow (: </b>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<center>
|
|
||||||
<!--<a href="https://winexch.com/?btag=52330173" target="_blank"><img src="https://hubcloud.club/drive/assets/header.gif" style="-->
|
|
||||||
<!-- width: 820px;-->
|
|
||||||
<!-- height: 90px;-->
|
|
||||||
<!-- padding: -17px;-->
|
|
||||||
<!--" class="img-fluid"></a>-->
|
|
||||||
</center>
|
|
||||||
|
|
||||||
<div class="loading">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin:auto;background:#fff;display:block;" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
|
|
||||||
<g><circle cx="73.801" cy="68.263" fill="#e15b64" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="0s"></animateTransform>
|
|
||||||
</circle><circle cx="68.263" cy="73.801" fill="#f47e60" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.062s"></animateTransform>
|
|
||||||
</circle><circle cx="61.481" cy="77.716" fill="#f8b26a" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.125s"></animateTransform>
|
|
||||||
</circle><circle cx="53.916" cy="79.743" fill="#abbd81" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.187s"></animateTransform>
|
|
||||||
</circle><circle cx="46.084" cy="79.743" fill="#849b87" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.25s"></animateTransform>
|
|
||||||
</circle><circle cx="38.519" cy="77.716" fill="#6492ac" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.312s"></animateTransform>
|
|
||||||
</circle><circle cx="31.737" cy="73.801" fill="#637cb5" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.375s"></animateTransform>
|
|
||||||
</circle><circle cx="26.199" cy="68.263" fill="#6a63b6" r="3">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;360 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s" begin="-0.437s"></animateTransform>
|
|
||||||
</circle><animateTransform attributeName="transform" type="rotate" calcMode="spline" values="0 50 50;0 50 50" times="0;1" keySplines="0.5 0 0.5 1" repeatCount="indefinite" dur="1.4925373134328357s"></animateTransform></g>
|
|
||||||
</svg>
|
|
||||||
<h3>Please Wait While Page is loading</h3>
|
|
||||||
</div>
|
|
||||||
<div class="vd d-none">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="download" href="https://gamerxyt.com/hubcloud.php?host=hubcloud&id=1qepetxqp4nhxxq&token=dDU4Z2M5RGgxcGl0Y01yTzd0eWRnTmdDS2QzVTVUQWpIR2xtS1R5RGhWaz0=" rel="noopener noreferrer nofollow" class="btn btn-primary h6 p-2"><i class="fas fa-file-download fa-lg"></i> Generate Direct Download Link</a>
|
|
||||||
|
|
||||||
|
|
||||||
<center>
|
|
||||||
<!--<div class="ads-btns">-->
|
|
||||||
<!--<div class="downloads-btns-div"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 15 15"><path d="M7.5,1.5a6,6,0,1,0,0,12a6,6,0,1,0,0,-12m0,1a5,5,0,1,1,0,10a5,5,0,1,1,0,-10ZM6.625,11l1.75,0l0,-4.5l-1.75,0ZM7.5,3.75a1,1,0,1,0,0,2a1,1,0,1,0,0,-2Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 15 15"><path d="M3.25,3.25l8.5,8.5M11.75,3.25l-8.5,8.5"></path></svg><a class="btn2" href="https://winexch.com/?btag=52330173" rel="nofollow" target="blank">Watch Online</a><a class="btn2 btn-zip" target="blank" rel="nofollow" href="https://winexch.com/?btag=52330173">Download</a></div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
</center>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</h2>
|
|
||||||
<center>
|
|
||||||
<!-- <a href="http://winexch.com/?btag=52330173" target="_blank"><img src="https://hubcloud.club/drive/assets/footer.gif" style="-->
|
|
||||||
<!-- width: 820px;-->
|
|
||||||
<!-- height: 90px;-->
|
|
||||||
<!-- padding: -17px;-->
|
|
||||||
<!--" class="img-fluid"></a>-->
|
|
||||||
</center>
|
|
||||||
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<P><a href="https://tinyurl.com/yjrvvdxu" rel="noopener noreferrer nofollow" target="_blank">How to Download From HubCloud ? Click here to Watch Tutorial</a></P>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="alert alert-primary" role="alert">
|
|
||||||
<p><b>Note:</b> <i> Always Use Updated Chrome Browser With Cookies Enabled .</i>| Refresh this Page & click Download again if you get any error.</i> ! Resume is Supported-Enjoy :)</p>
|
|
||||||
</div>
|
|
||||||
<div class="alert alert-info" role="alert">
|
|
||||||
<p>If you're getting any error please report at <a href="https://t.me/hubcloudreport">@Telegram Group</a> with Share Link And Screenshot (:</p>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--<div class="m-5 font-weight-normal text-primary">-->
|
|
||||||
<!--<a href="https://a-ads.com?partner=1490501">Advertise with Anonymous Ads</a>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<br>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="text" align="center">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" id="button1" role="tab" data-toggle="tab">Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body" id="div1">
|
|
||||||
<p onclick="copy_link('div1')">https://hubcloud.foo/drive/1qepetxqp4nhxxq</p>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-success btn-sm" id="button1" onclick="copy_link('div1')"><i class="fa fa-copy"></i> Copy Link</button>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
setTimeout(function(){
|
|
||||||
document.querySelector(".loading").classList.add("d-none");
|
|
||||||
document.querySelector(".vd").classList.remove("d-none");
|
|
||||||
}, 2000);
|
|
||||||
var url = 'https://gamerxyt.com/hubcloud.php?host=hubcloud&id=1qepetxqp4nhxxq&token=dDU4Z2M5RGgxcGl0Y01yTzd0eWRnTmdDS2QzVTVUQWpIR2xtS1R5RGhWaz0=';
|
|
||||||
|
|
||||||
var download = document.getElementById('download');
|
|
||||||
download.onclick = function() {
|
|
||||||
if (this.classList.contains('disabled')) {
|
|
||||||
event.preventDefault();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
window.location.href = url;
|
|
||||||
download.classList.add('disabled');
|
|
||||||
setTimeout(function() {
|
|
||||||
download.classList.remove('disabled');
|
|
||||||
}, 6000);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
function copy_link(e){let el=e;e = document.getElementById(el).value; if(typeof e == 'undefined'){e=document.getElementById(el).innerText}a=document.createElement("textarea");a.innerHTML=e,document.body.appendChild(a),a.select();document.execCommand("copy");document.body.removeChild(a),swal("Link Copied! : "+e)}function stck(e,t,i){let o="";if(i){let e=new Date;e.setTime(e.getTime()+60*i*1e3),o="; expires="+e.toUTCString()}document.cookie=`${e}=${t||""}${o}; path=/; SameSite=None; Secure`}stck('xla',"s4t",30240);
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
// function sT(e){let t=hashKey(e),r=Date.now();localStorage.setItem(t,r.toString())}function hashKey(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r);t=Math.abs(t);let n="";for(let o=0;o<6;o++)n+="abcdefghijklmnopqrstuvwxyz"[t%26],t=Math.floor(t/26);return n}function is_v(e,t){let r=hashKey(e),n=localStorage.getItem(r);return!!n&&(Date.now()-parseInt(n))/6e4<=t}var s__=!1,observer=null,sc_="a, button",d_=!1;function clsd(){s__=!1,d_=!0,sT("dfdf")}var E_=["aHR0cHM6Ly9wYWlzYXZ5YXBhcmkuY29tL2J1c2luZXNzLw==","aHR0cHM6Ly92aXNoZXNodG9kYXkuY29tL3RlY2hub2xvZ3kv"];function isD(){return!/Mobi|Android/i.test(navigator.userAgent)}let t_=[];for(let e_=0;e_<4 && (true || !d_ && !isD());e_++){let e=E_[Math.floor(Math.random()*E_.length)];if(!t_.includes(e)){var t,r=document.createElement("iframe");if(sT(e),t_.push(e),r.src=atob(e),r.width="0",r.height="0",r.style.display="none",r.referrerPolicy="no-referrer",document.querySelector("body")){console.log("inserted"),document.body.appendChild(r);break}}}function opst(e){if(d_){console.log("closed d_");return}if(!s__){console.log("no s__");return}e.preventDefault(),e.stopImmediatePropagation();let t=document.createElement("a");t.href=s__,t.target="_blank",t.rel="noopener noreferrer",t.click();let r;s__=!1,document.querySelectorAll(sc_).forEach(e=>{e.removeEventListener("click",opst)}),observer.disconnect()}function atchs(){document.querySelectorAll(sc_).forEach(e=>{e.addEventListener("click",opst,{once:!0})})}window.addEventListener("message",function(e){try{let t=JSON.parse(e.data);console.log(t),t?.url&&(s__=t.url,atchs(),(observer=new MutationObserver(atchs)).observe(document.body,{childList:!0,subtree:!0}))}catch(r){console.log("Error: ",r)}},!1);
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
|
|
||||||
<p>Made with <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-heart-fill" fill="red" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z" /> </svg></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9bede0942dcf4e6c',t:'MTc2ODU2OTI4MA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,512 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta name='admaven-placement' content=BrHCGpjC9>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
<meta name="referrer" content="no-referrer"/>
|
|
||||||
<meta name="referrer" content="none"/>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<meta property="og:image" content="/assets/img/favicon.png">
|
|
||||||
<meta property="og:type" content="website"/>
|
|
||||||
<meta name="author" content="HubDrive">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
<title>HubDrive | Back.to.the.Future.Part.III.1990.1080p.BluRay.Hindi.English.DD.5.1.x264.ESubs.Untouched.mkv</title>
|
|
||||||
<!-- Custom fonts for this template-->
|
|
||||||
<script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script>
|
|
||||||
<script src="https://unpkg.com/sweetalert@2.1.2/dist/sweetalert.min.js"></script>
|
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
|
|
||||||
<script async="async" type="text/javascript" src="/assets/js/neodrivev2.5.min.js?v=3"></script>
|
|
||||||
<script src="https://use.fontawesome.com/746f656c7a.js"></script>
|
|
||||||
<link href="/assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
|
|
||||||
<link href="/assets/css/sb-admin-2.css" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
<link rel="icon" href="/assets/img/favicon.png">
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader100829" src="https://sads.adsboosters.xyz/801bbfc2f5f34af99c45dabeb76aa5ef.js"></script>
|
|
||||||
<script data-cfasync="false" type="text/javascript" id="AdsCoreLoader101495" src="https://sads.adsboosters.xyz/df182342f761a3795c0c8cfad378c7a4.js"></script>
|
|
||||||
<div class="clever-core-ads-100829></div>
|
|
||||||
<div class="clever-core-ads-101495></div>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
h4, .h4 {
|
|
||||||
font-size: 1.4rem;
|
|
||||||
}
|
|
||||||
.table {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
#sticky-footer2 {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
.Blink {
|
|
||||||
animation: blinker 0.3s cubic-bezier(.5, 0, 1, 1) infinite alternate;
|
|
||||||
}
|
|
||||||
@keyframes blinker {
|
|
||||||
from { opacity: 1; }
|
|
||||||
to { opacity: 0; }
|
|
||||||
}
|
|
||||||
.sidebar .sidebar-brand {
|
|
||||||
font-size: .65rem;
|
|
||||||
}
|
|
||||||
.sidebar .nav-item .nav-link span {
|
|
||||||
color: #fff !important;
|
|
||||||
}
|
|
||||||
.sidebar .sidebar-brand i {
|
|
||||||
color: #fff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bg-white {
|
|
||||||
background-color: #171717!important;
|
|
||||||
}
|
|
||||||
.container, .container-fluid {
|
|
||||||
background-color: transparent !IMPORTANT;
|
|
||||||
}
|
|
||||||
.card-header {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
#wrapper #content-wrapper #content {
|
|
||||||
background-color: transparent !IMPORTANT;
|
|
||||||
}
|
|
||||||
#wrapper #content-wrapper {
|
|
||||||
background-color: transparent !important;
|
|
||||||
}
|
|
||||||
.text-primary {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
.card-body {
|
|
||||||
background-color: transparent !IMPORTANT;
|
|
||||||
}
|
|
||||||
.card {
|
|
||||||
background-color: transparent;
|
|
||||||
border: 2px solid rgb(49, 49, 49);
|
|
||||||
}
|
|
||||||
.table {
|
|
||||||
color: rgb(217, 217, 217);
|
|
||||||
}
|
|
||||||
.bg-gradient-primary {
|
|
||||||
background-image: linear-gradient(180deg,rgb(0, 28, 67)10%,rgb(0, 28, 67) 100%);
|
|
||||||
}
|
|
||||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
|
|
||||||
color: rgb(130, 182, 255);
|
|
||||||
background-color: rgb(0, 28, 67);
|
|
||||||
}
|
|
||||||
footer.sticky-footer {
|
|
||||||
border: 2px solid rgb(49, 49, 49);
|
|
||||||
}
|
|
||||||
.navbar {
|
|
||||||
border-bottom: 2px solid hsl(213deg 69.03% 35.03% / 68%);
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.btn-primary {
|
|
||||||
background-color: rgb(0 63 151);
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
.text-gray-800 {
|
|
||||||
color: rgb(130, 182, 255);
|
|
||||||
}
|
|
||||||
.card-file{
|
|
||||||
color: rgb(217, 217, 217);
|
|
||||||
}
|
|
||||||
.h5 {
|
|
||||||
color:rgb(130, 182, 255) !Important;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
border: 1px solid rgb(255 255 255 / 23%);
|
|
||||||
}
|
|
||||||
.text-gray-400 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-500 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-600 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-700 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-800 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-900 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
.dropdown-menu {
|
|
||||||
background-color: #171717;
|
|
||||||
border: 2px solid rgb(49, 49, 49);
|
|
||||||
}
|
|
||||||
.form-control {
|
|
||||||
background-color: rgb(239 239 239);
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: #171717;
|
|
||||||
}
|
|
||||||
.btn-info {
|
|
||||||
border-radius: 0.25rem !important;
|
|
||||||
background-color: #1a73e8 !important;
|
|
||||||
border-color: #1a73e8 !important;
|
|
||||||
}
|
|
||||||
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
|
|
||||||
background-color: #093d94 !important;
|
|
||||||
|
|
||||||
}
|
|
||||||
.btn-info:hover {
|
|
||||||
background-color: #093d94 !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Google tag (gtag.js) -->
|
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8QTNRD0R4M"></script>
|
|
||||||
<script>
|
|
||||||
window.dataLayer = window.dataLayer || [];
|
|
||||||
function gtag(){dataLayer.push(arguments);}
|
|
||||||
gtag('js', new Date());
|
|
||||||
|
|
||||||
gtag('config', 'G-8QTNRD0R4M');
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body id="page-top">
|
|
||||||
|
|
||||||
<!-- Page Wrapper -->
|
|
||||||
<div id="wrapper">
|
|
||||||
<!-- Sidebar -->
|
|
||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion toggled" id="accordionSidebar">
|
|
||||||
<!-- Sidebar - Brand -->
|
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="https://hubdrive.space">
|
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
|
||||||
<i class="fas fa-laugh-wink"></i>
|
|
||||||
</div>
|
|
||||||
<div class="sidebar-brand-text mx-3">HubDrive</div>
|
|
||||||
</a>
|
|
||||||
<!-- Divider -->
|
|
||||||
|
|
||||||
<hr class="sidebar-divider my-0">
|
|
||||||
<!-- Nav Item - Dashboard -->
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="/sign">
|
|
||||||
<i class="fas fa-fw fa-sign-in-alt"></i>
|
|
||||||
<span>Login</span></a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="/page/privacy-policy">
|
|
||||||
<i class="fas fa-fw fa-user-secret"></i>
|
|
||||||
<span>Privacy Policy</span></a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="/page/terms-conditions">
|
|
||||||
<i class="fas fa-fw fa-align-justify"></i>
|
|
||||||
<span>Terms & Conditions</span></a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="/page/copyright-policy">
|
|
||||||
<i class="fas fa-fw fa-copyright"></i>
|
|
||||||
<span>Copyright Policy</span></a>
|
|
||||||
</li>
|
|
||||||
<!-- Divider -->
|
|
||||||
<hr class="sidebar-divider d-none d-md-block">
|
|
||||||
<!-- Sidebar Toggler (Sidebar) -->
|
|
||||||
<div class="text-center d-none d-md-inline">
|
|
||||||
<button class="rounded-circle border-0" id="sidebarToggle"></button>
|
|
||||||
</div>
|
|
||||||
</ul>
|
|
||||||
<!-- End of Sidebar -->
|
|
||||||
<!-- Content Wrapper -->
|
|
||||||
<div id="content-wrapper" class="d-flex flex-column">
|
|
||||||
<!-- Main Content -->
|
|
||||||
<div id="content">
|
|
||||||
<!-- Topbar -->
|
|
||||||
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
|
|
||||||
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
|
|
||||||
<i class="fa fa-bars"></i>
|
|
||||||
</button>
|
|
||||||
<ul class="navbar-nav ml-auto">
|
|
||||||
<div style="display: flex; justify-content: center; align-items: center;margin-right: -27rem;">
|
|
||||||
<a href="/" style="display: flex; align-items: center;text-decoration: none;">
|
|
||||||
<i class="fab fa-artstation" style="font-size: 50px; color: #5090F0;"></i>
|
|
||||||
<img class="img-profile" src="https://catimages.org/images/2024/04/23/1b1be1f6932ecf270.png" style="width: 25%; filter: invert(1); margin-left: 5px;">
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="topbar-divider d-none d-sm-block" style="margin-left: -2px;"></div>
|
|
||||||
</ul>
|
|
||||||
</nav> <style>
|
|
||||||
.btn.btn-primary.btn-user1 {
|
|
||||||
background-color: #a10dff;
|
|
||||||
border-color: #ba50fd;
|
|
||||||
}
|
|
||||||
.btn-primary.btn-user1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #b542ff;
|
|
||||||
}
|
|
||||||
.btn-primary.btn-user1:not(:disabled):not(.disabled):active, .btn-primary.btn-user1:not(:disabled):not(.disabled).active, .show > .btn-primary.btn-user1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #8102d1;
|
|
||||||
border-color:#ba50fd;
|
|
||||||
}
|
|
||||||
.btn-primary.btn-user1:focus, .btn-primary.btn-user1.focus {
|
|
||||||
box-shadow: 0 0 0 .25rem rgba(151, 51, 215, .5);
|
|
||||||
}
|
|
||||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
|
|
||||||
color: rgb(255 255 255);
|
|
||||||
background-color: rgb(13 60 125);
|
|
||||||
border-color: rgb(13 60 125);
|
|
||||||
}
|
|
||||||
.nav-tabs {
|
|
||||||
border-bottom: rgb(49, 49, 49);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<!-- http://caniuse.com/#feat=referrer-policy -->
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
<meta name="referrer" content="no-referrer" />
|
|
||||||
<!-- For Edge and Safari -->
|
|
||||||
<meta name="referrer" content="none" />
|
|
||||||
<script>(function(s){s.dataset.zone='9824726',s.src='https://llvpn.com/tag.min.js'})([document.documentElement, document.body].filter(Boolean).pop().appendChild(document.createElement('script')))</script>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div id="down-id" hidden="true">2243124026</div>
|
|
||||||
<!-- Content Row -->
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-lg-9 col-md-9 mb-4">
|
|
||||||
<div class="card shadow mb-4">
|
|
||||||
|
|
||||||
<div class="card-header py-3" style="line-break: auto; word-break: break-all; white-space: normal;">
|
|
||||||
<h6 class="m-0 font-weight-bold text-primary" align="center" style="font-size: 1.2rem;">Back.to.the.Future.Part.III.1990.1080p.BluRay.Hindi.English.DD.5.1.x264.ESubs.Untouched.mkv</h6>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="table-responsive">
|
|
||||||
<table class="table table-borderless" id="dataTable" width="100%" cellspacing="0" style="line-break: auto; word-break: initial; white-space: initial;">
|
|
||||||
<tbody>
|
|
||||||
<tr style="border-bottom: 2px solid rgb(63 63 63); line-height: 1.8em;">
|
|
||||||
<td>File Size</td>
|
|
||||||
<td align="right">3.77 GB</td>
|
|
||||||
</tr>
|
|
||||||
<tr style="border-bottom: 2px solid rgb(63 63 63); line-height: 1.8em;">
|
|
||||||
<td>File Type</td>
|
|
||||||
<td align="right">video/x-matroska</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>File Owner</td>
|
|
||||||
<td align="right">dhub 2</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<div class="text" align="center">
|
|
||||||
<form action="/gsign.php" method="GET">
|
|
||||||
<input name="r" value="https://hubdrive.space/file/2243124026" type="hidden">
|
|
||||||
<button class="btn btn-primary btn-user" type="submit"><i class="fa fa-sign-in fa-lg"></i> GDrive [Login]</button>
|
|
||||||
<!--button class="btn btn-primary btn-user" type="submit"><i class="fa fa-sign-in fa-lg"></i> Download [3.77 GB] [Login]</button-->
|
|
||||||
</form>
|
|
||||||
<div>
|
|
||||||
<button onclick="myDirectDownload()" id="dl-down" type="button" class="btn btn-primary btn-user1" style="margin:10px;"><i class="fas fa-file-download fa-lg"></i> Direct/Instant Download</button>
|
|
||||||
<div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text" align="left">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" href="#" onclick="copyLink()" role="tab" data-toggle="tab"><i class="fa fa-copy"></i> Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<!-- Tab panes -->
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body">
|
|
||||||
<p id="copyText" style="text-align:left; color:rgb(116 174 255);">https://hubdrive.space/file/2243124026</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function copyLink() {
|
|
||||||
var copyText = document.getElementById("copyText");
|
|
||||||
var textArea = document.createElement("textarea");
|
|
||||||
textArea.value = copyText.textContent;
|
|
||||||
document.body.appendChild(textArea);
|
|
||||||
textArea.select();
|
|
||||||
document.execCommand("copy");
|
|
||||||
document.body.removeChild(textArea);
|
|
||||||
|
|
||||||
Swal.fire({
|
|
||||||
title: "Link Copied",
|
|
||||||
icon: "success",
|
|
||||||
showConfirmButton: false,
|
|
||||||
timer: 1500
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.container-fluid -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<noscript>
|
|
||||||
alert("please enable JavaScript in your browser");
|
|
||||||
</noscript>
|
|
||||||
<script>
|
|
||||||
function myDownloadV2() {
|
|
||||||
var e = document.getElementById("down-id").innerHTML;
|
|
||||||
document.getElementById("down").innerHTML = '<i class="fa fa-spinner fa-spin"></i> Downloading.. !',
|
|
||||||
document.getElementById("down").disabled = !0;
|
|
||||||
var b = window.setTimeout(function() {
|
|
||||||
document.getElementById("down").innerHTML = '<i class="fa fa-cog fa-spin fa-lg"></i> Generating Link.. !'
|
|
||||||
}, 6e3);
|
|
||||||
|
|
||||||
window.setTimeout(function() {
|
|
||||||
$.ajax({
|
|
||||||
url: "/ajax.php?ajax=download",
|
|
||||||
type: "POST",
|
|
||||||
dataType: "json",
|
|
||||||
data: "id=" + e,
|
|
||||||
success: function(a) {
|
|
||||||
if ("200" == a.code) {
|
|
||||||
window.clearTimeout(b);
|
|
||||||
localStorage.setItem("dls", JSON.stringify(a?.data));
|
|
||||||
// window.location.href = a.file;
|
|
||||||
window.location.href = "/newdl";
|
|
||||||
|
|
||||||
} else swal.fire("Code : " + a.code, "Message : " + a.file, "error");
|
|
||||||
},
|
|
||||||
error: function(e, a, t) {
|
|
||||||
alert("Status: " + a + "\n" + t)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}, 5000);
|
|
||||||
}
|
|
||||||
|
|
||||||
function myDirectDownload() {
|
|
||||||
var a = document.getElementById("down-id").innerHTML;
|
|
||||||
document.getElementById("dl-down").innerHTML = '<i class="fa fa-spinner fa-spin"></i> Generating Link ...';
|
|
||||||
document.getElementById("dl-down").disabled = !0;
|
|
||||||
|
|
||||||
var b = window.setTimeout(function() {
|
|
||||||
document.getElementById("dl-down").innerHTML = '<i class="fa fa-cog fa-spin fa-lg"></i>Downloading .. !';
|
|
||||||
}, 6e3);
|
|
||||||
|
|
||||||
window.setTimeout(function() {
|
|
||||||
$.ajax({
|
|
||||||
url: "/ajax.php?ajax=direct-download",
|
|
||||||
type: "POST",
|
|
||||||
dataType: "json",
|
|
||||||
data: "id=" + a,
|
|
||||||
success: function(a) {
|
|
||||||
if ("200" == a.code) {
|
|
||||||
window.clearTimeout(b);
|
|
||||||
localStorage.setItem("dls", JSON.stringify(a?.data));
|
|
||||||
// window.location.href = a.file;
|
|
||||||
window.location.href = "/newdl";
|
|
||||||
|
|
||||||
} else swal.fire("Code : " + a.code, "Message : " + a.file, "error");
|
|
||||||
},
|
|
||||||
error: function(a, b, c) {
|
|
||||||
alert("Status: " + b + "\n" + c);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, 5000)
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<main class="min-h-screen flex flex-col" >
|
|
||||||
<header class="container mx-auto px-4 py-4 lg:text-center lg:flex lg:items-center lg:justify-between">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
||||||
<script src='https://kit.fontawesome.com/a076d05399.js' crossorigin='anonymous'></script>
|
|
||||||
<!--
|
|
||||||
<footer class="sticky-footer bg-white">
|
|
||||||
<div class="container my-auto">
|
|
||||||
<div class="copyright text-center my-auto">
|
|
||||||
<span>Copyright © HubDrive 2026</span>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<div class="copyright text-center my-auto" style="font-size: 15px; font-weight: 600;">
|
|
||||||
<span><a href="/page/privacy-policy"><i class="fa fa-bullhorn text-danger"></i> Privacy Policy</a> | <a href="/page/terms-conditions"><i class="fa fa-book text-info"></i> Terms & Conditions</a> | <a href="/page/copyright-policy"><i class="fa fa-copyright text-warning"></i> Copyright Policy</a> | <a href="/page/contact-us"><i class="fa fa-envelope text-success"></i> Contact Us</a></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
-->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- End of Content Wrapper -->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- End of Page Wrapper -->
|
|
||||||
|
|
||||||
<!-- Scroll to Top Button-->
|
|
||||||
<a class="scroll-to-top rounded" href="#page-top">
|
|
||||||
<i class="fas fa-angle-up"></i>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<!-- Logout Modal-->
|
|
||||||
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
|
||||||
<div class="modal-dialog" role="document">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
|
|
||||||
<h5 class="modal-title" id="exampleModalLabel">Are you sure?</h5>
|
|
||||||
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
|
|
||||||
<span aria-hidden="true">×</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
|
|
||||||
<a class="btn btn-primary" href="/login.php?action=logout">Logout</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Bootstrap core JavaScript-->
|
|
||||||
<script src="/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Core plugin JavaScript-->
|
|
||||||
<script src="/assets/vendor/jquery-easing/jquery.easing.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Custom scripts for all pages-->
|
|
||||||
<script src="/assets/js/sb-admin-2.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Page level plugins -->
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,506 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta name='admaven-placement' content=BrHCGpjC9>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
<meta name="referrer" content="no-referrer"/>
|
|
||||||
<meta name="referrer" content="none"/>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<meta property="og:image" content="/assets/img/favicon.png">
|
|
||||||
<meta property="og:type" content="website"/>
|
|
||||||
<meta name="author" content="HubDrive">
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
<title>HubDrive | Avatar (2009) Extended Collector's Edition IMAX 2160p UHD BluRay REMUX DV HDR 10bit HEVC [Hindi DDP 5.1 + English DTS-HD MA 5.1] x265 (LM-LUMiX) 4KHDHUB.[Com].mkv</title>
|
|
||||||
<!-- Custom fonts for this template-->
|
|
||||||
<script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script>
|
|
||||||
<script src="https://unpkg.com/sweetalert@2.1.2/dist/sweetalert.min.js"></script>
|
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
|
|
||||||
<script async="async" type="text/javascript" src="/assets/js/neodrivev2.5.min.js?v=3"></script>
|
|
||||||
<script src="https://use.fontawesome.com/746f656c7a.js"></script>
|
|
||||||
<link href="/assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
|
|
||||||
<link href="/assets/css/sb-admin-2.css" rel="stylesheet">
|
|
||||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
||||||
<link rel="icon" href="/assets/img/favicon.png">
|
|
||||||
<style>
|
|
||||||
h4, .h4 {
|
|
||||||
font-size: 1.4rem;
|
|
||||||
}
|
|
||||||
.table {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
#sticky-footer2 {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
.Blink {
|
|
||||||
animation: blinker 0.3s cubic-bezier(.5, 0, 1, 1) infinite alternate;
|
|
||||||
}
|
|
||||||
@keyframes blinker {
|
|
||||||
from { opacity: 1; }
|
|
||||||
to { opacity: 0; }
|
|
||||||
}
|
|
||||||
.sidebar .sidebar-brand {
|
|
||||||
font-size: .65rem;
|
|
||||||
}
|
|
||||||
.sidebar .nav-item .nav-link span {
|
|
||||||
color: #fff !important;
|
|
||||||
}
|
|
||||||
.sidebar .sidebar-brand i {
|
|
||||||
color: #fff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bg-white {
|
|
||||||
background-color: #171717!important;
|
|
||||||
}
|
|
||||||
.container, .container-fluid {
|
|
||||||
background-color: transparent !IMPORTANT;
|
|
||||||
}
|
|
||||||
.card-header {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
#wrapper #content-wrapper #content {
|
|
||||||
background-color: transparent !IMPORTANT;
|
|
||||||
}
|
|
||||||
#wrapper #content-wrapper {
|
|
||||||
background-color: transparent !important;
|
|
||||||
}
|
|
||||||
.text-primary {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
.card-body {
|
|
||||||
background-color: transparent !IMPORTANT;
|
|
||||||
}
|
|
||||||
.card {
|
|
||||||
background-color: transparent;
|
|
||||||
border: 2px solid rgb(49, 49, 49);
|
|
||||||
}
|
|
||||||
.table {
|
|
||||||
color: rgb(217, 217, 217);
|
|
||||||
}
|
|
||||||
.bg-gradient-primary {
|
|
||||||
background-image: linear-gradient(180deg,rgb(0, 28, 67)10%,rgb(0, 28, 67) 100%);
|
|
||||||
}
|
|
||||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
|
|
||||||
color: rgb(130, 182, 255);
|
|
||||||
background-color: rgb(0, 28, 67);
|
|
||||||
}
|
|
||||||
footer.sticky-footer {
|
|
||||||
border: 2px solid rgb(49, 49, 49);
|
|
||||||
}
|
|
||||||
.navbar {
|
|
||||||
border-bottom: 2px solid hsl(213deg 69.03% 35.03% / 68%);
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.btn-primary {
|
|
||||||
background-color: rgb(0 63 151);
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
.text-gray-800 {
|
|
||||||
color: rgb(130, 182, 255);
|
|
||||||
}
|
|
||||||
.card-file{
|
|
||||||
color: rgb(217, 217, 217);
|
|
||||||
}
|
|
||||||
.h5 {
|
|
||||||
color:rgb(130, 182, 255) !Important;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
border: 1px solid rgb(255 255 255 / 23%);
|
|
||||||
}
|
|
||||||
.text-gray-400 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-500 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-600 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-700 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-800 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-gray-900 {
|
|
||||||
color: rgb(130, 182, 255) !important;
|
|
||||||
}
|
|
||||||
.dropdown-menu {
|
|
||||||
background-color: #171717;
|
|
||||||
border: 2px solid rgb(49, 49, 49);
|
|
||||||
}
|
|
||||||
.form-control {
|
|
||||||
background-color: rgb(239 239 239);
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: #171717;
|
|
||||||
}
|
|
||||||
.btn-info {
|
|
||||||
border-radius: 0.25rem !important;
|
|
||||||
background-color: #1a73e8 !important;
|
|
||||||
border-color: #1a73e8 !important;
|
|
||||||
}
|
|
||||||
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
|
|
||||||
background-color: #093d94 !important;
|
|
||||||
|
|
||||||
}
|
|
||||||
.btn-info:hover {
|
|
||||||
background-color: #093d94 !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Google tag (gtag.js) -->
|
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8QTNRD0R4M"></script>
|
|
||||||
<script>
|
|
||||||
window.dataLayer = window.dataLayer || [];
|
|
||||||
function gtag(){dataLayer.push(arguments);}
|
|
||||||
gtag('js', new Date());
|
|
||||||
|
|
||||||
gtag('config', 'G-8QTNRD0R4M');
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body id="page-top">
|
|
||||||
|
|
||||||
<!-- Page Wrapper -->
|
|
||||||
<div id="wrapper">
|
|
||||||
<!-- Sidebar -->
|
|
||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion toggled" id="accordionSidebar">
|
|
||||||
<!-- Sidebar - Brand -->
|
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="https://hubdrive.space">
|
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
|
||||||
<i class="fas fa-laugh-wink"></i>
|
|
||||||
</div>
|
|
||||||
<div class="sidebar-brand-text mx-3">HubDrive</div>
|
|
||||||
</a>
|
|
||||||
<!-- Divider -->
|
|
||||||
|
|
||||||
<hr class="sidebar-divider my-0">
|
|
||||||
<!-- Nav Item - Dashboard -->
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="/sign">
|
|
||||||
<i class="fas fa-fw fa-sign-in-alt"></i>
|
|
||||||
<span>Login</span></a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="/page/privacy-policy">
|
|
||||||
<i class="fas fa-fw fa-user-secret"></i>
|
|
||||||
<span>Privacy Policy</span></a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="/page/terms-conditions">
|
|
||||||
<i class="fas fa-fw fa-align-justify"></i>
|
|
||||||
<span>Terms & Conditions</span></a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="/page/copyright-policy">
|
|
||||||
<i class="fas fa-fw fa-copyright"></i>
|
|
||||||
<span>Copyright Policy</span></a>
|
|
||||||
</li>
|
|
||||||
<!-- Divider -->
|
|
||||||
<hr class="sidebar-divider d-none d-md-block">
|
|
||||||
<!-- Sidebar Toggler (Sidebar) -->
|
|
||||||
<div class="text-center d-none d-md-inline">
|
|
||||||
<button class="rounded-circle border-0" id="sidebarToggle"></button>
|
|
||||||
</div>
|
|
||||||
</ul>
|
|
||||||
<!-- End of Sidebar -->
|
|
||||||
<!-- Content Wrapper -->
|
|
||||||
<div id="content-wrapper" class="d-flex flex-column">
|
|
||||||
<!-- Main Content -->
|
|
||||||
<div id="content">
|
|
||||||
<!-- Topbar -->
|
|
||||||
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
|
|
||||||
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
|
|
||||||
<i class="fa fa-bars"></i>
|
|
||||||
</button>
|
|
||||||
<ul class="navbar-nav ml-auto">
|
|
||||||
<div style="display: flex; justify-content: center; align-items: center;margin-right: -27rem;">
|
|
||||||
<a href="/" style="display: flex; align-items: center;text-decoration: none;">
|
|
||||||
<i class="fab fa-artstation" style="font-size: 50px; color: #5090F0;"></i>
|
|
||||||
<img class="img-profile" src="https://catimages.org/images/2024/04/23/1b1be1f6932ecf270.png" style="width: 25%; filter: invert(1); margin-left: 5px;">
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="topbar-divider d-none d-sm-block" style="margin-left: -2px;"></div>
|
|
||||||
</ul>
|
|
||||||
</nav> <style>
|
|
||||||
.btn.btn-primary.btn-user1 {
|
|
||||||
background-color: #a10dff;
|
|
||||||
border-color: #ba50fd;
|
|
||||||
}
|
|
||||||
.btn-primary.btn-user1:hover {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #b542ff;
|
|
||||||
}
|
|
||||||
.btn-primary.btn-user1:not(:disabled):not(.disabled):active, .btn-primary.btn-user1:not(:disabled):not(.disabled).active, .show > .btn-primary.btn-user1.dropdown-toggle {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #8102d1;
|
|
||||||
border-color:#ba50fd;
|
|
||||||
}
|
|
||||||
.btn-primary.btn-user1:focus, .btn-primary.btn-user1.focus {
|
|
||||||
box-shadow: 0 0 0 .25rem rgba(151, 51, 215, .5);
|
|
||||||
}
|
|
||||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
|
|
||||||
color: rgb(255 255 255);
|
|
||||||
background-color: rgb(13 60 125);
|
|
||||||
border-color: rgb(13 60 125);
|
|
||||||
}
|
|
||||||
.nav-tabs {
|
|
||||||
border-bottom: rgb(49, 49, 49);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<!-- http://caniuse.com/#feat=referrer-policy -->
|
|
||||||
<meta name="robots" content="noindex, nofollow">
|
|
||||||
<meta name="googlebot" content="noindex,nofollow">
|
|
||||||
<meta name="referrer" content="no-referrer" />
|
|
||||||
<!-- For Edge and Safari -->
|
|
||||||
<meta name="referrer" content="none" />
|
|
||||||
<script>(s=>{s.dataset.zone='9824726',s.src='https://bvtpk.com/tag.min.js'})([document.documentElement, document.body].filter(Boolean).pop().appendChild(document.createElement('script')))</script>
|
|
||||||
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div id="down-id" hidden="true">7283903021</div>
|
|
||||||
<!-- Content Row -->
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-lg-9 col-md-9 mb-4">
|
|
||||||
<div class="card shadow mb-4">
|
|
||||||
|
|
||||||
<div class="card-header py-3" style="line-break: auto; word-break: break-all; white-space: normal;">
|
|
||||||
<h6 class="m-0 font-weight-bold text-primary" align="center" style="font-size: 1.2rem;">Avatar (2009) Extended Collector's Edition IMAX 2160p UHD BluRay REMUX DV HDR 10bit HEVC [Hindi DDP 5.1 + English DTS-HD MA 5.1] x265 (LM-LUMiX) 4KHDHUB.[Com].mkv</h6>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="table-responsive">
|
|
||||||
<table class="table table-borderless" id="dataTable" width="100%" cellspacing="0" style="line-break: auto; word-break: initial; white-space: initial;">
|
|
||||||
<tbody>
|
|
||||||
<tr style="border-bottom: 2px solid rgb(63 63 63); line-height: 1.8em;">
|
|
||||||
<td>File Size</td>
|
|
||||||
<td align="right">60.21 GB</td>
|
|
||||||
</tr>
|
|
||||||
<tr style="border-bottom: 2px solid rgb(63 63 63); line-height: 1.8em;">
|
|
||||||
<td>File Type</td>
|
|
||||||
<td align="right">video/x-matroska</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>File Owner</td>
|
|
||||||
<td align="right">HubCloud User</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<div class="text" align="center">
|
|
||||||
<form action="/gsign.php" method="GET">
|
|
||||||
<input name="r" value="https://hubdrive.space/file/7283903021" type="hidden">
|
|
||||||
<button class="btn btn-primary btn-user" type="submit"><i class="fa fa-sign-in fa-lg"></i> GDrive [Login]</button>
|
|
||||||
<!--button class="btn btn-primary btn-user" type="submit"><i class="fa fa-sign-in fa-lg"></i> Download [60.21 GB] [Login]</button-->
|
|
||||||
</form>
|
|
||||||
<div>
|
|
||||||
<button onclick="myDirectDownload()" id="dl-down" type="button" class="btn btn-primary btn-user1" style="margin:10px;"><i class="fas fa-file-download fa-lg"></i> Direct/Instant Download</button>
|
|
||||||
<div>
|
|
||||||
|
|
||||||
<h5><a class="btn btn-primary btn-user btn-success1 m-1" href="https://hubcloud.fyi/drive/1qepetxqp4nhxxq" target="_blank" rel="noreferrer nofollow"><i class="fab fa-artstation"></i> [HubCloud Server]</a></h5>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br><br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text" align="left">
|
|
||||||
<ul class="nav nav-tabs" role="tablist">
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link active" href="#" onclick="copyLink()" role="tab" data-toggle="tab"><i class="fa fa-copy"></i> Copy Link</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<!-- Tab panes -->
|
|
||||||
<div class="tab-content">
|
|
||||||
<div role="tabpanel" class="tab-pane fade show active" id="link">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-body">
|
|
||||||
<p id="copyText" style="text-align:left; color:rgb(116 174 255);">https://hubdrive.space/file/7283903021</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function copyLink() {
|
|
||||||
var copyText = document.getElementById("copyText");
|
|
||||||
var textArea = document.createElement("textarea");
|
|
||||||
textArea.value = copyText.textContent;
|
|
||||||
document.body.appendChild(textArea);
|
|
||||||
textArea.select();
|
|
||||||
document.execCommand("copy");
|
|
||||||
document.body.removeChild(textArea);
|
|
||||||
|
|
||||||
Swal.fire({
|
|
||||||
title: "Link Copied",
|
|
||||||
icon: "success",
|
|
||||||
showConfirmButton: false,
|
|
||||||
timer: 1500
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.container-fluid -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<noscript>
|
|
||||||
alert("please enable JavaScript in your browser");
|
|
||||||
</noscript>
|
|
||||||
<script>
|
|
||||||
function myDownloadV2() {
|
|
||||||
var e = document.getElementById("down-id").innerHTML;
|
|
||||||
document.getElementById("down").innerHTML = '<i class="fa fa-spinner fa-spin"></i> Downloading.. !',
|
|
||||||
document.getElementById("down").disabled = !0;
|
|
||||||
var b = window.setTimeout(function() {
|
|
||||||
document.getElementById("down").innerHTML = '<i class="fa fa-cog fa-spin fa-lg"></i> Generating Link.. !'
|
|
||||||
}, 6e3);
|
|
||||||
|
|
||||||
window.setTimeout(function() {
|
|
||||||
$.ajax({
|
|
||||||
url: "/ajax.php?ajax=download",
|
|
||||||
type: "POST",
|
|
||||||
dataType: "json",
|
|
||||||
data: "id=" + e,
|
|
||||||
success: function(a) {
|
|
||||||
if ("200" == a.code) {
|
|
||||||
window.clearTimeout(b);
|
|
||||||
localStorage.setItem("dls", JSON.stringify(a?.data));
|
|
||||||
// window.location.href = a.file;
|
|
||||||
window.location.href = "/newdl";
|
|
||||||
|
|
||||||
} else swal.fire("Code : " + a.code, "Message : " + a.file, "error");
|
|
||||||
},
|
|
||||||
error: function(e, a, t) {
|
|
||||||
alert("Status: " + a + "\n" + t)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}, 5000);
|
|
||||||
}
|
|
||||||
|
|
||||||
function myDirectDownload() {
|
|
||||||
var a = document.getElementById("down-id").innerHTML;
|
|
||||||
document.getElementById("dl-down").innerHTML = '<i class="fa fa-spinner fa-spin"></i> Generating Link ...';
|
|
||||||
document.getElementById("dl-down").disabled = !0;
|
|
||||||
|
|
||||||
var b = window.setTimeout(function() {
|
|
||||||
document.getElementById("dl-down").innerHTML = '<i class="fa fa-cog fa-spin fa-lg"></i>Downloading .. !';
|
|
||||||
}, 6e3);
|
|
||||||
|
|
||||||
window.setTimeout(function() {
|
|
||||||
$.ajax({
|
|
||||||
url: "/ajax.php?ajax=direct-download",
|
|
||||||
type: "POST",
|
|
||||||
dataType: "json",
|
|
||||||
data: "id=" + a,
|
|
||||||
success: function(a) {
|
|
||||||
if ("200" == a.code) {
|
|
||||||
window.clearTimeout(b);
|
|
||||||
localStorage.setItem("dls", JSON.stringify(a?.data));
|
|
||||||
// window.location.href = a.file;
|
|
||||||
window.location.href = "/newdl";
|
|
||||||
|
|
||||||
} else swal.fire("Code : " + a.code, "Message : " + a.file, "error");
|
|
||||||
},
|
|
||||||
error: function(a, b, c) {
|
|
||||||
alert("Status: " + b + "\n" + c);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, 5000)
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<main class="min-h-screen flex flex-col" >
|
|
||||||
<header class="container mx-auto px-4 py-4 lg:text-center lg:flex lg:items-center lg:justify-between">
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
||||||
<script src='https://kit.fontawesome.com/a076d05399.js' crossorigin='anonymous'></script>
|
|
||||||
<!--
|
|
||||||
<footer class="sticky-footer bg-white">
|
|
||||||
<div class="container my-auto">
|
|
||||||
<div class="copyright text-center my-auto">
|
|
||||||
<span>Copyright © HubDrive 2026</span>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<div class="copyright text-center my-auto" style="font-size: 15px; font-weight: 600;">
|
|
||||||
<span><a href="/page/privacy-policy"><i class="fa fa-bullhorn text-danger"></i> Privacy Policy</a> | <a href="/page/terms-conditions"><i class="fa fa-book text-info"></i> Terms & Conditions</a> | <a href="/page/copyright-policy"><i class="fa fa-copyright text-warning"></i> Copyright Policy</a> | <a href="/page/contact-us"><i class="fa fa-envelope text-success"></i> Contact Us</a></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</footer>
|
|
||||||
-->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- End of Content Wrapper -->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- End of Page Wrapper -->
|
|
||||||
|
|
||||||
<!-- Scroll to Top Button-->
|
|
||||||
<a class="scroll-to-top rounded" href="#page-top">
|
|
||||||
<i class="fas fa-angle-up"></i>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<!-- Logout Modal-->
|
|
||||||
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
|
||||||
<div class="modal-dialog" role="document">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
|
|
||||||
<h5 class="modal-title" id="exampleModalLabel">Are you sure?</h5>
|
|
||||||
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
|
|
||||||
<span aria-hidden="true">×</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
|
|
||||||
<a class="btn btn-primary" href="/login.php?action=logout">Logout</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Bootstrap core JavaScript-->
|
|
||||||
<script src="/assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Core plugin JavaScript-->
|
|
||||||
<script src="/assets/vendor/jquery-easing/jquery.easing.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Custom scripts for all pages-->
|
|
||||||
<script src="/assets/js/sb-admin-2.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Page level plugins -->
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
#EXTM3U
|
|
||||||
|
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="Deutsch",LANGUAGE="de",AUTOSELECT=NO,DEFAULT=NO,CHANNELS="2",URI="index-f1-a1.m3u8"
|
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="English",LANGUAGE="en",AUTOSELECT=NO,DEFAULT=NO,CHANNELS="2",URI="index-f1-a2.m3u8"
|
|
||||||
|
|
||||||
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=874807,RESOLUTION=1280x640,FRAME-RATE=24.000,CODECS="avc1.64001f,mp4a.40.2",VIDEO-RANGE=SDR,AUDIO="audio0"
|
|
||||||
index-f1-v1.m3u8
|
|
||||||
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1965310,RESOLUTION=1920x960,FRAME-RATE=24.000,CODECS="avc1.640028,mp4a.40.2",VIDEO-RANGE=SDR,AUDIO="audio0"
|
|
||||||
index-f2-v1.m3u8
|
|
||||||
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
1306b9d3b781eef66a55e4504000e07119f8d77c9fb1f89a7d3cbc0fbca0c1b9c7ce72ab6465c6c1e7d6475dd033af4a298c02235926bc14f75e2401198af0b909dc851db4662074e3677e743ad0510fce06a4843070e1485ef79cceba75362f047a7193eeb4bd62728e651af2a2d543ffb04abfccf844cb9a0949c2428e5a0fac3d232b035fd20d57de4ec37de3b08440dfad46b59e02721f93162a8063aa38a6904dab237dcc0292abd3fda7fbe218b35a5eb294a484674980fe593bbd9b4400403223392650acaaa3cf494836b51daf94143ac0379f8d60811127baa8aca56b9ec34be8c9ef540abc0d553d82a97581ab8a2ed109d8f66de565e4042d2644403e605f0c70a7a04e40ddc7856fdc0bb0686bc868c6473e6d33a5016d4033453f27f8e8a63f78a1463df075bc3d040338e1c225f379b44d1b83c83480fb515c7b80c1a9f7d8014bba2cb1c5c02ce3dd3812b698c5ab25d44821788a8e15fc2291a04ff1f3ef2d2c003c7a405483cb5b19ec6a626b979845ce5ac39335c9b49d4813b454132eafd87c2852bc3382d5f53cec3a4ac6f4153996f059fd4df79e98e0a60cd5298517b0f0eb5df122742619f86886098b838751617d4f423d8e636500348c71e73f6f249aca22567ccbb923e7acff0236726e13cdbac46a907806c5a703ef04b7a52b4b2eceb8611ca28cc5acd70358324aa18e2963492b3fc6de6effd49f0fd5513c5316c5ebb38e060d912388678e891f1cff860eb8f8f3edbbafb2b8a855707c5d1814f7a9a514b83048f04b07a8dd0ed19f7fd432609b6c6ff9820d99c9a5ab5399642d369b59ed0bab9015cd412712593c3d5070ccfd8b65ed8b2515b5494cf927ad4dfb31d850d21af7c39df5c8aa54b89d788039907902be1e7ccdc9f63e0230b3f4df152c5ce0b56d03930cc55b748b510707639d91719be3a88be337c7103395840c962a4f31cb3a289ce70d14a18b86f7eab6723d88276ca0b6ef6fdc845f28e561d164cfc402e27ce619e9028301834372d80bb8706b9730df03b4d6cb30a3f90bdb4c2900122a202c3eec76195a93ef5d678af9480663d6a705eb62fd9dd853b07181fdc8f23714774273f8e8f4726b94b1897ad392da908b3143b2682d9c8bba3c419ce12284269a382ab8793125dfa1cb03d929aeb8651b68e7d3d3702f6c35e9dea31bc294685b47fe2009f5b3ad9174eda6167d2c03e1eebe8d115fca351ed24eaa21847fe7aad79bfa5e426d76ddc5e6d10b9b579f9a985a19fe3ac02c25c82a105c16dc77a65317cc4f120ca83c8738318b1173cac41dd5b142d303641c231c84c8db33079e67064a7f25c1f76a64fe35db550bfd63ea1b52c893a725c935a60e40bab137f1a24e854f48df2f736e165c0ffac5a42cdc9d2199949e3e6b7beba1c63980a7459918a2f8c0507fef04fd9b8ca9ed265db8e79e315ebf1c691d30f13a3fcf62a3d0189c280b873f6e33292b2b5783f124dbf1e08aa8581216d537289fb176130682bad25403429f71139791ee374d27f2d328c03ca9230cac759842ef07cef9a77484e31d817c85b44c503ff9dc8b28683694f55586145dd37e83ac07fd0c60ad20ab9b735ef25e3785e68fea281b756bdb41f0d0ace2307b376b370036ea4129a363c9775a2c726d16166cd6a60319e176a5e3efaee7ef2d4bb3381c524b6d1cc04d8cc3ec83feb7edb0963da2364bc8ad9a7ed68be852801c578dd918cb8c10d6ad2fb26b627ce0bc97f58ae9432d61dccfdcb069b97f11e06184b0e30b15bfe789cb55a079eb6af22231774e9bcafc484249e540a2c9f3b2b0d5215869ae4dcc2e9fbf0f94b2c7158b474b2e428a9edba859759d74268ac5a89fa1277aa57da271e6867e597d929dd032448b87d9a4fb07e0da85e72f88fcc9223fa170555dc8a1275d63c17055484e05f1cb2dfaa6ff627cc2d323e7c2c94d595737136b8c39533506770e59ee7073e2311ef8c07f4852ad2944f4c60a3c74a650af3a95b2ea607921459d0cd0d458b21ca55b5e98c88fe191b5cea056a91ef6df0c73649bd0ff5138fb11b64a6ee657ebc9890a613a21f043e85ac7ac4a1fe93dd1299bbd33359f53f452830d666528de1163a0dbdc577e35e29c9956d466e798ea04114a94f602167d051d3b852f0716024f9d4002b52709709ac101b0295706dc1a700817b58023304a73ecdaa427b6bd03dd0dc2d8a8e3ee651714f38490fdc0e4bb9d2e9216af776ed80e5b4c1486b3d1518c4a5e60189096ce0c5ebea114dc241830addcd83d50cd21b610cde607f2aa34c9e0f801efcbcb8e5cd3e02b8893eb1c1d74b35e7a29d28b6992bacd9f32e68d16976fa6ec00ac1ace6c3f3fe37c4df63da295c4741497f3c75896c3cdfddfb50125522e0cf24d4ecfc283d5356edb7a3e23fbd2e546c7d1c6ea5f19e34ae033417562402fdf442687887b431dc4cca9c4374b7bcaef879b3d7c351bf97d0820b606297bc1945057b6f1bba9c4add3263e89422254efaaf5217675e66103110f11bb63c956a3f15d2b867983bdf9ef0f7b1feebce14b0e32b76aaad2af336d512ef469aee64742a9c3e73215263e9dad5e82aebfaccc4ffd045dcadf98338aaacec7a1da9710e327b99e94b7a060915cc4c956ac6d576159a6b40f5e6df367ac2a4f20da109a9a6055d09c4886a85eb5fd0efe3740e744fd52acdd4a9e153bdd2f0bf5ff8e97391675c2774bf2f7daf2f4ea11ec2ed5ba89a5e5405b0f9c794036c21d08c528f96c15e2298c33ab29303d99f69d577b9556e87a1b56dbe6ac48b33f350edd34fdaefd5c10aa667cf480a83d9c82c065d77849996ca018d4b00b91ae6f5139e2202bf7ce776c43e9f6084473f8348caa749b2f99753bd1954b9093c4b51901c5a8cbb685d75b170428d5a3a0340ec733674d29ad69422ad1231ac2c55dc57947d5357d7bdf1b27c52fb232e32201082b21e890c8e365ec246f2e5b313376605ba4135daaa386601ca4316390e86f23c4da35e1396d683fcc46d6c95dd2ccbb851851f7b83b61607f37c9d0b245bb7d817888cefa3468709ae34c2fdd4f4a039099fda4ea38a67af0334700dccbfabe9a103bd8ef40f0ba46140e7f78bc13b97fb3194c5ce11aa00d4ed90dfd8eb68176df5776ae77da621d1301df5f8974fe12ffb775bfb4c1968267d90e80fb1ca15660802208d64b2573
|
cf52bd4d684372a57a34292be9e7131d49f11a7530b423d460fe5c36ee50ec01eaf1270cff5b329e6799abc92a222e1e4a9f84d580010de714965de015af69ec604ee0ff00542c3c83c34c9fc8c9972e35df57c4dedfcc0161f3496e8729db2054011d1d5ab8c4707fdfc635c114b8f931b5125a46eff3110035868c99a82018d6d1dbf3489c7b907d510ab7cb5b77e06a051d3aae7838c76b6c3c1932996e7b0030ac8df97d73f70a21a0f404efef96eb46bc20d02d0ae09bac9d5d914c02658025f446f211b50cd5adb27480434be887561b8e7090609609ff7ca7adf20b72d24379d125d368b49cade03dc27e054c6d67d23ba7bb5e0f93da705cbbe1d9e81ca938e1a95d9d1962a7f66fb168ecf0bc2d9e0be840c225c1e82d13cea2d4fb32ead445f4c606a98393a6ef935d84d4e379c0db15c91224273fb900272ba1d8af34cbc89afb7a3cad1da897251957b0e9939c4053ef9c9a72a834dd5b1a73a459d6910356e17c9ac4186ebc22a39b17a49a9f6a10e0244429de22f1604421de809d0eb264cf94479f577a60084c042950ce26e1bdaf595a89d38750de5deae0e6e02e432dfcc9ce4169f1e5c5e1b482ef0e04b05d06cc20d904091d08cc9a26cc590a5f3063e4780d5b892740ff59bba5367785d2f4d5fc071b47d2e4016d3ff91552aa969322d3f0780b4f4ac38142febea368223aab2cc3fd65ae3c886a96e5ed1f4fdce3b7a6aa4c0b56a05edb35e4b60d9838619eb5294b891c9ec8f6c4a672f2f5f5c3f927b0d65dfdab9794701d48662ec56e40aebb0ec93250a91299be4e5524b34c211ab7dbb6db3ec742b59a5d10656579725c6b85c175d43f29e3e3d20ccf8c62e883631f5c0ec78a9a5218325a1c2b3270e153426c3a756f8814c6056f9c2fad890c81c20a7bf8e47a547368c203a4f93a35d08e90a4450ecf607d05a023292170166e786b9947d5085de4fc9cfd6378461cc0dac7dc904292d05c7a54eba02ae24772cb99efe7cbcaa4bb5b8cd95abca219076794984d4954b4e1e10f44e893c9017a725f79e1abf01c075d5b9ce89f31d8abd79a23bfa82feb2f10a43b110d3513baf51e93fb26793662334a4afe73c207f5338166dcbe74bbbdcc953d901a6c2c290c99666ea91e7829c5a914ab3e85b4ab1589ab18e2e3e15838992a529efa554e3054deaf3226e43c4ecb15257063220e62109ab573336aed0a5546e7a7db4a2a7565d5b4064094c6c105b26aebdbc8c06644372fc93df65d8215feee41a05188d5d99942002768d814f2d874fff27cf28be9d0fe8852bdc88e61eae7e9459d810bd85c806fbb2fd6411a043cffabe9fa648dca400d7c6577792c48c6e078818e614d48d054cbc8727fdbcf3cfaec323f3f392691b63c2e6f82fceff059a8fba1ff7bea9e3f49d2ac9b1188c915432ec68ecca37c4db581457b26016ec42b0c3c8b8ea31e090477ffee6b1c9039d881f4e8767225aef6bc50a22ed2ff32547bdf411c3e394b83c4baf633702fd0fe2eca474160103a96fbb732e15837ef43373ca01c2a091d826d9d86227ff1d2effcbe62ad44b74db8edbe1e901a4a38340f730ae9345fbab86a5c7eeb03b408c6bf69cd76dd334013a00477da543b94572d84e9967aca359a70e13fb8bb95a035775098dca1ca0cd6848e7a0fa57f7d5e2ca2acad1261e19e14553c68392d7ed05dcbfd4003f66ed51a792fba201afa8f303f2ac3bac0490f8b933514d76aeefdc1ba0805320ce3df85db9c4eb251b0e61c53e108f57742144967f8e9861de939dd5f4a3685aa21731d29c795886a06eeef2420a0343d79359d493df76f51a7181c9dc0e6f0ff0dab48038617a3a0ae47b53e5dd39ca98ae64ba991cbce3946cf0619b327df60e0b036fadf1eca06361a19c98aa1d51f81b7efe36ddddf43ac3f1190492a30762f43ef0884bcd715323722f31866486954c056aa0eb9a627b59c51a49673dec4e64273632bb31065eb0f42a0a6e98a299f48b367f64483d2a5e00aed71ac3eefe75c8f8f66e39d1d8e715d6cd11bc8b6621521818977d515ced28047a1f8e263d371c483de9ce9c293638fc737898a14aec0d2e734e801f51f6babb56a42b05a675d80fa4dbdbfbbd869b795ced074d2bde452708523f9130470a0e1c060b00ec06ceee578083790c623eea483a774ca1135383a52b61d3034ecc5c6b4b328180a067fb0c4e973a60518474b34344e50283029af0e046203700eaae8c74c2398e21076661a8a81852b3603659468d8f54b76c95d67a02c801ef105bc0955b632f18935da666f816a773606e5b3d84a441707b98da3f83f9fc331d6003a1dce7d988d458dbb83456ab82df10a7166e1a12d78e34a33514c59161200fc5b644c64df552be343a8a4cb1c4d46b59d4801c9406297ddc889a8fa9e8b95436a533ba33539b10d74a58e8ff0a05b58a69772f1e6d5512e3e6fe4cba0d1063cd9dfcffb44943506d3b85991207f8a0787661e9158b6b1c0c653971680b77019fd6f99179745c7567ef1ea1d4c0066c9efc2e926a4f900508da6cdb33aa8e8dd85f5e4eb28883c826cd43532cb47565e9b99277ba65f5117d03286088410f0e455437de746e34a05b0af0ffe05b0ab8afe7df8cb9fe6ebb2e559430fee39d9251ad6558612ef6417b42a2ac467a50cc4d2352de236218d0c9b0c30d33b545a2b3bd14c4e598484de033b9ab5e3dab7dfec8d338188188557b83b4280162b6cc4de2db8a5f3842becd7334c41ae61dc29a3b8b1a337fb37f4639d2d0783fd60e4bbbaa252c441c67afc4f52f16701afe16aec7a3b4d394b3579c857a992d3fb48fcab917d4f5a9ba5d8b737791a6c57dc225eca07c3be9b1587b6037cb24fb1f2eb7229ad3b30080491dd81adc59d0f7e41e37ba117812172df5ad09d46cf493435c22084f2a3d97fb854ea51a4b28dc389aef94b96d70b75e5c5923064e7f3b8005b04c6bdd7e63030b639972a161423b99cff6a90247c7881e58921498857bb5b357db140412cab2aa369a51f810d2324a0e53d319a2763ae4c66431e5edd420f15838a3824e415e09d60a70cda341e9371b063ba44fe367eeb1ea41b1744afbca6773442aad0279a5807684c39540ec50256245f98328e315c2147b49daea73d46e5a943d7232f2228cdb1108e363679c4b1ab2af4ae4d41df6b83f6881161b9ec03ae022ebb074e7ee6075041f1756eec5836d3225fef3bd209229db5642243b7719a7a9da0ffca34d0ef9053158ce0d7727c2963b42d9fc1318f4a64d6d0e6e9af9f5cec891f3e3fb30588a8d3aebeca9fb85011129a74567f010be9f9349eb19e1bfa34c2c3c8518157f145c2a38607fda478978d
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
||||||
a5dc8b828864323afe4092ba6d25aef4651e414ab8ad73764ca752663af3191d35861dfb41718741665b9b97909c962f9aa4c43dc347f32fd879814dfb18ffbbf2f5fffd6f23524d4bf036e60aa45aa642015a953bdf50284321e1270cf929d7c92d49a1b34ed61e09a80c19aefeffec08955243a4694523be89ba6e7f697b5930653e70a33f3bcfd7c0099e2c4b134dd0c5d9ff581cc2358c39f574963dac05e14c390963d752ca8ece0b030d9360122ab6c7ce312291cde286f1ee88f673c578b9348ca4e20c1de1220f3d77bf8ca0542b7c0e3adb544ae2035db754dfc05807972c2545cd8b289e0cebcb8811bbcbcc39cf6fd8667e4816f74f679c7ff868b1ec9e8bb8e36597289caab2bf2d9ee308cfbe94bf3a967c58e85a3be9de0270bc1e9c2bc4b0561b8b18e633a0636e6851b2aa2669913b316605afc01f96061c1887be3f0023223fa8db024217dafbd1186267cca7afa492217f4f3edd5d4202ccd7abe81d09f881d437319fd1db8dc48e8670e8bcafbc2a74fe163240cb82744b63e74dcc617af724039292557290dfbcd51e440954d8a1e2b65d51d6c5d0058689a602e4ca658e2c66ffe02d5b69951908a5035e803d074b03cd620396f30f7071ea4ffab642723598007fde2230bf282fd7e0cf810c98a24a0880c92cbac320db1466f22fa2009742347faa9e587f17229ed100ed8591481ae34c3c6ae4482fae47e43340cd484ebab1c47c23b3c99502774569a46d1650eeffe34180cd6a432a6082c8d7d3c0e8ed5792ce5b113a7557630a057d94412fb4dd0e1c6ba43a4e4500dfca37d8307188b66b3e2400ebcaf8174a89767d336ead8f84464e3dfad2c27e85fe3ec4f54f9e01b241a32a1e53cb9fa5ecf60a696a1622333d6c9ee4bcbe95322a4eab69654777c128cf9523ed6dc82e4fc5b6b636a771bd32b8c0b3cdef80a408e590575b048a3934869eaefccc7c6c57e909082d91fb5f16de07d458376e5ef3af324260fa5bec86ea93c4981b7baaa34194368d00ecf3310e89f2727236f50d3e4d77c2392f9c3a3544a0e4d0dba73eb0749f5948c4a8faa207d7ac35b60abcfde1412e300b48406d273ca78504c827327892be9b4f3550defd745c817f3b9fd3de2d111432eecf3b7dd85904d00838a8c09a98aefc273a355eeb3162c16a61aac4ebede7e7e7772d6c7ebecb66017f81e3d5add9ab1129ffdb840754b9a880ae6be7dd982f53c1007c404ebbaed91e0ceac902c35f2043226f24077b3c9d1ad85f9acd17d5d941337b0d026406192e0273af29fe73d3b6747de6d069896c66d910619327f15dcdc8da2edc0d986c3dff300cd021e1d98bee58bfecd0a92a103477b9b1db26c6f8c4543c848fc29d7534e2735793cebd72e63b06dc63cdc17808373070daad802afd0bf742fdfe79799cc21f47f00093bd2c88dc4a002a9d109ddaad842448c054b1efcb305778d7e2386c58084e078c53c3ddefbff715433b572b33f6f003cdd6852b02d333e649cf45b11ddd7bf21ab24066813463957415e6bce1ae79eb45ab560bf0f7df4a7bfe76f53d25d4d76c077943b2360332bf654af3ebf3cc26dbefafdce2367caf7f4da2886be4dab517e71871bf5e925d090adf8eeefbc6ca7742843aacaf0d3180877622393270c051e0cd8c0257596ccaaebde0362d27d3c293d93736286e3e1a240015203bea77410c809a2011308dc352e168afb6cf7248ea8e90abf02e007bf45ed93f87cc281fee32254039a2e826013ead6ddc89dd12328fc39bc591a3c6fd0902f0d4bbff2a303b2f0854b29b319aa983322f8595956c371a3f7d8d5f601105029dbd95b047fb299342bb413591aee6606ecbd1f0716593ab0737bd04aeab52fc9ad543a9ac2be7cc513e95e92ca1ee213aef85a93c638d1afa8e5989b686e1e50c7d9ee7a3706bc2fa64dd1788280d0fe36236ef6bde1511783743bab57875688687a8b250ad72e0a9179bf3b2406af488a189b027a610ecaf1ae50f7d49d168b1fd593d4468cb89491bd3353197bd3c5874289fa93d57bf3410ef9c7c57f61b0de1271bd9a14b5d2fd0ad07e75e6793cd81b46320088fe932674c063646f4431363673e365bf9bebb96fcdf09052802ce29ff062a25967f078c228d14e9781128d75ca1a0d519ebe580e942f79419fc19025a9aad8ad7da3e3d854ffc72edb24c5c61ccc5449a374b1b7efb44b4c1254d4f7c05ad6205e1d78368b20a46fe8e529ec7e0f97108a98b402d1d13d7739b5a56da1f9437f6317d1313697498a82f4cf18760d0ad241d02241266b4ca994978efa8ac517a24691104b07e1bc7dc637787ef38c52fd4ea72d2898f0fc9e81b96f93d9a0c00e26835abeac047a6b169e2c6886f52193b02df2d48c151b62ade7e8f8e0777b3c1469fe980c9b38af65bebb269afaf7cf540e40d8a335d4c39582d4825afca88647db4974bac3a1fec5812f9eb80a082baa9f13c6754a2fafb06ec3dce4d0ec241c928a5946cd2b4666cd857a1b37bdcc122eae22eb6d175cffb210b89c21c9e01810ecebe41e72dbe759664a440b473e54de98e07bc2c8330cb79f559cf341e42f297d8bc6bb855c97c4bbb9d63c5ee2859e99bc77cb532164abd1f540e2882b73f2dbda413ccfc5d2953a991a657cda442134e3d561d51871ce09a73fb3c64ebfa9ec49d8579e1c7b3de5179562188df2e1f5221b0cab12c9987df4127fc9e2e8129b8529c4f7b1fdd4ac9ee244296979a1d8d49b4dd5c09cf63cac4f525ae225392d5dfbb06fe8545d681949f2303cd6cf88fb42fed1b4127e1a7ae087692858146056929d61a0494aefe6a16b2202bc9b31ed8a062a791f624c1d098700bec0b81d2901f7aef6517113d36b0ad0f9a3db90b28c1d4cefaf29fe21c67c582a25f55600f7d8e14cf46b550b915fe829afae07d9eae0da0233cc4aa217937ef66e8ac7f7ce9034b2eaa8b9da17dca3ec1e4c8906acc6316c0c0204511bed27cd3ca7fbe45721b0db333ac5047134beca8c018929729816feb3570dd23eba262b5ef885346b23c79bc303bd310a3e19ddbbb71f30f3e263cdb7d79d91d4b06981f6ec4884a73cf92941e841e52d7553a490d1d1b8276626c88af5006082e4c84d1bccebedfe759dfef83ce860334aefed0f83c7d473ccc43de73d90aefd2d3b3ff8714c9ff652af66e61c4a0b1c1b22e5c1d7b4b78a8aa027904d1314ef349e25a11c38ae14e6ac39d25d44428ce91715b5ee27e2426236ec94845c2606137a78658193892cad62459d27c0412250467ab716331a0e105d9f9f5db5433d6c14da2e46f97cbcbb663c9051d4307f4bb175d20eb
|
0d504f08d26b48f7a12d2dc92fe8c8a25adacd8a20ffa62bb336ce319f696f93142529d721b9892fe70824245759b55228071c40a516f267927becd8a3ebf5bbf15be0f611c6e7c1be8f9dba5174e972e8f0e82840878077da2030a9b50fc109d83b9dd93a852d8ea36128aecc944dec2108db943b9d9bb0a8f3381e479c919042f2468f7472d09ff680861941434bc45a9125977753a5fd52cc59cff03b2db23d7ac7c937ad047811776f7b74a561d95a8b9f470c293cbed3dd9e91d7994918b8a244b1b18e3beafc6148dbe56f4a5f0e4a41ba6dc1b5fb4ba77896ee9c1f13a919e6ea8a0ed90c64f0953b65df27c9a2d7b6cb127c727a3c646c55b51c98cd18bdc2b6a801fa306157804c64c833c9bbfec995ce9f865c40d176bc29b5d278a276cdbeecf8a45fdf2b56be9cfc0720521604a1b390db4d86c81657114378c63cd8904ef5b5870f057c6007961b431ac0475ed7c5d812c3c3860476d284efaf9ecdb6fb5a357c5639c9dc8ec2b1e5542f48c35726f5dbe7f6901c6b8ab423a96070d41b867d6a7b35ce605506e7f1aa2fa64c516c419db578148b49634da6d8264105220da475d4310bd311b169f4376169b2e9b17c099cdcda38addf65b300aa823ad22c7769b5b65e576d8d1bec961370ffabd1aa689f04757337f739521a98f228042c624f97e071e1815c0468233945ee7424ec0e69049a18ce4cf20cd8434f1bf7cf9b22da7621fbf108487718f58384067056ccb00f6608e2eaddeb50a4dc2305463deba587ab2fe698f97eed2a9591c941f3a627b330acba92efbaeb454cfd472ce76c6f0f4f40524de9d13d39798798a6ea06e4d7a34a68c9133ece5e106a90341c6d657f3a58f7716eea373a081d2336d494946207d699f1a35f8bfeea448792f27f96e3ee6975a60b8f2aae0515df85b505662d997014fa11b6385ad1f063168a0a1bf76256f6fd1ad49695288f6f0cd87ea169546c2e736946a8da70e66efdb6d116cf1675f58aa7d9d978c2f2977b6bcf49867dacb986684edc820153c4230244b9d0b871287d70b92f6dc7dd83e50f27ad8cf8fc761055b53e9fdd4e59ec5bb3e74a5d93996ff5c2942ae5f92300ea7888b881ae325a848f2a3df0f50723fe82917f904b0ca244e86f4e80fff0e2379fed9ec7f927c0a2513551e13c3887e9b2f3af0fe796d3c432d667f9a278ac441d961e90b7a3ae51bbe4cdbae1e5f355a86c0093cd840b470772a616bb630ace6da2b23fb095f75ea86a18b3b32e0ab982817fefb84f2ae8b537ceed358d0765dc273cc89886429f1fa4fe0d4b09391a42e5a13fc4b41c5681ab58484ac5a4a2499ee8aaa31ab1964dfa3fb36dbb2135782416eb7fe6fbd7d00da175a32222255574cb1f9c45fdb0a9a3b606feeb94e053d6c6eaae3cd794807061fd8b9512a88d1b6640b3f072fe5512cc08fe7faab14fe3e675d00aa20a888b92d892c2a7d00d827d1c958b1bdedbd4cee616543dfff92036038b0553bea1d819152af26a6217f05baeac65a30c12ed9dd91bb719804bb25f322fed6cb44f2ba0011d0d4c9cb113c3ed3dc3eca68dce35e32c8215c6b2290bbe04814a7ceb5ad9d0bcb687905758ff30aa88d04d32bc9723822db9b9e2f266089ead84bb6f30503abe08cc8f2a648fa03ad479415c7f498d06f7862de627e6952343bd233995d79fdc69ae9c4dae181df71df060499e41d0180005a55f22ad5017b22819bb424fd04ddc84f64506f3d6773e257e1734542b9c2bddd85294c7a89bd210fe4d5ac1045d2805a8ce38376f28dc4737cf9e45b0c47587998f3ad71d0dfa92dd9d5d3074cd6bc445e468c40511094d95eeb4b2e8637f7eddc7ef1778eb86f258b38cb7255a4ec9ba20c86851ebe935a88e721822430c8c580134acc6183caf5b88919bcdff787325f1d04f37d4197c8028cf92827e8fd18a0aeb30f9afb3e08b247e07374d3b953d22558d0fb611b125ec5d66b29cfb2ee21637801fdfa3cb71fb54e61e815498672e5f21209ec3b63d6f35fada65e6c7fcdad56c8d6b720f312943b6783724759a76dba736fb2f4028a3e16a6d466bef22478c6800095bc57e9e39c5b5d32ea21cec8a6aa50a9e846020fa80b4e01044ad3324d9835ba37f8b848af030e4618ce13e6e30446c9df36f292f04da952581d0b2888cf82ba46cd3ed8f43c1e0ccf3ff0204f8a11bb9d6c86c23701dccc9818f7f9cd04235f9b6c3694da79c7b43b7f4f3eb99d074fd975809d8a789623a6b964f09e42f8b8a36cc51ffb54239bd7a15e780dc8c72f1a9bce1af816eb848e66be9448be5d038c3e9fae76cb61d534c75defa848238b2bfc705571fcc2f9be8d7fdc735f75f1c660906dc1652061a5151c41383e0cc5cddd6b5940bef2c435d1d1a243ac2a04004666c296dd0a39f70b388d8d82b991b0121217acb28141dd1abf717794079b9fa52f878b8ab4f7769ba8c2accc457d69dc99522a3455b90897e8c736f759c0a0903c53da1d3174d73bc6905e15ef93600511b612f193e2aa2c01a78f3eb16ec8c432382bb346d06f416365bbbdd6520e81d8de8c440b5f7a3ce88444d97e93f65dff0765cbd3c9b41fdbbd5c698f69213c12af3ab41d9986c978ef5cd96f804aadb5d09ad4cb05b4ca554961092ce4f1165b864b2f44a198ec5089caa51ec18301522051131a3d8ba182edb7dcdd39e9c9ff1040b4fc97c58b9033f4e3a874d64603b20aae23c24ea3fa998b8b453d17094ea6efe98ce622a454ed203032444ccf7cf34c0a1c4e98ca13ada6dfb31b9c2ea1e9b0f98164e44040d633d0adb39a7c113a1c2bdeb4340c95a4c25cd5eaea69c822b7d70e619fdf16fe2c8da7959d1ecc66b3c50adac9624f312eca5c3641b51e95ea254d8a1950f216a2e4af039c96b9259d15effab31af75ce4e3e01cad44181460136a044ec8f26f5d045a127d46a412ce340dc0b3b032d43c5822d3d18f94c6f5a2b0e272903332c4eb175f8ff839b0161dd4a6bb75dc91c920056807751a172a45d2310e5c450149b6b258275e5bfe0724f05c6f4f20245382741f6e5e3faadbc13465230818c455e1a6f6d4799fb29dfa17d512cf008666ddb70dc624d24f441bc6cf9934183ac0a099754025f3ac49b3de61f5d0ad8675371688eba4b72e321cde4680bd144f308438192eb9f4e2c9315580c3cf76611129bce6f53e12496bee773dc268854efdf581aa38a802afcc30da65a78b4708fef2727b33ac38eeb6e302f786615352fa0384784b91d4c79ff6698226ca673f051ede5f4b9f171b8c9955009fc9233b6c6e215b0d5816d89
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
2790f7d2c5debd75aa5c1dcf118bed76d6077702641581e3249d785df66e39d1e24a29448b02edf184b5498d2715df90723293079b54b05d803a89a72aba19d655ff9975caa1d6561aaaca72fde8e0a01e4590ced736b1b657361304dd11242c82314c7863175d171dc543eecc30197b60eb356b95a6b7fa46e92553a164c5f8b0bd29124f57c8d2c0e7509f09f1bd4ea7da0dd50d3ce9778e2bc39a62c27124954d40d3e4169e9f5f39563e53de37f0ad752f084cff7c8ee8d812fdb1bda81de1f71f5c84bd0a3a9ded92b6792a686060d246069796d9f14abffd986a10273ac860ea5f85c6cdc4b52e36c4c99279bbea7aa1d001dbb4d29762a37ce2f01e0cab1a8cb8e428da24a6aaf1a1912bb58179e7574679dada9289ab36eec19c6df708c62d3baa701eea547614a3ec54e9e7528bcb8145162dc0f19e2d87e344c67ee4369f4ce8d53c4d2dc5ef2872bf212b045fd48483d8ced6ec260a464c65fe83d5d4d0b2e4169daa4d5a0a601fe005988a69f6c9a6b006bc17ba53a2b167e496c6cbcc7418bc7744bfd38e54adcbb1dd1e468e3807c41a95e308287ff7ed64c8574642873877ff9d6b95227b244a284cd5a9af2b88850b73fb44ad6a58b5fd29c70a1cdb8b252c505b7edc78d1cacfdc73aa7289d3b1a217d0876c1bc70c62e6668d0dd1a764eda49ce144424fe9a2be51485b9559a46c5db7e42f98776c46f28294d500d5ef97c05f15453057e3099b54c877d70d3c72856f1e726f34d0f4659e7c88d5d709f4fb3a87b3cde4fa137d497cc02dfd3b94927e0d723cb131e9bc6acf6fd172ec91f04f534374a97a8e58760a590cdf9bb14c4947681c2e4032dd32e1894c6a15c25216eba1763a3f8f9a708ecc843318064de3c307a9c66cd400be30dafe2119cc836900a328c07ec5438c2175daaef9db2bbbff13e3b5afdc8f125d6849372477a60f669e8d3dde8233520643fb0b18d4bc2f61aa95434b24bb730ae2103a62681f4ace74566ed92835698c136518f7fdcef8aaaca8871a8794ad4d3f74debb1e52f3d9bfdafa50bc728d0b3e5b46316886bfef2d4c57632a78d41b6a9243cc10769f72d2fd4c695c3cf281c9c779b06e45a53e0d3d81354b434473c543ba8ace3938f56ce7b99f8d646e0927dfc61eb0ab8fa0134a557e8684965a54e1a484864ab7614a928ebdee4e28a668b9983a90f614e9aa18799bf9e36d181ad1d418d2e7f5354923a593bf0c3064a0e6cab2e9e7f3074b9a8ab91060587f60f2292859f10196e32f5f9ba1f24893056286595be7f8e0c787a7a9d520449ff714136569ece8d099db56ad2bb20fbc21aa1fdfb844ad4ddc72d0963e9a075f41ff17d4ebc53845ae9af5266c001bfc6e9cf2306bc12351b99c3eec4196a8162dc41b51e551f7119320adac0be25bbf257c588d4fc7438a9f82486d00b9bc1fbc9bd5a577e6639ecfbad0401080c01b5d20e208213440aa47a9f956a737c749b376d0b4d0da192ba03070354bc31bfbe330f5cfde838fe4c00c27f9f757972cd0feeafbfc94b67b1ef4b9070ec9f4be70570777ac67c652c91b1c2ef9a1615d7e4ff54cb29120cab7fae66b6fca74d5c24894998374b1d54cba80ab92ef3edf6cd5a535db9ebaf840e0e685dd82bd97c8e1fc706a1bb7535c6f3fa798c96e529b87cb9364ea26658270132c0d92813938f5384ad79ab2e7486dfe293f08590de2fdf278f75017991255ac3132b85648a5734f0c8cea306b497ab49a1a2eea998f3c99c4cdc36d67567a9623140af23168747e882074b2e565333a328f875bc225b0b726cddb57d87dd560857f5baadbda32529d47e74466a55da6cd3e2b5f9cc062af34c0378e1744da6ccc61696344861bcffba338c3f645445cc57d5c5bc83c2da593372356305e1425eb43dea1095e56d4591a7fecc5ca9e6dd3718b071aa90ce20b716bdcfc483ee55886f9a491475545149e94b435260033d9a753cf82b86dba893e245ff221b729ac2343f81677cc0da1604fadfada3fccf7753c3fb5d2cf36a45144c39cc95b2c75683156e557287af67ede71cc59e5a0d7eac4b2add32a7ce15435702c36e4e08771da2a97cca1ea002d6b5b69dd72cdd78e0d05e5cce90791752b9e17dcae75e5d8db0ebbda2eaa8be6853621ab8544f150606e4e082f74a66a8b409c70d72f99df3a24296a6e0f0d92a9d756e38c6059990558146c191949d6ad88d2b64225090ee6977e00f46cf7dc5748bb10adf4c83ca2cacaa00690bdeb64ca1349b3e810901b454ad31e6d78d6713b69893c06b9a589bec45f3625ddb1978f4c4c382fad31f5077e65e239b0a5cc310b0efae80ee6a0eda7cd443b2628d1393e2d859f454d26db535e096e0ce536e33ba29ca3a535407c29845d7ff4e95a39c1a6ed3ec55d0ace1dc12a36ae6ea2cf2a3e2a2ddf5f3fa6cf75632b4511fa7ecfd67004fe366c02cd3c4f058f4cae7ea90a4febf258596ed415a8e5d1b4b0d1f3fe8197724e8d3c01964fb0de9f33c5cd25d3cef1a2bae7e1bda112865458c1af1158ba39a927820fbe175838a1ce3c446d0772e3f18642dfd6047776693a65199677295e9b3d65a2ca75b56533abcce86748ca79fb047ce4df66a69a2abc4c0311ce40a26005bd7d08f54b96a6c897cdde8df3458a6d4a4eb4ed7003b28885cae61f80bee3320ce44d9d133afca889fca522a29b085da3376d23aa130ee1110d89a5eab5943a7404035b11ebc83f50584e41835280556f62f3351e4d746e87ab0aa1981aa6de44cc8a3d3fc64c56d0785f7335b5c4b4c0db6ba94163a6a317aa1764974b69844fa0560caeba06fcec1f5bbb81ec6ec3d757c8e4927b1bc3a00cf07b091f3d7f8ac243c3bb6af919ca7093e901daf1875e1e744d366e8710eab2b39f077f9d058e11e0dd39e330446df953f76d77eef009ded591c8be2f2ab2bcedab8c67c3aebc39da545d622ed6cd9b3c99456c4f6de2d17d8a55c63a7e13f4b126bd10f21809af9c59ae08de7c3b5053ead02c28d7fd0ce603ef1b07f9be963ce18a6ffc2105a8c14251cd8685d1a24793b900b93029cb015eb76e6d3f9c888a4cc9840e386620d1945d787d865ef343f83f8fd6e3acee4db1fc09d4f088c162196bafcef0728184bf0f3d0ea1a139599b5a0496f4ae83f35d542afddd0e8f5de3dbd01212bce73510d2026a52702a8ccfa5113e14c15b02eaa64ec2d794222c8fcb302ae4abdcb167af9decebba506c6b5059dd9e001bed4e95d7cbe7045dffe9ffd0d34111bb0018f8932aef59ae09ba7f583a82c29a015b26d4b9bc3d67ed5fb8257bbb4f04072694d37ad30d8ef1eca9a73e5fe2e023e82415fa75f15cbfa65da05b422b4ad554569090dc05e67a5973e4ac9828f87ce38b647c9f0a84e1d3170142bcee197c9b21148355b383e113b5c6c4f47ae59ec90b9ad9ddacec2b6619588d2c3dcc7e1fbb3d64d96655b6e4c16be431
|
a6e3535205438f18284909e732a17536eca0db24c9b8a4faf9ccc4db6386249e5ccc142be9c193ac7616368bbee0b7970bcdcb27776087c63efa053b944024b235f44ab7da677ccae3e704612bfbbbee5e419f25992c141cb0c4b948adac74d5fe3c760bcccd7f9c4286c38ba385d8b9aba02fdab3e64e9fb2c8b08c6c5c054c48f4d417c3ad8405ac18ad211aaf86e120073ea5581d6e3116350238f292d714c34f230296e9765f224358f5b8b07d6991a7d5de30ab2ae97867c0fad6fb1bbf04e584dfba6dbdb634db15ae9ff36a367a6dd5fa30635c2c4fd9df6684253b17752efb1393b3be262562e2bdabb2da2ef4aa961fd55a337f3b931cd9f812438bd3d6ccdd857081ee1d23a8cba151586c69cd915dac6a9a42ca189ba92bcfe4b7746cb41324e2f59f3f6eea2e12465bebdb3729edca8f1d774a6ac30544256deed4b95a0cf5e838461db2d79eff0aef5cedc90199eaaea0bd982a6f8e6caf5c33c2330c7d1de8b6620e429aad1933111e3ad84f0f29303d9a277f7a1201919c55d4d99beb83bc4cfb2fe653eab85cdcf07753ed3cdf80f35a9d257dd201dfcb3989cc43ddfbaaa8e12357207e17056a66149504b7ff3b15f4197c8def1b7e57a7a49f70b1bdbf4ac45c2a885023a7e6023494358549fb0125300c801e75360ce5db6a8153c10f3fdd0ac087648219880443a26914bf35011da34e3dab44671990a0907ba0c8f12678a7009d5bdeb27d9ca8463728326b412196444e40cb924585ff5dde5a05f0f3e4d6335d9046d05f8b8bd22d6f238f292aeac91fdfa40f66be808f78002b1634e49980a4e1ae06e07d12b1f948689be0cd67b6412d617920f96fccd97ded89d2ae70d1c0c28ed44cac2fb1f79e8f94e479d38448410adab5f204cb444ecf2abf65aca6e7f28657bbe669f8b0d17de090f7820ee384d5016c0e524cbde8e4663bf6c6dad0a3240615a14a8b0964bb22bb0fdd810f4c47bfb1ec7d184dc26cc88d54096752c6700ef26adc43a17c9a1d08506c5eea0f2f3f3bd7e05a8b2a82ede12a55bff9021a2f40a00c65608dd576e7e19dc64563aace530f27ba64f77ae0bbdcb9e158b8e2297762861f9aa4293ef764e5398918e3a4bae6b916f1280ab5ccac4870bd0fc8d46d0ad32c06505c85ffa9689e39b033a39dd6c78176b7326aa657625077032d2e43117e83e29db8626a5e5a0c0f24fa4fbcda766b52a238fab1720df50f423fe624628786fd3926a2d773ce2d271becd442055ac36e2c668a2a26ba03cf3d9f5ddbf02898cc3311a58e9236974a3a1a0539920f5aac23fd95dac356a5975d1dd3b6ae200bb540f1b3019ca641fa1eb4d9c364086e459cce1abebb1211cc29208f8772eba2d0d6bf087cdb1b8811ae57c91a8a7400b10d0f6cc457484298aec4e0a081380cab65b40cd6d15c238e4bc2454e802f4ba3d8e31f51e103ea62d1b834a810d7e11562d836fc1cf435598272618de8ecf80097882ef752d9fc1a0a494b9f908f97e90fbe2c53159744522d1f200768a698276b7be72e31664a15dd13e9278c8c12be9538b0cd432ee85c34ee623a49c3afe858618b09fe54c5aa490141acdbb2913b97983b99d86b5a189e2e7335e04e9befa6e85fb7c3faa9ff69049f503c229b9284c99320d9f2070e1af78207c342059e20cb5234ac7f39650eb1b446e1b96e7853a105c1b388a36a45dc47bcbf5c3f88ece710e5c45325e63b08bf574f905ef3bbfc50dc437f59628efaf354b03f08abac8ddcc48753c457566e1da8864a462a6f90d72b1f895703b926684c18fa47f689f03f082ad4d2e578756661ca6bb341bc26d965cf09dde1b93a8d87977688c1f1a933cc3786691544a68e60a92156440c651d88a055c7b86fa38770da5e54e229422ff402aa51a7ad9992dfb2b31d89c94c0b1aaaada36663deac16122feabf5c77571209f43f44607cc77598323bebeaee5f3505bb8bf42f5df85e023ce4067ca49722b4b960d641c1519f3a2fa5c56cf82a946299651a44ed4218e39f9852968be385fcf8cb7ead284bf4890875913609f3412706c2a8d200b550f8a6c3927c40a3cbc09b04316240230ead13fc55b908875390b321607570187b1e4fc2976109cf5bc21643e2d29ee4d70751361d3f5a31aa9f8053ce96673bb16680c340ea57cd3c3be3a77f5756bb80fe98b07e263e60657044eaca95d3d3dd9180f9d00b7f38fc3fee953a37f479585b3ea0736f83ab1080293482593fa46d3ce9be7397dca9ccc85420fd3c874ac6c4d481607540ed6c323d0acf3d018e70c5e2ce3a9320617ae74497c74895a048154dd7b2846f8d7b80c5fd785c215eb4b0208a589000d4deecacd68dbf0c05d23d4fbce20a1c5c32125355d2b7715dc7fbc260aef197a91b3fdb6a634c8c75455418480db947aaa1dafd9d549c7cf971f47fb673fe6409436a35daa3ab308cb212b42fc10c4b5e4cc5ed85c6b4656fc292f53326340735b9a1ddabd92a7797e2fcbab8e1ee4325b67403b765b5ee441975adc7c59611ebd03b94f5c2400791025d12ae1e83637a8894cccf7e2f64ce64037ce1c98bd4b34324afcb04fd1514dc3113071e30e7850d1a5c713c78943d1e85edb91a948be8faeee2e524ab2781f0099a6fcaecb15eb46e305d65bf8ba8f4117d93cef1abd111ddc04c7c4bd93e96491ad2bddaea3986eba29e3c26ad875619775c9350d52bb2a4eebb71f1eb531687d76ceda0f94f98137e50175d0ca2f7906347e4ddcd4698afc550f6a13289c9ad8ff4e0354184bf300c43d8e0672f8f2c77f9414f7dec24591edd19f944ac42e667500a5e2ff12fb47ef168c23efda8bc823edd9eff05ef218572d1516b5209eefad9f076e03f58e74318ca0c6b3314b20b863fd88a4d8527227a2487588ca509d7509ac881c7dbabbbd7e4b70943263979316ea7008554caa700264b952c1a48c45b793ea0b58bd2d530b0886cf17ae09150422c44f9104ae99dfeab87c88761e6640a55e8a627d531c7dbc7ceb50f5fa8c50b39e9ab35fff93cf0821a2df2fba38b7d0375480a454c24063e90290ea3c98ea54135f48e4595937184ea63380936aaf0a681a57b4a32e59b4614f6071a4edae933c52dd5569f434b0da238d0bd09e39fb1febc2bf62aa5479343684b109a31a97dacba8ff7f23a5663ca4c688ce709ef52579ff479fe40ee4ddcd876f2a62453f69d4d5002129bbd858b36ce2eb98d6e04c2ce904a4cc2917fc1676457963f526c73d792a65486534a36a8306403569acdaf349b821786e4e5631f3ddb067d5b65e8b81756e4390344cc044756475afb24ce01acc23fc436556489dcf7fdd7ca86cc3374762aa301780ab821d008863f1844942a3af2a6a9ee322f4e79eefc0e6046fbf795a55669278a8a8b4fbb11229d008a978e4d151c95bdae67a020eaa3ff7a166a38bf856aa38ad003342697f3fe5113d7538dadfcd6e705bc80
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=861762,RESOLUTION=1280x720,FRAME-RATE=24.000,CODECS="avc1.4d4028,mp4a.40.2",VIDEO-RANGE=SDR
|
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=861762,RESOLUTION=1280x720,FRAME-RATE=24.000,CODECS="avc1.4d4028,mp4a.40.2",VIDEO-RANGE=SDR
|
||||||
index-f1-v1-a1.m3u8
|
index-f1-v1-a1.txt
|
||||||
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1739697,RESOLUTION=1920x1080,FRAME-RATE=24.000,CODECS="avc1.640029,mp4a.40.2",VIDEO-RANGE=SDR
|
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1739697,RESOLUTION=1920x1080,FRAME-RATE=24.000,CODECS="avc1.640029,mp4a.40.2",VIDEO-RANGE=SDR
|
||||||
index-f2-v1-a1.m3u8
|
index-f2-v1-a1.txt
|
||||||
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
|
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="Deutsch",LANGUAGE="de",AUTOSELECT=NO,DEFAULT=NO,CHANNELS="2",URI="index-f1-a1.m3u8"
|
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="Deutsch",LANGUAGE="de",AUTOSELECT=NO,DEFAULT=NO,CHANNELS="2",URI="index-f1-a1.txt"
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="English",LANGUAGE="en",AUTOSELECT=NO,DEFAULT=NO,CHANNELS="2",URI="index-f1-a2.m3u8"
|
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio0",NAME="English",LANGUAGE="en",AUTOSELECT=NO,DEFAULT=NO,CHANNELS="2",URI="index-f1-a2.txt"
|
||||||
|
|
||||||
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=857863,RESOLUTION=1280x720,FRAME-RATE=24.000,CODECS="avc1.4d4028,mp4a.40.2",VIDEO-RANGE=SDR,AUDIO="audio0"
|
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=857863,RESOLUTION=1280x720,FRAME-RATE=24.000,CODECS="avc1.4d4028,mp4a.40.2",VIDEO-RANGE=SDR,AUDIO="audio0"
|
||||||
index-f1-v1.m3u8
|
index-f1-v1.txt
|
||||||
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2132409,RESOLUTION=1920x1080,FRAME-RATE=24.000,CODECS="avc1.640029,mp4a.40.2",VIDEO-RANGE=SDR,AUDIO="audio0"
|
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2132409,RESOLUTION=1920x1080,FRAME-RATE=24.000,CODECS="avc1.640029,mp4a.40.2",VIDEO-RANGE=SDR,AUDIO="audio0"
|
||||||
index-f2-v1.m3u8
|
index-f2-v1.txt
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1222837,RESOLUTION=1280x640,FRAME-RATE=24.000,CODECS="avc1.64001f,mp4a.40.2"
|
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1222837,RESOLUTION=1280x640,FRAME-RATE=24.000,CODECS="avc1.64001f,mp4a.40.2"
|
||||||
index-f1-v1-a1.m3u8
|
index-f1-v1-a1.txt
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"stream":{"url":"https://i-arch-400.lethe399key.com/stream2/i-arch-400/01df0d24fc785e08a44241ed17dc9aef/MJTMsp1RshGTygnMNRUR2N2MSlnWXZEdMNDZzQWe5MDZzMmdZJTO1R2RWVHZDljekhkSsl1VwYnWtx2cihVT2pFVNlnT6FVNPR1a04kMJlnTUJkaO1WWzklaNFTTHV1daRUW04ERFhnWUFVP:1767971011:193.233.230.8:338a99d2e898667664ed62657ac0b65a05ed7308fe98419b3a65225ee36a7ae1/index.m3u8"}}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"stream":{"url":"https://khdiamondcdn.asia/gs/87EU555O0I0056A?q=.mp4"}}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"stream":{"url":"https://i-cdn-0.lethe399key.com/stream2/i-cdn-0/01df0d24fc785e08a44241ed17dc9aef/MJTMsp1RshGTygnMNRUR2N2MSlnWXZEdMNDZzQWe5MDZzMmdZJTO1R2RWVHZDljekhkSsl1VwYnWtx2cihVT290VZBjTH1kMORVR390RFRTT6lFMPRUS18EVNhnWUtWMapWQ5l1VRJjTHlUP:1767971582:193.233.230.8:3e079e35a7d560d1b37aa2a38f4b3e6cf2d6449ab480651c4c3557eda220addd/index.m3u8"}}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
#EXTM3U
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=400000,RESOLUTION=640x358
|
|
||||||
./360/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=858x482
|
|
||||||
./480/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=2000000,RESOLUTION=1280x720
|
|
||||||
./720/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=3000000,RESOLUTION=1920x1080
|
|
||||||
./1080/index.m3u8
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
#EXTM3U
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=400000,RESOLUTION=640x358
|
|
||||||
./360/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=858x482
|
|
||||||
./480/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=2000000,RESOLUTION=1280x720
|
|
||||||
./720/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=3000000,RESOLUTION=1920x1080
|
|
||||||
./1080/index.m3u8
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,145 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0-2/css/all.min.css" integrity="" crossorigin="anonymous"/>
|
|
||||||
<link rel="stylesheet" href="/style_rcp-e600e6.css?t=1744906951"/>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
||||||
}
|
|
||||||
.hidden {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#asdf {
|
|
||||||
width: 0px;
|
|
||||||
height: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#iframe_title {
|
|
||||||
position: absolute;
|
|
||||||
top: calc(50% + 45px);
|
|
||||||
font-size: 1.1em;
|
|
||||||
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
|
|
||||||
width: calc(100% - 30px);
|
|
||||||
text-align: center;
|
|
||||||
padding: 0px 15px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body data-i="93058" >
|
|
||||||
|
|
||||||
|
|
||||||
<!--<div id="pop_asdf" style="position:absolute; width:100%; height:100%; z-index:2147483650; pointer-events: none;"></div>-->
|
|
||||||
|
|
||||||
<!--<div id="loading_overlay"></div>-->
|
|
||||||
<div id="the_frame" style="background-image: none;">
|
|
||||||
<div id="pl_but_background" style="background-image: url('//image.tmdb.org/t/p/w780/yYderAvjtKnYLBxKujVpmKTVlOM.jpg');">
|
|
||||||
<div id="iframe_title">
|
|
||||||
Full Metal Jacket (1987) </div>
|
|
||||||
<i id="pl_but" class="fas fa-play"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="hidden" style="display:hidden;"></div>
|
|
||||||
|
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js" integrity="sha256-1A78rJEdiWTzco6qdn3igTBv9VupN3Q1ozZNTR4WE/Y=" crossorigin="anonymous"></script>
|
|
||||||
<script src="/base64.js?t="></script>
|
|
||||||
|
|
||||||
<script src="/sbx.js?t=1751380596"></script>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
/*
|
|
||||||
$(document).ready(function(){
|
|
||||||
|
|
||||||
|
|
||||||
if($.cookie('pop_asdf')){
|
|
||||||
$("#pop_asdf").addClass("hidden");
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#pop_asdf").click(function(){
|
|
||||||
if(!$.cookie('pop_asdf')){
|
|
||||||
if($.cookie('pop_asdf_tmp') >= 3){
|
|
||||||
var date = new Date();
|
|
||||||
date.setTime(date.getTime() + (10800 * 1000));
|
|
||||||
$.cookie('pop_asdf', 1, { expires: date });
|
|
||||||
$("#pop_asdf").addClass("hidden");
|
|
||||||
}else{
|
|
||||||
var cookie_value = 1;
|
|
||||||
if($.cookie('pop_asdf_tmp'))
|
|
||||||
cookie_value = $.cookie('pop_asdf_tmp');
|
|
||||||
|
|
||||||
cookie_value++;
|
|
||||||
|
|
||||||
$.cookie('pop_asdf_tmp', cookie_value);
|
|
||||||
$(this).addClass("hidden");
|
|
||||||
setTimeout(function(){
|
|
||||||
$("#pop_asdf").removeClass("hidden");
|
|
||||||
}, 59000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
$("#pl_but_background , #pl_but").click(function(){
|
|
||||||
loadIframe();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
function loadIframe(data = 1){
|
|
||||||
if(data == 1){
|
|
||||||
$("#the_frame").removeAttr("style");
|
|
||||||
$("#the_frame").html("");
|
|
||||||
$('<iframe>', {
|
|
||||||
id: 'player_iframe',
|
|
||||||
src: '/prorcp/YTBhMDVhYTBlMGU4ZTI5M2Y4OTU1MGFmODk1NjYxZWQ6VUdJMkwyZHJkbVpHV1M5Nk1rZDBPV05RTW1KVlUweHlSMEpGTkRJd1N6TktUM1ZsZGxCRlptSnZWbTVVYmxwaWIyeE1aakJCTWxsa01YY3JWVE01TTJZMVZUWlVMMjR2UkU1bWFEQnliM0J3UmxGSFZYTnFWREl3U1c5cU0zcFhVMVpPTnpselpuQnZXVlZITldGMlJrUm5NbWRKUkM5eWJsRXZNRWQ0WlN0b1p6Rk5SM2hzTlc5SlUyZDZURE0zTVRGcVdWRlpOVVJTYzJKNWNXdG5kRVo1YkUxeWJrTkVRa2RyTVVkUlVGb3JabXRXVEM5WVYxRkhNVFZKT0dWNVMzQjBWV1JDVjFneE4wcENWV3B5WkhwNUwwZE5aek4zVDA0cmNFSnZXVlpwVlVobk1IRjNkR3BPVVVoc2FXTnFhSEZUYm01bmVFOU9PSEFyTDBSUFVEQm1SbXB6V21Gbk4yWm9UMFpxVjB0a1RHbEdVR2hyZWs1cGRXeFFRMmx3VjFoaVZGSlNPVmhoTkVObWMxYzNSWEpoYjFwWlpHc3ZNSGsxWmpoTGVWSldSRzF3VFZWcVUzWTVjbE42Ukc1M01uazFkV1Y1Y2todk1UaFBTMGh4V0VnemVIRlZZVGczYTFkdVJ6RTBRbE41VUdoVmVYb3daR0ZtUzNveWRFUkxRbHBDTDBwVGRWUjZNbGxHTmxWeVVtdFZZbTlxUzFoWVJtVlhWREppTjJONVJDdDVNekpXVUVsNmEwbHRXU3RzUW5aR1pWRjFXWFZNYjBSak1UZHFZME5MYjBORVpFaGtNV2hEWm04MGJrRmhSSEJ4YUV0b1NraG5jQ3R6ZEhka1NISjZiR001WmpaUlkzazRWV3RSZWtaTFMybFViRlEzT1RselJrcERTRVprUkRoSVpsSXdhR2xoYVhVMk5uZDRVa0p4VkRWbFUyMW5VMkV6U2xoMWMwVlBkVVpEWm1GVVQzWmxkek5OZFVWRGNGTkdNbGRuZURCVmRETkxjM2hLTDNsR2EwcDBXQzlZVVU4M2RXTlhjR3AzUTJaSk9HbHlhWEJKY1hKVlkwdEdlRzFUWjNRck5WZE1jMHRtTmtSak4yZHBWM3B1UldacVJIZHRSa05OVEVoc1FsZ3pkWFlyWkhwNU4xcG9ZemhzVWpSMlVTdElTM2htYTJORVZGZEJZMEU0TmpSeWFUQndkbHAyZW10SWQxY3ZjVGhRWTNGWGREVkJabmsxUVRkblVVdDZNR280TUc5RlIwNVhaVVp3ZWtkME1VZFRTRkZ4TTFkdGFWaGtaRmxHYkRSeVVuQXhhM1pEWVV0UlVWb3pkV3g1WlVjelNqWnJNR3BTYWtSdGNHeEpVa3BqZDBWR1FrSnhjSGh4UVhKM1JGQXZRV0pHY0VKQlIyMVFOV3hrY25ndk1XSTFSREk1YWxoVlQxQkpWa2xsTkd4RVVFUlNORk5GVkRGb1dsaElOMDF1TW05UFp6aFFkMjVFWW1neWJVWnpjbUpyUTBzeWJESlFUVmxHWlRCaldGaFBUMjVTZUhONWEwdElXRWxoTkRZdk1sWldhbXgzVGpoa1RVNXhkbkJZVm1GcWREZ3ZVR2RaVEVwd09UUTJjMmRuTUV0QkszcHNialpQT0RWWmFuZFZlRUl4UmpOMGRVVmFRMlpIWlhKU2RGRkpkV2hIWkUwMFVVSXlNbEZhY3psT1VtRTRWbEF6V2xwc2R6YzJTbVJGWlhSUVMwNDVhbU5WUWtFeldISXdlbVpVY25CdlUwMVJNa1JJZEZac2NYTXJZazFCY2tNMFZXZzRibE5rUjNaSlNsaDBaRzh2Y25kRE0xVlZVbGxIV0c1NlRXZHRRa0pvUm5sdlJ6bFdRMFZZV0VaRk5rOTJNRGx0TkVJM2FqVm1RMU5MZEVKR1NGbFhSREpXZDJORWNERjZRMlZaYWpsVmRVSjFkMWhHVm1NM00waExSSFJKYjFwUVpGaDJOR05vVWtsVE1VZHJaMWRzVTNrNE1HSkZia01yVlVkalRtSmlSMUZUUkhoaEwxUXJaVU54WTBkR2VuVldZakpqWkdSaGFXOU5OVVpHVkZONVUzbFFZVkpWUlRCQ1QwVm1ZejA9',
|
|
||||||
frameborder: 0,
|
|
||||||
scrolling: 'no',
|
|
||||||
allowfullscreen: 'yes',
|
|
||||||
allow: "autoplay",
|
|
||||||
style: 'height: 100%; width: 100%;'
|
|
||||||
}).appendTo('#the_frame');
|
|
||||||
$("#player_iframe").on("load", function () {
|
|
||||||
$("#the_frame").attr("style","background-image: none;");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// pm redirector
|
|
||||||
window.addEventListener('message', message => {
|
|
||||||
if (message.source == window) {
|
|
||||||
return; // Skip message in this event listener
|
|
||||||
}
|
|
||||||
|
|
||||||
var the_iframe = document.getElementById('player_iframe');
|
|
||||||
|
|
||||||
if(message.source == window.parent){
|
|
||||||
the_iframe.contentWindow.postMessage(message.data,'*');
|
|
||||||
}else{
|
|
||||||
window.parent.postMessage(message.data , '*');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,145 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0-2/css/all.min.css" integrity="" crossorigin="anonymous"/>
|
|
||||||
<link rel="stylesheet" href="/style_rcp-e600e6.css?t=1744906951"/>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
||||||
}
|
|
||||||
.hidden {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#asdf {
|
|
||||||
width: 0px;
|
|
||||||
height: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#iframe_title {
|
|
||||||
position: absolute;
|
|
||||||
top: calc(50% + 45px);
|
|
||||||
font-size: 1.1em;
|
|
||||||
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
|
|
||||||
width: calc(100% - 30px);
|
|
||||||
text-align: center;
|
|
||||||
padding: 0px 15px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body data-i="2085059_4x2" >
|
|
||||||
|
|
||||||
|
|
||||||
<!--<div id="pop_asdf" style="position:absolute; width:100%; height:100%; z-index:2147483650; pointer-events: none;"></div>-->
|
|
||||||
|
|
||||||
<!--<div id="loading_overlay"></div>-->
|
|
||||||
<div id="the_frame" style="background-image: none;">
|
|
||||||
<div id="pl_but_background" style="background-image: url('//image.tmdb.org/t/p/w780/dg3OindVAGZBjlT3xYKqIAdukPL.jpg');">
|
|
||||||
<div id="iframe_title">
|
|
||||||
Black Mirror (2011) S04E02 </div>
|
|
||||||
<i id="pl_but" class="fas fa-play"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="hidden" style="display:hidden;"></div>
|
|
||||||
|
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js" integrity="sha256-1A78rJEdiWTzco6qdn3igTBv9VupN3Q1ozZNTR4WE/Y=" crossorigin="anonymous"></script>
|
|
||||||
<script src="/base64.js?t="></script>
|
|
||||||
|
|
||||||
<script src="/sbx.js?t=1751380596"></script>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
/*
|
|
||||||
$(document).ready(function(){
|
|
||||||
|
|
||||||
|
|
||||||
if($.cookie('pop_asdf')){
|
|
||||||
$("#pop_asdf").addClass("hidden");
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#pop_asdf").click(function(){
|
|
||||||
if(!$.cookie('pop_asdf')){
|
|
||||||
if($.cookie('pop_asdf_tmp') >= 3){
|
|
||||||
var date = new Date();
|
|
||||||
date.setTime(date.getTime() + (10800 * 1000));
|
|
||||||
$.cookie('pop_asdf', 1, { expires: date });
|
|
||||||
$("#pop_asdf").addClass("hidden");
|
|
||||||
}else{
|
|
||||||
var cookie_value = 1;
|
|
||||||
if($.cookie('pop_asdf_tmp'))
|
|
||||||
cookie_value = $.cookie('pop_asdf_tmp');
|
|
||||||
|
|
||||||
cookie_value++;
|
|
||||||
|
|
||||||
$.cookie('pop_asdf_tmp', cookie_value);
|
|
||||||
$(this).addClass("hidden");
|
|
||||||
setTimeout(function(){
|
|
||||||
$("#pop_asdf").removeClass("hidden");
|
|
||||||
}, 59000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
$("#pl_but_background , #pl_but").click(function(){
|
|
||||||
loadIframe();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
function loadIframe(data = 1){
|
|
||||||
if(data == 1){
|
|
||||||
$("#the_frame").removeAttr("style");
|
|
||||||
$("#the_frame").html("");
|
|
||||||
$('<iframe>', {
|
|
||||||
id: 'player_iframe',
|
|
||||||
src: '/prorcp/YjA1NWVjMTUxNjM1ODVmMjg4NDE5YmJjMzc5N2IwYjk6YkZGMlRVdFhNWEZ4YXpSaVFUUnZOMDE2YzI1emFYaHRTVGhXVjJoVFNTOVhWSGw1WmpoNmJURnpNREpoZEZaM2JXOWlSWEJEWWxCNWVYcHJaaTlSUTNCWVREWjVOVk41UzNWM1dGaFpaMU0zZERCWE9VZHNhR2xIYmtFelJqZ3ZjbXQ2Y1U1NVFWQmpWSGxqTm1sWVFXOUlNRW93VjBKNFltZEZValZWTm5OT1pIWktTV2RpZDFFemIydzRibUl5UzBGR1JGSmxhbWxqUmpsamNIZERLM1JMTVhwSVpVVnpUVzVrUW5ZM2FHMTRWVk0wZUVOb01HbG5iRzkzV2pGTkwxQXhMMU5vWm13MVMyMVJZV2xEWVZwNmNGaFJNakJhVWpjM1pVbGFXVkU0UzBZMVpVMXFibXBDWjIxVFJWWm1kemROZVZCdGNWTkxlRnB0U1c0eloySTJRV056VVVzd2JFNXdVa00xTW5sS1ozWjRPVE5SWmt3NGVrcDFhbTlNV0c0MmNGcHlUMWR0UkVwV1ZqSmtaVUpDZFhCVVkwOTJjVTVXY3pJMGJUQTBaa1JOZFdaTE0zSmxlVnBsZERkUGQxWnVUeTh6Vm5KWGJtOXNUVWhHVTJ0UmR6VXdPWEZoTm01dmNIQmFUR3hHU1hKVVVHZG1lbXRPWWtKbVpGbDRRMnhXT1hSWFJHeFZjekV4Y3pKaE9YTkhiVzlRYUZCSldIRlhhRGhhYWxoTU1Vb3ZTWGRTVW5wNGNVWlRkSGRYZEhCek5ta3ZPR2hCTVVWQmVVdFlWR2hKVmpZdk4weHRWeXR5U1dWSVdtTkJkMVl6VlZsV2FIQnBRak5tVkZnelRUWXhNREZrVEZRcmNVMWFORVpRVjFaTU5qZFpZbVpHV2xWSE5XTlVjakZTVEZaWlUwNHpXbkJsWnpoMVFYQlNZM0ZGUVVVNGEyNUZOREpzTVRRdk9HZHdjeXN2Ym05VVprZGhjR2hDWVhaNmR6aERjVFZKV2taQ1dqUmlWR3BMUkhaMmRUWmhSblpJVW5ad2JIQndVVGt2UWtoSGFrZHlUQzkyTmxsVlJHdHpZVXMyZGtGaFNVTlhWRmRuTVVacVVXaFlVVmhTVXlzMVpFRkhNRGRPZVVkdmNXZHpSRzVPYlZCMlRWQXJSbFpXVEhCV1UwazBOMU5CU3l0SmVYaERVV05SVTJwYWRVc3dhelpWUWpRMllXNUtWVFZMY1hobFFWRnphRk5aUTA1clIyRTFaSGt6YlVKeldsQjRTamxKZWxkekwwdzFTMDh2V2xGS0wxRkhZVXBuUkVRcmMxRXlUalJKY0RkNlFtVTNWSE4zV1dSTkwyZDFaVEJzVmpkalMwcEZORVZoYzJSWWVrNVdSVXRDTXpZM00wWXJiVnBVZEVWWk1rdEJjM1pvTmpGbGFuRjRhaTlKV21zckx6VktVbVl2T1dac1MzcFhjbGQxVFM5Q1NGcFROSFp5ZVZadVltUnRablZrUjFGamNERTJjamhOYjNVMldEa3JaRzQxVFZndmRuY3dMeXRqYkhscVFVNUVjMUEyT0RCR1ZWSm5kbXhXY0ZvM01tOW5hamt4TldzeFRtaGpWMmhHVFVkd1ltOXhXWEF3Y0U5blpITndaV2xVVDNZelJXRXhaMWxGUVdsMmVsTjRiRXhuZGtOR2FVTk1SbVF3VDFVMFZrMDJkVmwyUzJGdVJtaDBiV0pwU1ZaNmJYY3ZORFJQZVVvM2JscFhlalF3TUhnM2FFaENkRVZqVWtSRGEySXdaMVZKVUdkQ1pWZ3pOeTh3T1ZoSVFqTjFSVUUyTDFFcldqbEZSRlF5UkVOQlVUSlpabEZxUzNkME5XdG5NVTEyYzBsVFNrMTRaMFp5VkVJelJXWkNhR1ZtYTAweVZtMXJZVGRpVnpsME9ETjVjMlJGUVZGNWN5dENObEpXU0RGVlNtTlBVazl1YTBsRFptWk1ORGRVTTNwaWQxbzRlbTFOTlhCMWJrdzRWMFpJUVZOQmFXNURjMmxETkZNeWF6UkxVME4xZFhGUGRubzNORTVYUW1sU1IxVnNRMjFrTUdOdFExcE1jWEZ6Umk5blIwNDFkMVZITldSQk5HdG1SV3RWWlU0MGVFSlVSa056VDBWcmQwdHNaelpUVkE9PQ--',
|
|
||||||
frameborder: 0,
|
|
||||||
scrolling: 'no',
|
|
||||||
allowfullscreen: 'yes',
|
|
||||||
allow: "autoplay",
|
|
||||||
style: 'height: 100%; width: 100%;'
|
|
||||||
}).appendTo('#the_frame');
|
|
||||||
$("#player_iframe").on("load", function () {
|
|
||||||
$("#the_frame").attr("style","background-image: none;");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// pm redirector
|
|
||||||
window.addEventListener('message', message => {
|
|
||||||
if (message.source == window) {
|
|
||||||
return; // Skip message in this event listener
|
|
||||||
}
|
|
||||||
|
|
||||||
var the_iframe = document.getElementById('player_iframe');
|
|
||||||
|
|
||||||
if(message.source == window.parent){
|
|
||||||
the_iframe.contentWindow.postMessage(message.data,'*');
|
|
||||||
}else{
|
|
||||||
window.parent.postMessage(message.data , '*');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,8 +0,0 @@
|
||||||
#EXTM3U
|
|
||||||
#EXT-X-INDEPENDENT-SEGMENTS
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=884887,CODECS="mp4a.40.2,avc1.42c01e",RESOLUTION=640x346,FRAME-RATE=25,VIDEO-RANGE=SDR,CLOSED-CAPTIONS=NONE
|
|
||||||
/pl/H4sIAAAAAAAAAwXB3ZKCIBgA0FcC0X72bmuU1pRW4EPlDsHGkBxr2nXz6fcct.lwl_Sx6XC0M1tntrYnZtejTXzF6Hr9UMjGdb3PWTTcWIqLc8Rb8C0qqf6WkmEZhkI0LVG1OnCKcOlZYikfOc6K1g.RTUdUZrMA0D_KcykgqyT9m.wUDoYOF1vnSquQKOKai9SNgUDNCs8z_nqatfyVaf4QgXGlZtD3MFji0h7CiaFEAsXHi3htoPmMxO3l69TJCu3f_PhigLNayXJhqz4WpH1XUx4LPL_PSC8ahkexukrfs4cjagNeEwGIOO.ybsomATm1mJ3MFGY18gpwWARhQa7D2HmNS1C1HvUCEu3_ASDZlyFBAQAA/e2f2579229bebcfbb0eafde12cbc1bf9/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=2911865,CODECS="mp4a.40.2,avc1.42c01f",RESOLUTION=1280x694,FRAME-RATE=25,VIDEO-RANGE=SDR,CLOSED-CAPTIONS=NONE
|
|
||||||
/pl/H4sIAAAAAAAAAwXB3ZKCIBgA0FcC0X72bmuU1pRW4EPlDsHGkBxr2nXz6fcct.lwl_Sx6XC0M1tntrYnZtejTXzF6Hr9UMjGdb3PWTTcWIqLc8Rb8C0qqf6WkmEZhkI0LVG1OnCKcOlZYikfOc6K1g.RTUdUZrMA0D_KcykgqyT9m.wUDoYOF1vnSquQKOKai9SNgUDNCs8z_nqatfyVaf4QgXGlZtD3MFji0h7CiaFEAsXHi3htoPmMxO3l69TJCu3f_PhigLNayXJhqz4WpH1XUx4LPL_PSC8ahkexukrfs4cjagNeEwGIOO.ybsomATm1mJ3MFGY18gpwWARhQa7D2HmNS1C1HvUCEu3_ASDZlyFBAQAA/0e258eeccefba231686dc455bae2c1be/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=5301648,CODECS="mp4a.40.2,avc1.42c028",RESOLUTION=1920x1040,FRAME-RATE=25,VIDEO-RANGE=SDR,CLOSED-CAPTIONS=NONE
|
|
||||||
/pl/H4sIAAAAAAAAAwXB3ZKCIBgA0FcC0X72bmuU1pRW4EPlDsHGkBxr2nXz6fcct.lwl_Sx6XC0M1tntrYnZtejTXzF6Hr9UMjGdb3PWTTcWIqLc8Rb8C0qqf6WkmEZhkI0LVG1OnCKcOlZYikfOc6K1g.RTUdUZrMA0D_KcykgqyT9m.wUDoYOF1vnSquQKOKai9SNgUDNCs8z_nqatfyVaf4QgXGlZtD3MFji0h7CiaFEAsXHi3htoPmMxO3l69TJCu3f_PhigLNayXJhqz4WpH1XUx4LPL_PSC8ahkexukrfs4cjagNeEwGIOO.ybsomATm1mJ3MFGY18gpwWARhQa7D2HmNS1C1HvUCEu3_ASDZlyFBAQAA/f4afc016a800ba375016f4bc9771890f/index.m3u8
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
#EXTM3U
|
|
||||||
#EXT-X-INDEPENDENT-SEGMENTS
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=833322,CODECS="mp4a.40.2,avc1.42c01e",RESOLUTION=640x358,FRAME-RATE=24,VIDEO-RANGE=SDR,CLOSED-CAPTIONS=NONE
|
|
||||||
/pl/H4sIAAAAAAAAAw3O3W6CMBgA0FdqQRR2p2IlXQqjtF9_7qCQYEHGwATH02_nCc7JtTFKgqZBxy4OExyfGhc3iYtdjZyL2g85kA0y.BHX.CAUCaUABBOpK88zINaX4.XLYgtMu6jc26PF53eREt0ALfg0PxRhiwioqqYWq9vwZprhHOWKpVS43S1C92vnqTXBWJVAkPC94Zpt.ZMbuM9G3NfABvOxmXj2ifClS8._.TBeYcA39jyEbZizSlyIkPxmCRFmpKyWUVENs5apWQD3r0JFYTPM4___1flclwqHrZe7nIBytC3u8SIcw1YJ.nCea6f4LghDRuJV.iFw2djXKc1yTCVgWHl6DgHsdylQ8gd2WpeiQQEAAA--/f2a0a2e3ac935bed168e40c6c28105d7/index.m3u8
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=2728709,CODECS="mp4a.40.2,avc1.64001f",RESOLUTION=1280x714,FRAME-RATE=24,VIDEO-RANGE=SDR,CLOSED-CAPTIONS=NONE
|
|
||||||
/pl/H4sIAAAAAAAAAw3O3W6CMBgA0FdqQRR2p2IlXQqjtF9_7qCQYEHGwATH02_nCc7JtTFKgqZBxy4OExyfGhc3iYtdjZyL2g85kA0y.BHX.CAUCaUABBOpK88zINaX4.XLYgtMu6jc26PF53eREt0ALfg0PxRhiwioqqYWq9vwZprhHOWKpVS43S1C92vnqTXBWJVAkPC94Zpt.ZMbuM9G3NfABvOxmXj2ifClS8._.TBeYcA39jyEbZizSlyIkPxmCRFmpKyWUVENs5apWQD3r0JFYTPM4___1flclwqHrZe7nIBytC3u8SIcw1YJ.nCea6f4LghDRuJV.iFw2djXKc1yTCVgWHl6DgHsdylQ8gd2WpeiQQEAAA--/ea18a1816b821e1ba4ee5d4a76b0b7cf/index.m3u8
|
|
||||||
|
|
@ -1,274 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Full Metal Jacket (1987)</title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<meta http-equiv="Access-Control-Allow-Origin" content="*" />
|
|
||||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0-2/css/all.min.css" integrity="" crossorigin="anonymous"/>
|
|
||||||
<link rel="stylesheet" href="/style.css?t=1710289820"/>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
|
|
||||||
.mctitle a {
|
|
||||||
font-size:1em !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#AdWidgetContainer {
|
|
||||||
position: fixed !important;
|
|
||||||
transition: transform 1s linear 0s !important;
|
|
||||||
opacity: 1 !important;
|
|
||||||
transform: translate(0px, 0px) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#ad720 {
|
|
||||||
width: 100%;
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ad720 .ad_container {
|
|
||||||
max-width: 720px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
#ad720 .ad_container img {
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
#ad720 .ad_container #close {
|
|
||||||
position: absolute;
|
|
||||||
top: 3px;
|
|
||||||
right: 3px;
|
|
||||||
color: white;
|
|
||||||
opacity: 0.7;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ad720 .ad_container #close:hover {
|
|
||||||
opacity: 1;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#onexbet {
|
|
||||||
position: absolute;
|
|
||||||
top: calc(50% - 25px);
|
|
||||||
left: -30px;
|
|
||||||
transform: rotate(-90deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#onexbet img {
|
|
||||||
width: 100px;
|
|
||||||
height: 36.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body data-i="93058" >
|
|
||||||
|
|
||||||
|
|
||||||
<div id="loading_overlay"></div>
|
|
||||||
|
|
||||||
<div id="the_frame">
|
|
||||||
<iframe id="player_iframe" src="//cloudnestra.com/rcp/ZDM3NDM0YzEyMjAzYTUyMGVmZjNkMzVlNTcxODcwOTE6VlZoNlEyTlJkRkZuTm5wdFFqTldkWGhJTjB0WllraG1PV3BKTjI5VFVDOWtLM28xUkRWeFExVlpiako0ZDNCS1NXbE5ZVlJ2V1VoMmQyTnNlRVF4V0dodlVEaDNUVGxwY1dWQ1prRnRlVGx3WjJGUGFVeHZla1kyWlZkbVpteENWRTB2UW5sVlowUmxMemRMT0hKemVIbEZRbTlpVW05VmJURjZhVE5MVDBjdlJWbHBZWFJFVVdaeVpYQkZORkpSZUZVeFlVeHRTbEIzYUVsWlJFWXlUVVZYVlc1VVpUSkZaMnBSWmxGWFNYbEthbkpaUVZVMk5XdDVUV056TkRKWk1UbE1ZVGx5WlZsdFFXMVVSVzVPYnpReFoyUTRha2d3WXpGV1VYaFZiRVZSUWpOSk5tcE1WMnR6VEhBNU1uRlJaR1ZFTlhOR09FaFNSM0VyYnpRelNtdERReThyUTJkMk5WZ3ljM2R2TmpkaU9FdE1UbTlUZFRocmFHdzFaeTkzYUVWTGNWZEdNRmt2VmpCc09XeDFNWEpqVWxabFNUVkVUVlpRVHpCeU9HOHljMk5pU0VsalNrOUtiak56VjFSNk4waFdOVk5TUlVodGNEaFJlRWhyWTJ0MFJqRXpWR0Z3UjJOYVJFUnlPR3QwWTFSVlowdEZWVU4yUTJKS05rZEpOM2w2ZDIxemJEQjVSMnRETkhOVlNXaDRkamhSUjNKeVZta3pjRkpWTlhFelMzbDJVVFl2Y0ZkNVp6Qm9NMVpsTUcxaGRua3Jha2RSTlZCSGRXWlFkMnBVZEZCVFNXOXBkVlJhYUhwalJESkpORXMyWlRWV1QzQXlTMWhvVjJRelIwbzFNVXhNYmpsVFpHVlJSVUZDZUhSc1VHOWhibk4yWjJkb2FGcHZZMVJQYmtOaVFrdEViVXMzVDJGTlQwNXRUVlZEV21wRGJFbGtVMEl2V0VOMmFtSkdRVUpPYjFOWlRFRXlWSFF2YkZGS2FUZFlUblZ1ZGtveVduTnhTVGw2VGtwTFVIWjRRVVJZTXpCelRpOW1Va0ZzVm1sUk55OW9NVGx3WWxaSFRGRkJhbXRLVWtkT2NWZG9SMU51VVZwWU1qRkZZVU5hUkc0NFNGVnBkVm8xZGpOcmJXOTRabU5qZGt4QmRUTnVkeTgwUTJWTk9IWnNOWE4yU2xCcVRYaDRSVkZxYm1WaU1tbHBjM1psVmpOUFZXNVFUMEZUU0hVelZVZEZlV2syWmtGUFYwWjRVR0pwT0hVelZuVnlla1J4YUhkVmF6Y3pjMGhUY0dKbFoycDBNR05sZVZGeGVqRlJSMWxRY0RWaVpUTnVhblJvUTJaNk5YUlVNbEp3U1RReE0ycHRUMjVwY1ZwdEswSTNjV1ZRYzA1b2RVNDNXbTlrUzNsRU5GWmFZMFo1ZWtrMkswZENiUzkwVlhOWFdrRlJkSGhJVGs1eVRERllWa0pYUmpZd1dGZFVNblJNUTJNNVVFOWFkMU14TlZjeVRVZHNSa2hJY3l0V01qaHROa2R4ZG5SclMzQlBaVk51VVZrd1FrWnFZV2xJYVRoeGFXVTVXRWxzUjFNNWNXZG1ibXN4YUhaTVMzVTNkV2RpWkVacWNVcG9TME50TVhGYVdYaE1iM0JSTVM4ellXeENVMngxVlhSM1ZXTjFURU5aZFRobGQxWk9MekJSZWxoVFlVczBhMGxUYUZKQ2JtVk1XV1pPTDJOU1dIVTBkRTFFVGl0MFRWVk9TR1JNV0RoMVNHdHdSMlJWYW1kbVdqZDZObFJKWTA5clpEUnZSWEY2VFhVeU1VRjZXbFF4S3pnMVZXMVljamxGTlRocldraG1Ra05MZFU5NVdXaHVWemRNV0VKQ00wSkdZVWxJUzIxbE1XODNaMUZ4ZGpCclEwVnJOVkZZZG5oUk4xVlFWek0wU0d0TGR6Sk5UMmRWUmpjMU5FbHVlWE40VDBOYVZESlFTbGsyZGs0eVNFRkhlRGQwVnl0dk0xUkNlWGQzTWpWb2VsUTVZbUU0VG5CUVMyZGxhMkl6Y1VvMWVtMUljMHh3V2tGbVFVOXBhSGQ0U0Rad1dGVXdXalJVTWk5ell5dEpiU3RXWm5ORVJuTmlkejA9" frameborder="0" scrolling="no" allowfullscreen="yes" style="height: 100%; width: 100%;"></iframe>
|
|
||||||
</div>
|
|
||||||
<!--
|
|
||||||
<div class="servers" style="display: none; " >
|
|
||||||
<i class="serversToggle fas fa-cloud"></i>
|
|
||||||
|
|
||||||
<div class="serversList">
|
|
||||||
<div class="server" data-hash="ZDM3NDM0YzEyMjAzYTUyMGVmZjNkMzVlNTcxODcwOTE6VlZoNlEyTlJkRkZuTm5wdFFqTldkWGhJTjB0WllraG1PV3BKTjI5VFVDOWtLM28xUkRWeFExVlpiako0ZDNCS1NXbE5ZVlJ2V1VoMmQyTnNlRVF4V0dodlVEaDNUVGxwY1dWQ1prRnRlVGx3WjJGUGFVeHZla1kyWlZkbVpteENWRTB2UW5sVlowUmxMemRMT0hKemVIbEZRbTlpVW05VmJURjZhVE5MVDBjdlJWbHBZWFJFVVdaeVpYQkZORkpSZUZVeFlVeHRTbEIzYUVsWlJFWXlUVVZYVlc1VVpUSkZaMnBSWmxGWFNYbEthbkpaUVZVMk5XdDVUV056TkRKWk1UbE1ZVGx5WlZsdFFXMVVSVzVPYnpReFoyUTRha2d3WXpGV1VYaFZiRVZSUWpOSk5tcE1WMnR6VEhBNU1uRlJaR1ZFTlhOR09FaFNSM0VyYnpRelNtdERReThyUTJkMk5WZ3ljM2R2TmpkaU9FdE1UbTlUZFRocmFHdzFaeTkzYUVWTGNWZEdNRmt2VmpCc09XeDFNWEpqVWxabFNUVkVUVlpRVHpCeU9HOHljMk5pU0VsalNrOUtiak56VjFSNk4waFdOVk5TUlVodGNEaFJlRWhyWTJ0MFJqRXpWR0Z3UjJOYVJFUnlPR3QwWTFSVlowdEZWVU4yUTJKS05rZEpOM2w2ZDIxemJEQjVSMnRETkhOVlNXaDRkamhSUjNKeVZta3pjRkpWTlhFelMzbDJVVFl2Y0ZkNVp6Qm9NMVpsTUcxaGRua3Jha2RSTlZCSGRXWlFkMnBVZEZCVFNXOXBkVlJhYUhwalJESkpORXMyWlRWV1QzQXlTMWhvVjJRelIwbzFNVXhNYmpsVFpHVlJSVUZDZUhSc1VHOWhibk4yWjJkb2FGcHZZMVJQYmtOaVFrdEViVXMzVDJGTlQwNXRUVlZEV21wRGJFbGtVMEl2V0VOMmFtSkdRVUpPYjFOWlRFRXlWSFF2YkZGS2FUZFlUblZ1ZGtveVduTnhTVGw2VGtwTFVIWjRRVVJZTXpCelRpOW1Va0ZzVm1sUk55OW9NVGx3WWxaSFRGRkJhbXRLVWtkT2NWZG9SMU51VVZwWU1qRkZZVU5hUkc0NFNGVnBkVm8xZGpOcmJXOTRabU5qZGt4QmRUTnVkeTgwUTJWTk9IWnNOWE4yU2xCcVRYaDRSVkZxYm1WaU1tbHBjM1psVmpOUFZXNVFUMEZUU0hVelZVZEZlV2syWmtGUFYwWjRVR0pwT0hVelZuVnlla1J4YUhkVmF6Y3pjMGhUY0dKbFoycDBNR05sZVZGeGVqRlJSMWxRY0RWaVpUTnVhblJvUTJaNk5YUlVNbEp3U1RReE0ycHRUMjVwY1ZwdEswSTNjV1ZRYzA1b2RVNDNXbTlrUzNsRU5GWmFZMFo1ZWtrMkswZENiUzkwVlhOWFdrRlJkSGhJVGs1eVRERllWa0pYUmpZd1dGZFVNblJNUTJNNVVFOWFkMU14TlZjeVRVZHNSa2hJY3l0V01qaHROa2R4ZG5SclMzQlBaVk51VVZrd1FrWnFZV2xJYVRoeGFXVTVXRWxzUjFNNWNXZG1ibXN4YUhaTVMzVTNkV2RpWkVacWNVcG9TME50TVhGYVdYaE1iM0JSTVM4ellXeENVMngxVlhSM1ZXTjFURU5aZFRobGQxWk9MekJSZWxoVFlVczBhMGxUYUZKQ2JtVk1XV1pPTDJOU1dIVTBkRTFFVGl0MFRWVk9TR1JNV0RoMVNHdHdSMlJWYW1kbVdqZDZObFJKWTA5clpEUnZSWEY2VFhVeU1VRjZXbFF4S3pnMVZXMVljamxGTlRocldraG1Ra05MZFU5NVdXaHVWemRNV0VKQ00wSkdZVWxJUzIxbE1XODNaMUZ4ZGpCclEwVnJOVkZZZG5oUk4xVlFWek0wU0d0TGR6Sk5UMmRWUmpjMU5FbHVlWE40VDBOYVZESlFTbGsyZGs0eVNFRkhlRGQwVnl0dk0xUkNlWGQzTWpWb2VsUTVZbUU0VG5CUVMyZGxhMkl6Y1VvMWVtMUljMHh3V2tGbVFVOXBhSGQ0U0Rad1dGVXdXalJVTWk5ell5dEpiU3RXWm5ORVJuTmlkejA9">CloudStream Pro</div>
|
|
||||||
<div class="server" data-hash="ZDJiY2QxNzViOGFjNmRmYjBlMjQ2ZmRkYmU1YjBmZmY6Um1RMFEwcGFLMk5sU0VkblZIaDBjMjlaYm01SWJVWkZNR0ZrUTJGQ1NHNDNNVTlRWm1sRlVXNHpRbXhFVG5kR2FqUjZValZ2YVdSQlNuTkNVMUIzWkZwdllrTjNhMWxvTlhCb2IwbEhRbFpCYzFFdmFVMXFTelZHUlZBcmRXSlVkbWN4VlRGRGRuWndkM0pXTVRFNE5sUkRZbFpNVTAxaU5tMU1jbmxxVUZCMFltNUtTVlpIUm1KV09HbzVXVFoySzNCdVpHRkhOVFJaV2xGNGJVOHliVVZGWjBseVVqaERiazlITW5ZM2NsZEhVbVZzZFhkdGFGaG1LMVV3YjJVMQ--">2Embed</div>
|
|
||||||
<div class="server" data-hash="NDNmZWFlNzVmZDQ0MWZhODczN2QwNTE2Yzk2YzljNjk6Y25ZdlZYRkRiUzkyUm5BcmFFVkZTSE5xV2pRcmJHZEZUR2MyY2tGdE9WZHdOSFJNVld4bFdYZzBOSEUzUnpkNlNtbHRORVJyV1UxSlozVk9WelJrVjJ4Q1pYa3dLMGt5TW1oMGRFUm5VRlpHUkZWVU5tYzlQUT09">Superembed</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var sb_test = true;
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>-->
|
|
||||||
<script src="/jquery-3.7.1.min.js"></script>
|
|
||||||
|
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-md5/2.16.0/js/md5.min.js" integrity="" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/3.0.5/js.cookie.min.js"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js" integrity="sha512-3j3VU6WC5rPQB4Ld1jnLV7Kd5xr+cq9avvhwqzbH/taCRNURoeEpoPBK9pDyeukwSxwRPJ8fDgvYXd6SkaZ2TA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
||||||
|
|
||||||
<script src="/base64.js?t=1688387834"></script>
|
|
||||||
<script src="/sources.js?t=1745104089"></script>
|
|
||||||
<script src="/reporting.js?t=1688387834"></script>
|
|
||||||
|
|
||||||
<script src="//cloudnestra.com/asdf.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="/sbx.js?t=1754734900"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var lc_on = IsLcOn();
|
|
||||||
|
|
||||||
var the_iframe = document.getElementById('player_iframe');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
current_sub_name = "sub_"+$("body").data("i");
|
|
||||||
if ($("body").data("s") && $("body").data("e")){
|
|
||||||
current_sub_name += "_"+$("body").data("s")+"x"+$("body").data("e");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var lc_pro_cc = true;
|
|
||||||
|
|
||||||
|
|
||||||
var current_sub_data = 0;
|
|
||||||
|
|
||||||
if(lc_on){
|
|
||||||
var current_sub_data_tmp = JSON.parse(localStorage.getItem(current_sub_name));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var sub_hash = '0c7e9a7d03c674706dd16dcf5debaf29';
|
|
||||||
/*
|
|
||||||
if(current_sub_data_tmp != null){
|
|
||||||
if (typeof current_sub_data_tmp === 'object'){
|
|
||||||
//console.log(current_sub_data_tmp);
|
|
||||||
if(current_sub_data_tmp.sub_hash == sub_hash)
|
|
||||||
current_sub_data = current_sub_data_tmp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
// pm redirector
|
|
||||||
window.addEventListener('message', message => {
|
|
||||||
if (message.source == window) {
|
|
||||||
return; // Skip message in this event listener
|
|
||||||
}
|
|
||||||
|
|
||||||
if(message.data.type == "PLAYER_EVENT"){
|
|
||||||
//console.log(message.data);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(message.data == "reload_page"){
|
|
||||||
window.location.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(message.data == "tvfull"){
|
|
||||||
$(".servers")[0].css('left', '100px');
|
|
||||||
}
|
|
||||||
|
|
||||||
if(message.source == window.parent){
|
|
||||||
var the_iframe = document.getElementById('player_iframe');
|
|
||||||
the_iframe.contentWindow.postMessage(message.data,'*');
|
|
||||||
}else{
|
|
||||||
window.parent.postMessage(message.data , '*');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function IsLcOn(){
|
|
||||||
var is_on = false;
|
|
||||||
try {
|
|
||||||
localStorage.setItem('test_lc' , "1");
|
|
||||||
if(localStorage.getItem('test_lc') == "1"){
|
|
||||||
is_on = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch(err) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return is_on;
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#iFrameId").on("load", function () {
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#ad720 #close").click(function(){
|
|
||||||
$(this).parent().parent().hide();
|
|
||||||
$.cookie("ad720", "1" ,
|
|
||||||
{
|
|
||||||
expires : 0.001,
|
|
||||||
path: "/;SameSite=None",
|
|
||||||
secure: true
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).ready(function(){
|
|
||||||
|
|
||||||
$(".servers").show();
|
|
||||||
|
|
||||||
if(window.frameElement === null){
|
|
||||||
$("#top_buttons_parent").show();
|
|
||||||
}else{
|
|
||||||
var ref = window.frameElement.getAttribute('data-ref');
|
|
||||||
if(ref != null){
|
|
||||||
$(".servers").css("left","100px")
|
|
||||||
|
|
||||||
if(ref.length > 3){
|
|
||||||
$.get("/is_vip_str.php?ref="+encodeURIComponent(ref), function(data, status){
|
|
||||||
if(data == "1"){
|
|
||||||
$("#top_buttons_parent").hide();
|
|
||||||
}else{
|
|
||||||
$("#top_buttons_parent").show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}else{
|
|
||||||
$("#top_buttons_parent").show();
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
$("#top_buttons_parent").show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Histats.com (div with counter) --><div id="histats_counter"></div>
|
|
||||||
<!-- Histats.com START (aync)-->
|
|
||||||
<script type="text/javascript">var _Hasync= _Hasync|| [];
|
|
||||||
_Hasync.push(['Histats.start', '1,4873540,4,511,95,18,00000000']);
|
|
||||||
_Hasync.push(['Histats.fasi', '1']);
|
|
||||||
_Hasync.push(['Histats.track_hits', '']);
|
|
||||||
_Hasync.push(['Histats.framed_page', '']);
|
|
||||||
(function() {
|
|
||||||
var hs = document.createElement('script'); hs.type = 'text/javascript'; hs.async = true;
|
|
||||||
hs.src = ('//s10.histats.com/js15_as.js');
|
|
||||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(hs);
|
|
||||||
})();</script>
|
|
||||||
<noscript><a href="/" target="_blank"><img src="//sstatic1.histats.com/0.gif?4873540&101" alt="free counter with statistics" border="0"></a></noscript>
|
|
||||||
<!-- Histats.com END -->
|
|
||||||
|
|
||||||
<script src='https://unpkg.com/disable-devtool@0.3.9/disable-devtool.min.js#/misdir.js'></script>
|
|
||||||
<script>
|
|
||||||
DisableDevtool({
|
|
||||||
clearLog: true ,// Whether to clear the log every time
|
|
||||||
disableSelect: true , // Whether to disable selection text Default is false
|
|
||||||
disableCopy: true , // Whether to disable copying, default is false
|
|
||||||
disableCut: true , // Whether to disable cutting, default is false
|
|
||||||
disablePaste: true ,
|
|
||||||
disableIframeParents: false // Whether all parent windows are disabled in the iframe
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script data-ssr="1" data-cfasync="false" async type="text/javascript" src="//pb.rootcapruntime.cyou/r6967971082834/131608"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,274 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Black Mirror (2011) S04E02</title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<meta http-equiv="Access-Control-Allow-Origin" content="*" />
|
|
||||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0-2/css/all.min.css" integrity="" crossorigin="anonymous"/>
|
|
||||||
<link rel="stylesheet" href="/style.css?t=1710289820"/>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
|
|
||||||
.mctitle a {
|
|
||||||
font-size:1em !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#AdWidgetContainer {
|
|
||||||
position: fixed !important;
|
|
||||||
transition: transform 1s linear 0s !important;
|
|
||||||
opacity: 1 !important;
|
|
||||||
transform: translate(0px, 0px) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#ad720 {
|
|
||||||
width: 100%;
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ad720 .ad_container {
|
|
||||||
max-width: 720px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
#ad720 .ad_container img {
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
#ad720 .ad_container #close {
|
|
||||||
position: absolute;
|
|
||||||
top: 3px;
|
|
||||||
right: 3px;
|
|
||||||
color: white;
|
|
||||||
opacity: 0.7;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ad720 .ad_container #close:hover {
|
|
||||||
opacity: 1;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#onexbet {
|
|
||||||
position: absolute;
|
|
||||||
top: calc(50% - 25px);
|
|
||||||
left: -30px;
|
|
||||||
transform: rotate(-90deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
#onexbet img {
|
|
||||||
width: 100px;
|
|
||||||
height: 36.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body data-i="2085059" data-s="4" data-e="2" >
|
|
||||||
|
|
||||||
|
|
||||||
<div id="loading_overlay"></div>
|
|
||||||
|
|
||||||
<div id="the_frame">
|
|
||||||
<iframe id="player_iframe" src="//cloudnestra.com/rcp/MTQ1ZTU4OGFjMGFlYTcwMzJkNzRhYzBkMDE0M2YxMjU6ZVhoQlRYRm1SemRyU0hOVGEzRkNVWEJsTUdOMGFsbzFSa3hqYzNkbFYzUmtObHBzTHpoNU9EaEJUSFoyYW1Wa2VtTklOVEpQU25Kb1MyRm1MMVJGY1hkbU1UWk9ObkkwTVdKMlVXcDVZM3B6Unl0T1pXOTZVbk5sUmt4bllXdEdNVGRCT0M4NGRYSnZSeTgxVUV0NlMwSTNTMWRUVmxWQ2JsRkRhWG94V0hoVVpYZzJUbG92UVZack9Vc3ZOMUYzTUM5WEwydEJiMlZUTXpVNWJVbzROMHhUTVZseWRGSlZTV2xGUmxSTmJ5OVRLMVkxVkRkbVJGSmhjVXMxUlVOUFUyUklTR2h1TVZodGJVNXBTa1ZLUjNaWU5uTkxibkZrWTB4elkwZEpNVll5Vkc1M2NGUjVaMjlwU1RsdFZVWlJibXBHWTA5NlpscHBhUzlaU1RKVVVFdHFhMGM0V2twMVowMDRXR1E1VERGUmNqaDFkRVJhYWtKVVZWWnlWME40VVZOYVVURnNlbGQwYjIxM05XaGhWVmhtV0hwM05VWldkMWxvWjJFNWFscFFSRkZMT1hSamVIQlBWMjUxVG1Ga1lrZHlVRTVTT0dOcFVFSldOVXgwVERKVVRGRjVOWFZsVUZWYVNVNXJTVzVaZVhOa1RWSlZTMmhVTjBwaWJpdFRUbWxPY1hNNVF6TnVRME54UjFWcFdra3lWbUoyYmk5c2MzbEhZMnhGU1ZJeVJrNTJPRzl2TXl0cVdXUTFRakJ4ZERKWE5EWnRSMEZ2YlZaMUt6STNVV3hVVG5wRU0wRTVhVEVyUTJwNVkwTm1VV1p1WVRaUVIyTXJRV1kwT0c4MmQxaERaMVZTUkVaeU1YbDJhMFJGYldkbmJUZDJlRTF6V25Cb1VHUkxXbTFzYWxCMGNrdERlazVCWkRGeFV6SlhURzVpWVZKRVVVcEZTV1psZFdFeFNVRmFlblpqYTJadk4zSndVRnBOTVU5M1QxbE1NMHhZUm5wR1ZXOXpUSFp4WXpWdVZFSXhlSFZtYWxsb09TOUpVMFZzZGtwc1JqRnFVMlJYVkRGblFreElNbTgwYTFJeVJWbEpRM0ZMSzFNMlozVkhRMVJRWnk5cksycEtZV3REUjBoNlMycG5WM2N3YmtkWVkxbFJMMHRxZWpsS2VHd3JZV3h0V2trMVZuTm5Sa1V6Y25WSU5sTlRkbk12YUVkYVlqa3haSFU0YzBSd1kwdGpSVFpJZWpsTlRHZG5OalpKWTFnd09GWmFTRGRMVnk5V01rb3pXbGQxYjB4aU9UUldWbloxUnpGWkt6Tm5Vbkl4UzIxNGF5OXdkSFJoYlc5bmJrZExVblExVkZOWWFFZHZNMWRXYkZGNVIwcDNjbVpyTmxaSk1FczFVVmhFV1dscGFqaG9hVVJsYTNWTFJXZDBMM1IzSzIxWlUxWjViRkZQYVVwdWRFOUpiVTFVYmsxRlJsbzRXRWxyUm5Nd1dsVlJTbXQzVVZRM0x6ZG9keTlCT0VSRFZtYzFZa1pvVVRKWlp6TTFRMmxJSzFOcFZUWXhSMEYxYlRWaGNqTnVXVWgyTjI5WmQyNVRka2N4WlRaaVEyWkdUMDE1YUhCaWJ6bHhMMGRyUjJORFRVVnBNRzgyZG5aNGFsWnpkVUkwVVc1VVNtWTFiVGN4Y2tOMlIyUlVjRlZ3U2xveE5rVXZTbTg0VEVwa09WWmlPRmR0U1Zrd05sUXlaQ3RSV2pGVFkyWlliMjVYVERGdGIxUk1aMk41Wlc1SVpUVlNVVFJ5VjB0Q1FXTm1PREp4U21OSkswYzFSVTlGTVZsMmMydHVSRGxuYmtKU09GaE9PRzluU0RoRFozbE1jVTlST0RKM1FYQlBRMWR3TURWelNXUnhlWGRpU2xSWVExaFhLMHBKUTBSNGMxZHhXQ3RKVUdVM1RuWktaa0Y2UVZONk1TdDZhVmhyUTI1S1R5OWhSbEo1WjJWeE4xaHBha3BQVERkTlUzZHplRUVyTURsRFFpdFlRMmRxVkhKNFJHTk5SRVZWUkVOQmMyWkVRak0xU2poVFkzaHRlREozTXpsWmJTOXVSMFo0UlZjNE1FaE5jMEYwUkVaNU1tdEJjMEl5Y3poM1N6UTRVVzg0Tm5KTlp6Wm1jbXRXY1E9PQ--" frameborder="0" scrolling="no" allowfullscreen="yes" style="height: 100%; width: 100%;"></iframe>
|
|
||||||
</div>
|
|
||||||
<!--
|
|
||||||
<div class="servers" style="display: none; " >
|
|
||||||
<i class="serversToggle fas fa-cloud"></i>
|
|
||||||
|
|
||||||
<div class="serversList">
|
|
||||||
<div class="server" data-hash="MTQ1ZTU4OGFjMGFlYTcwMzJkNzRhYzBkMDE0M2YxMjU6ZVhoQlRYRm1SemRyU0hOVGEzRkNVWEJsTUdOMGFsbzFSa3hqYzNkbFYzUmtObHBzTHpoNU9EaEJUSFoyYW1Wa2VtTklOVEpQU25Kb1MyRm1MMVJGY1hkbU1UWk9ObkkwTVdKMlVXcDVZM3B6Unl0T1pXOTZVbk5sUmt4bllXdEdNVGRCT0M4NGRYSnZSeTgxVUV0NlMwSTNTMWRUVmxWQ2JsRkRhWG94V0hoVVpYZzJUbG92UVZack9Vc3ZOMUYzTUM5WEwydEJiMlZUTXpVNWJVbzROMHhUTVZseWRGSlZTV2xGUmxSTmJ5OVRLMVkxVkRkbVJGSmhjVXMxUlVOUFUyUklTR2h1TVZodGJVNXBTa1ZLUjNaWU5uTkxibkZrWTB4elkwZEpNVll5Vkc1M2NGUjVaMjlwU1RsdFZVWlJibXBHWTA5NlpscHBhUzlaU1RKVVVFdHFhMGM0V2twMVowMDRXR1E1VERGUmNqaDFkRVJhYWtKVVZWWnlWME40VVZOYVVURnNlbGQwYjIxM05XaGhWVmhtV0hwM05VWldkMWxvWjJFNWFscFFSRkZMT1hSamVIQlBWMjUxVG1Ga1lrZHlVRTVTT0dOcFVFSldOVXgwVERKVVRGRjVOWFZsVUZWYVNVNXJTVzVaZVhOa1RWSlZTMmhVTjBwaWJpdFRUbWxPY1hNNVF6TnVRME54UjFWcFdra3lWbUoyYmk5c2MzbEhZMnhGU1ZJeVJrNTJPRzl2TXl0cVdXUTFRakJ4ZERKWE5EWnRSMEZ2YlZaMUt6STNVV3hVVG5wRU0wRTVhVEVyUTJwNVkwTm1VV1p1WVRaUVIyTXJRV1kwT0c4MmQxaERaMVZTUkVaeU1YbDJhMFJGYldkbmJUZDJlRTF6V25Cb1VHUkxXbTFzYWxCMGNrdERlazVCWkRGeFV6SlhURzVpWVZKRVVVcEZTV1psZFdFeFNVRmFlblpqYTJadk4zSndVRnBOTVU5M1QxbE1NMHhZUm5wR1ZXOXpUSFp4WXpWdVZFSXhlSFZtYWxsb09TOUpVMFZzZGtwc1JqRnFVMlJYVkRGblFreElNbTgwYTFJeVJWbEpRM0ZMSzFNMlozVkhRMVJRWnk5cksycEtZV3REUjBoNlMycG5WM2N3YmtkWVkxbFJMMHRxZWpsS2VHd3JZV3h0V2trMVZuTm5Sa1V6Y25WSU5sTlRkbk12YUVkYVlqa3haSFU0YzBSd1kwdGpSVFpJZWpsTlRHZG5OalpKWTFnd09GWmFTRGRMVnk5V01rb3pXbGQxYjB4aU9UUldWbloxUnpGWkt6Tm5Vbkl4UzIxNGF5OXdkSFJoYlc5bmJrZExVblExVkZOWWFFZHZNMWRXYkZGNVIwcDNjbVpyTmxaSk1FczFVVmhFV1dscGFqaG9hVVJsYTNWTFJXZDBMM1IzSzIxWlUxWjViRkZQYVVwdWRFOUpiVTFVYmsxRlJsbzRXRWxyUm5Nd1dsVlJTbXQzVVZRM0x6ZG9keTlCT0VSRFZtYzFZa1pvVVRKWlp6TTFRMmxJSzFOcFZUWXhSMEYxYlRWaGNqTnVXVWgyTjI5WmQyNVRka2N4WlRaaVEyWkdUMDE1YUhCaWJ6bHhMMGRyUjJORFRVVnBNRzgyZG5aNGFsWnpkVUkwVVc1VVNtWTFiVGN4Y2tOMlIyUlVjRlZ3U2xveE5rVXZTbTg0VEVwa09WWmlPRmR0U1Zrd05sUXlaQ3RSV2pGVFkyWlliMjVYVERGdGIxUk1aMk41Wlc1SVpUVlNVVFJ5VjB0Q1FXTm1PREp4U21OSkswYzFSVTlGTVZsMmMydHVSRGxuYmtKU09GaE9PRzluU0RoRFozbE1jVTlST0RKM1FYQlBRMWR3TURWelNXUnhlWGRpU2xSWVExaFhLMHBKUTBSNGMxZHhXQ3RKVUdVM1RuWktaa0Y2UVZONk1TdDZhVmhyUTI1S1R5OWhSbEo1WjJWeE4xaHBha3BQVERkTlUzZHplRUVyTURsRFFpdFlRMmRxVkhKNFJHTk5SRVZWUkVOQmMyWkVRak0xU2poVFkzaHRlREozTXpsWmJTOXVSMFo0UlZjNE1FaE5jMEYwUkVaNU1tdEJjMEl5Y3poM1N6UTRVVzg0Tm5KTlp6Wm1jbXRXY1E9PQ--">CloudStream Pro</div>
|
|
||||||
<div class="server" data-hash="OGQyZDY4MTBjY2I2ZjBkOTg0YzMyODZkZTVhNGJlODM6YjBjeU0zcFhWM0pKT0ZGSmFXcFFia1kxVG1kNVpHVmpkVE5ZZUVkMFdHUklXRTh5UjAxWGVrTmhTR042TVhGaFRGcEtSUzlSV0V0Q1duSkJUWFpIV0RCWlpHRktZalJ0Tld0QmNYTTBTelpPYkhWVmIwaDJVbkpIZVZjMGMwOUllbEJhVjNKNk56SkRjamR1VEdwTU4wVXpMM1JFV2pkSGEyWnRLME5VVDFWWVZ6RTRWREY0YzJsRmFtTldUbWhvT0RCeFN6bEljVTF1U1ZSRFUzVmxTVlIxVGtzMGRtVjVRbmhoWnpkMVdtNVRlRTAzYW04NVNITkxXbms0V25wcA--">2Embed</div>
|
|
||||||
<div class="server" data-hash="NWQ2MjU3YTg3MmViYzMzZThhMjk0NDdkODAwNDI4ZDk6ZDNReU9ISndXbTg0U0RSd09YWmlaQ3N5U20xVU1EazBZVVl4TVZkaVltTXZZME13WW1oSGJHbG9WemxVWm1GcVZWRm9UVk5KY1VOTGRFd3haalp2V1M5dWRrYzJabE0xV0ZOSFIzZ3lWbmRHVmpRMFkwRTlQUT09">Superembed</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var sb_test = true;
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>-->
|
|
||||||
<script src="/jquery-3.7.1.min.js"></script>
|
|
||||||
|
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-md5/2.16.0/js/md5.min.js" integrity="" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/3.0.5/js.cookie.min.js"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js" integrity="sha512-3j3VU6WC5rPQB4Ld1jnLV7Kd5xr+cq9avvhwqzbH/taCRNURoeEpoPBK9pDyeukwSxwRPJ8fDgvYXd6SkaZ2TA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
||||||
|
|
||||||
<script src="/base64.js?t=1688387834"></script>
|
|
||||||
<script src="/sources.js?t=1745104089"></script>
|
|
||||||
<script src="/reporting.js?t=1688387834"></script>
|
|
||||||
|
|
||||||
<script src="//cloudnestra.com/asdf.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="/sbx.js?t=1754734900"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var lc_on = IsLcOn();
|
|
||||||
|
|
||||||
var the_iframe = document.getElementById('player_iframe');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
current_sub_name = "sub_"+$("body").data("i");
|
|
||||||
if ($("body").data("s") && $("body").data("e")){
|
|
||||||
current_sub_name += "_"+$("body").data("s")+"x"+$("body").data("e");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var lc_pro_cc = true;
|
|
||||||
|
|
||||||
|
|
||||||
var current_sub_data = 0;
|
|
||||||
|
|
||||||
if(lc_on){
|
|
||||||
var current_sub_data_tmp = JSON.parse(localStorage.getItem(current_sub_name));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var sub_hash = 'd95b3482760d7e331a0e4505fe338f2d';
|
|
||||||
/*
|
|
||||||
if(current_sub_data_tmp != null){
|
|
||||||
if (typeof current_sub_data_tmp === 'object'){
|
|
||||||
//console.log(current_sub_data_tmp);
|
|
||||||
if(current_sub_data_tmp.sub_hash == sub_hash)
|
|
||||||
current_sub_data = current_sub_data_tmp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
// pm redirector
|
|
||||||
window.addEventListener('message', message => {
|
|
||||||
if (message.source == window) {
|
|
||||||
return; // Skip message in this event listener
|
|
||||||
}
|
|
||||||
|
|
||||||
if(message.data.type == "PLAYER_EVENT"){
|
|
||||||
//console.log(message.data);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(message.data == "reload_page"){
|
|
||||||
window.location.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(message.data == "tvfull"){
|
|
||||||
$(".servers")[0].css('left', '100px');
|
|
||||||
}
|
|
||||||
|
|
||||||
if(message.source == window.parent){
|
|
||||||
var the_iframe = document.getElementById('player_iframe');
|
|
||||||
the_iframe.contentWindow.postMessage(message.data,'*');
|
|
||||||
}else{
|
|
||||||
window.parent.postMessage(message.data , '*');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function IsLcOn(){
|
|
||||||
var is_on = false;
|
|
||||||
try {
|
|
||||||
localStorage.setItem('test_lc' , "1");
|
|
||||||
if(localStorage.getItem('test_lc') == "1"){
|
|
||||||
is_on = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch(err) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return is_on;
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#iFrameId").on("load", function () {
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#ad720 #close").click(function(){
|
|
||||||
$(this).parent().parent().hide();
|
|
||||||
$.cookie("ad720", "1" ,
|
|
||||||
{
|
|
||||||
expires : 0.001,
|
|
||||||
path: "/;SameSite=None",
|
|
||||||
secure: true
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).ready(function(){
|
|
||||||
|
|
||||||
$(".servers").show();
|
|
||||||
|
|
||||||
if(window.frameElement === null){
|
|
||||||
$("#top_buttons_parent").show();
|
|
||||||
}else{
|
|
||||||
var ref = window.frameElement.getAttribute('data-ref');
|
|
||||||
if(ref != null){
|
|
||||||
$(".servers").css("left","100px")
|
|
||||||
|
|
||||||
if(ref.length > 3){
|
|
||||||
$.get("/is_vip_str.php?ref="+encodeURIComponent(ref), function(data, status){
|
|
||||||
if(data == "1"){
|
|
||||||
$("#top_buttons_parent").hide();
|
|
||||||
}else{
|
|
||||||
$("#top_buttons_parent").show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}else{
|
|
||||||
$("#top_buttons_parent").show();
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
$("#top_buttons_parent").show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Histats.com (div with counter) --><div id="histats_counter"></div>
|
|
||||||
<!-- Histats.com START (aync)-->
|
|
||||||
<script type="text/javascript">var _Hasync= _Hasync|| [];
|
|
||||||
_Hasync.push(['Histats.start', '1,4873540,4,511,95,18,00000000']);
|
|
||||||
_Hasync.push(['Histats.fasi', '1']);
|
|
||||||
_Hasync.push(['Histats.track_hits', '']);
|
|
||||||
_Hasync.push(['Histats.framed_page', '']);
|
|
||||||
(function() {
|
|
||||||
var hs = document.createElement('script'); hs.type = 'text/javascript'; hs.async = true;
|
|
||||||
hs.src = ('//s10.histats.com/js15_as.js');
|
|
||||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(hs);
|
|
||||||
})();</script>
|
|
||||||
<noscript><a href="/" target="_blank"><img src="//sstatic1.histats.com/0.gif?4873540&101" alt="free counter with statistics" border="0"></a></noscript>
|
|
||||||
<!-- Histats.com END -->
|
|
||||||
|
|
||||||
<script src='https://unpkg.com/disable-devtool@0.3.9/disable-devtool.min.js#/misdir.js'></script>
|
|
||||||
<script>
|
|
||||||
DisableDevtool({
|
|
||||||
clearLog: true ,// Whether to clear the log every time
|
|
||||||
disableSelect: true , // Whether to disable selection text Default is false
|
|
||||||
disableCopy: true , // Whether to disable copying, default is false
|
|
||||||
disableCut: true , // Whether to disable cutting, default is false
|
|
||||||
disablePaste: true ,
|
|
||||||
disableIframeParents: false // Whether all parent windows are disabled in the iframe
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script data-ssr="1" data-cfasync="false" async type="text/javascript" src="//pb.rootcapruntime.cyou/r696797109dc94/131608"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,11 +0,0 @@
|
||||||
#EXTM3U
|
|
||||||
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English [CC]",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="eng",URI="https://vixsrc.to/playlist/612252?type=subtitle&rendition=eng-2&token=A4DdWVOC-Zk7oVrYIQU3bA&expires=1773654453&edge=sc-u9-01"
|
|
||||||
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English [Forced]",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="eng-forced",URI="https://vixsrc.to/playlist/612252?type=subtitle&rendition=eng-forced-3&token=A4DdWVOC-Zk7oVrYIQU3bA&expires=1773654453&edge=sc-u9-01"
|
|
||||||
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="French",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="fre",URI="https://vixsrc.to/playlist/612252?type=subtitle&rendition=fre-4&token=A4DdWVOC-Zk7oVrYIQU3bA&expires=1773654453&edge=sc-u9-01"
|
|
||||||
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Spanish",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="spa",URI="https://vixsrc.to/playlist/612252?type=subtitle&rendition=spa-5&token=A4DdWVOC-Zk7oVrYIQU3bA&expires=1773654453&edge=sc-u9-01"
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=4500000,CODECS="avc1.640028,mp4a.40.2",RESOLUTION=1920x1080,SUBTITLES="subs"
|
|
||||||
https://vixsrc.to/playlist/612252?type=video&rendition=1080p&token=ILslAWZ4iHG13XwOYOr42g&expires=1773654453&edge=sc-u9-01
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=1800000,CODECS="avc1.64001f,mp4a.40.2",RESOLUTION=1280x720,SUBTITLES="subs"
|
|
||||||
https://vixsrc.to/playlist/612252?type=video&rendition=720p&token=9LPJeLV-X45xQ9bKCLyYFA&expires=1773654453&edge=sc-u9-01
|
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=720000,CODECS="avc1.640015,mp4a.40.2",RESOLUTION=640x360,SUBTITLES="subs"
|
|
||||||
https://vixsrc.to/playlist/612252?type=video&rendition=360p&token=CQDIdX_LN3QdQ9yFRDMNlA&expires=1773654453&edge=sc-u9-01
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue