#!/bin/node const https = require('https'); const fs = require('fs'); const zlib = require('zlib'); const crypto = require('crypto'); const CryptoJS = require('crypto-js'); const url = process.argv[2]; const episodes = process.argv.slice(3); const animeMatches = url.match(/\/a\/([^/]+)(\/([0-9]+))?/i); const anime = animeMatches[1]; const episode = Number(animeMatches[3]); if (episodes.length === 0) episodes.push(episode); console.log('Anime:', anime, 'episodes:', episodes); function handleResponse(response, callback) { const enc = response.headers['content-encoding']; let d = ''; response.on('data', data => d += enc === 'gzip' ? zlib.unzipSync(data) : data); response.on('end', () => { callback(d); }); } function getCookie(then) { https.request(url, { headers: { "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Language": "en-US,en;q=0.5", "Accept-Encoding": "gzip, deflate, br", "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1", "Pragma": "no-cache", "Cache-Control": "no-cache" } }, response => { handleResponse(response, data => { const script = data.match(/