{"_id":"@definisi/vidsrc-scraper","_rev":"7-813ca50914775acf318befbce7e0b7f7","name":"@definisi/vidsrc-scraper","dist-tags":{"latest":"2.0.2"},"versions":{"1.0.0":{"name":"@definisi/vidsrc-scraper","version":"1.0.0","keywords":["vidsrc","scraper","hls","streaming","tmdb"],"license":"MIT","_id":"@definisi/vidsrc-scraper@1.0.0","maintainers":[{"name":"definisi","email":"prasetyo.rahman@icloud.com"}],"dist":{"shasum":"9df2c59d7903b23222538aea038fa06bf0c23565","tarball":"https://registry.npmjs.org/@definisi/vidsrc-scraper/-/vidsrc-scraper-1.0.0.tgz","fileCount":8,"integrity":"sha512-2xLZ2DGyXU27MCMmQE6pkRnCkVeARZ+7tuKokRTy24paGpQKnX1CdZ+9GKXKl8nRsQg1VIEgakPhrhrcasPOew==","signatures":[{"sig":"MEYCIQCRixnntVi8HBEWKHIEti0yncBH5xQBz0b5b58Y02PX3QIhAJMvjPWnUfOVPL7Dj3buKcGDXusXlvrNzQFNtecAjOMx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7194},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a23c3d05ec33e6e417516e12ab5319b87dc24596","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"definisi","email":"prasetyo.rahman@icloud.com"},"_npmVersion":"10.8.2","description":"Extract HLS streaming URLs from VidSrc","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"playwright":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/vidsrc-scraper_1.0.0_1769139127762_0.7843139304560791","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@definisi/vidsrc-scraper","version":"1.0.1","keywords":["vidsrc","scraper","hls","streaming","tmdb"],"license":"MIT","_id":"@definisi/vidsrc-scraper@1.0.1","maintainers":[{"name":"definisi","email":"prasetyo.rahman@icloud.com"}],"dist":{"shasum":"9bfdc2a8ea7a4df29a0775c75b13d0729cbee7b5","tarball":"https://registry.npmjs.org/@definisi/vidsrc-scraper/-/vidsrc-scraper-1.0.1.tgz","fileCount":8,"integrity":"sha512-p4maOem6XfM+5F42rONWRRRRcbQ5NbiMy6lo5ReSr8cnPjWAGYAUF3JTLj6osyPMIgGsJ5yngTyfAIHxhMlWkw==","signatures":[{"sig":"MEQCIC0IfTlszXacXSCg6LiaTGfnkY32ROw+tvmRN5EANY55AiBDJEy9PWdplvM5vjsYc1qjTfQfgLKi0k6iy9p5KGwG1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6924},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"662b91670d124ac61f974b597e3e5823c37a7faa","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"definisi","email":"prasetyo.rahman@icloud.com"},"_npmVersion":"10.8.2","description":"Extract HLS streaming URLs from VidSrc","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"playwright":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/vidsrc-scraper_1.0.1_1769139677773_0.09220063216528707","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@definisi/vidsrc-scraper","version":"1.1.0","keywords":["vidsrc","scraper","hls","streaming","tmdb"],"license":"MIT","_id":"@definisi/vidsrc-scraper@1.1.0","maintainers":[{"name":"definisi","email":"prasetyo.rahman@icloud.com"}],"dist":{"shasum":"95cf4deb58b52865c1291fbd3f66c3f2c00eb9b5","tarball":"https://registry.npmjs.org/@definisi/vidsrc-scraper/-/vidsrc-scraper-1.1.0.tgz","fileCount":8,"integrity":"sha512-RDL8WIUHZNavU6bErHitMOgpShl2c6VLBh2JQkVsFdgMBecbxgqo4GQMPKK2ok7Qlg+wDIpZ4zcgmgLpkKQltA==","signatures":[{"sig":"MEQCIGNwUCao6AuQmahd5DkV6HpTJoVUlacIDWV3R+9XdTDoAiACXn+prQXa8Dk2iUl3KTKdsyzLB5cqd59DxxRp2tOTIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7295},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"109bdddb2ffe34d64466865512f7b400d6c7dfa0","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"definisi","email":"prasetyo.rahman@icloud.com"},"_npmVersion":"10.8.2","description":"Extract HLS streaming URLs from VidSrc (no browser required)","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vidsrc-scraper_1.1.0_1769140202614_0.290672212731359","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@definisi/vidsrc-scraper","version":"1.0.3","keywords":["vidsrc","scraper","hls","streaming","tmdb"],"license":"MIT","_id":"@definisi/vidsrc-scraper@1.0.3","maintainers":[{"name":"definisi","email":"prasetyo.rahman@icloud.com"}],"dist":{"shasum":"e97894f23e6d0061d762d98fec973383cff5b76b","tarball":"https://registry.npmjs.org/@definisi/vidsrc-scraper/-/vidsrc-scraper-1.0.3.tgz","fileCount":8,"integrity":"sha512-bEygN64Feg5Aq+O6yT4lYuSo0tX7/BGtFdG7TIY2HYssaKhNtX9UyahUGFo2euISoUz8s1gycRZrc1TKCjdCmA==","signatures":[{"sig":"MEUCIAwUPHHOFBKnCZWH5srLYxd1aR523WqqjAGOLCIt5n2pAiEAgbiXIyaPTk6w4a9xNSdmQv3bqGSXP1lkBdgkcbXyhYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8161},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"109bdddb2ffe34d64466865512f7b400d6c7dfa0","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"definisi","email":"prasetyo.rahman@icloud.com"},"_npmVersion":"10.8.2","description":"Extract HLS streaming URLs from VidSrc","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"playwright":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/vidsrc-scraper_1.0.3_1769197008289_0.7971736988000029","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@definisi/vidsrc-scraper","version":"2.0.0","keywords":["vidsrc","scraper","hls","streaming","tmdb"],"license":"MIT","_id":"@definisi/vidsrc-scraper@2.0.0","maintainers":[{"name":"definisi","email":"prasetyo.rahman@icloud.com"}],"dist":{"shasum":"602498ac8579c7beb63c2583bf09c65569d6fcb5","tarball":"https://registry.npmjs.org/@definisi/vidsrc-scraper/-/vidsrc-scraper-2.0.0.tgz","fileCount":8,"integrity":"sha512-cAYcRYf0chV4vfvL2iAL8CFnfJ7JtoaK4+XFks+b4462K7y3qoXRJbbjj2mKpoDpqZfOG0ct86BO6Tp47Oi42Q==","signatures":[{"sig":"MEQCIClJxXapWGhrJjMknIN9x3RqbBYcLSNwTei5kqR0xLN9AiAf/F+3OZN3eA98aKTS1Pgidrmn21hmyJkc7YlfJKHCRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8133},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"109bdddb2ffe34d64466865512f7b400d6c7dfa0","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"definisi","email":"prasetyo.rahman@icloud.com"},"_npmVersion":"10.8.2","description":"Extract HLS streaming URLs from VidSrc using axios","directories":{},"_nodeVersion":"20.19.4","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vidsrc-scraper_2.0.0_1769226376008_0.3548288534920345","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@definisi/vidsrc-scraper","version":"2.0.1","keywords":["vidsrc","scraper","hls","streaming","tmdb"],"license":"MIT","_id":"@definisi/vidsrc-scraper@2.0.1","maintainers":[{"name":"definisi","email":"prasetyo.rahman@icloud.com"}],"dist":{"shasum":"1bed9de9ead21a5a1c2aa4f6a2021dc4f4f846cc","tarball":"https://registry.npmjs.org/@definisi/vidsrc-scraper/-/vidsrc-scraper-2.0.1.tgz","fileCount":8,"integrity":"sha512-11/qXTAHvIZXXmSYgVxE/gxP25LClyITLTFScAjrz9t/t2fPFOQall87hbZZ7my8Z6NrnqKu5ikNR/K7fK6oDA==","signatures":[{"sig":"MEYCIQD2edoR7+EKFc88hJRJENjetlRhL9JDmkxSBGTAbpeNnQIhAN2SMjgIzefdXhzwXXs1kNpzF/42qSnTH6BvvhQXwmmB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7553},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"51107d25a06191efd7dc1d21aca26957b66fb522","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"definisi","email":"prasetyo.rahman@icloud.com"},"_npmVersion":"10.8.2","description":"Extract HLS streaming URLs from VidSrc using axios","directories":{},"_nodeVersion":"20.19.4","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vidsrc-scraper_2.0.1_1769237363665_0.8138772940347858","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@definisi/vidsrc-scraper","version":"2.0.2","description":"Extract HLS streaming URLs from VidSrc using axios","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["vidsrc","scraper","hls","streaming","tmdb"],"license":"MIT","dependencies":{"axios":"^1.6.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.5.0"},"_id":"@definisi/vidsrc-scraper@2.0.2","gitHead":"a28d0964a55ca2d4bcf75559ab2fb783dc585ca3","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-OYTXZ6VTySiPx+fS4rXcBOhP2qtjMyJrk2amu71wO0Ydasvy8ev+dGe+WMtpAXcq7EClHqalQ/kgwaxUan+i6Q==","shasum":"af618a462cf498b87a9c4f885e692d059d1f4592","tarball":"https://registry.npmjs.org/@definisi/vidsrc-scraper/-/vidsrc-scraper-2.0.2.tgz","fileCount":8,"unpackedSize":7553,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEpzEgCROAjd9QMd8GhpdRBwg6KgoBMegCI9XAwAfJfyAiAPJc1XbW6yf5vgvxvcayLVVwyTq24RHpxM2qBdmYA6dw=="}]},"_npmUser":{"name":"definisi","email":"prasetyo.rahman@icloud.com"},"directories":{},"maintainers":[{"name":"definisi","email":"prasetyo.rahman@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vidsrc-scraper_2.0.2_1769237425773_0.9004136870826913"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-23T03:32:07.702Z","modified":"2026-01-24T06:50:26.028Z","1.0.0":"2026-01-23T03:32:08.072Z","1.0.1":"2026-01-23T03:41:17.925Z","1.1.0":"2026-01-23T03:50:02.752Z","1.0.3":"2026-01-23T19:36:48.431Z","2.0.0":"2026-01-24T03:46:16.162Z","2.0.1":"2026-01-24T06:49:23.807Z","2.0.2":"2026-01-24T06:50:25.905Z"},"license":"MIT","keywords":["vidsrc","scraper","hls","streaming","tmdb"],"description":"Extract HLS streaming URLs from VidSrc using axios","maintainers":[{"name":"definisi","email":"prasetyo.rahman@icloud.com"}],"readme":"# @definisi/vidsrc-scraper\r\n\r\nExtract HLS streaming URLs from VidSrc using pure HTTP requests.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @definisi/vidsrc-scraper\r\n```\r\n\r\n## Usage\r\n\r\n```typescript\r\nimport { scrapeVidsrc } from '@definisi/vidsrc-scraper';\r\n\r\n// Scrape a movie by TMDB ID\r\nconst result = await scrapeVidsrc('27205', 'movie');\r\n\r\nif (result.success) {\r\n  console.log('HLS URL:', result.hlsUrl);\r\n  console.log('Subtitles:', result.subtitles);\r\n}\r\n\r\n// Scrape a TV episode\r\nconst tvResult = await scrapeVidsrc('1399', 'tv', '1', '1');\r\n```\r\n\r\n## Options\r\n\r\n| Option | Type | Default | Description |\r\n|--------|------|---------|-------------|\r\n| timeout | number | 30000 | Request timeout in milliseconds |\r\n| cacheTtl | number | 900 | Cache time-to-live in seconds |\r\n\r\n```typescript\r\nconst result = await scrapeVidsrc('27205', 'movie', null, null, {\r\n  timeout: 60000,\r\n  cacheTtl: 1800,\r\n});\r\n```\r\n\r\n## Result Type\r\n\r\n```typescript\r\ninterface ScrapeResult {\r\n  tmdbId: string;\r\n  type: 'movie' | 'tv';\r\n  season: string | null;\r\n  episode: string | null;\r\n  hlsUrl: string | null;\r\n  subtitles: string[];\r\n  success: boolean;\r\n  timestamp: string;\r\n}\r\n```\r\n\r\n## Playback\r\n\r\nThe HLS URLs require proper headers. Example with VLC:\r\n\r\n```bash\r\nvlc \"HLS_URL\" \\\r\n  --http-user-agent=\"Mozilla/5.0\" \\\r\n  --http-referrer=\"https://cloudnestra.com/\"\r\n```\r\n\r\n## How It Works\r\n\r\n1. Fetches embed page from `vidsrc-embed.ru`\r\n2. Extracts RCP iframe URL from cloudnestra.com\r\n3. Extracts prorcp hash from RCP page\r\n4. Fetches M3U8 URL from prorcp endpoint\r\n5. Resolves domain placeholders (`{v1}` - `{v5}` -> `cloudnestra.com`)\r\n\r\n## Requirements\r\n\r\n- Node.js 18+\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}