{"bin":{"redgifs-downloader":"cli.js"},"name":"redgifs-downloader","version":"1.0.0-beta.4","description":"This is a simple command line utiliy which allows you to download all videos from any user or search term on RedGIFs.","engines":{"node":">=8"},"keywords":["redgifs","redgifs downloader","nsfw"],"main":"./lib/index.js","scripts":{"pkg-build":"pkg cli.js","pkg-build-win":"pkg cli.js --targets node12-win-x64","start":"node cli.js","build":"rollup -c rollup.config.js","preinstall":"node preinstall.js","release":"npx np"},"pkg":{"targets":["node12-win-x64"],"outputPath":"dist"},"author":{"name":"misob"},"license":"MIT","dependencies":{"axios":"^0.21.1"},"devDependencies":{"camelcase":"^5.3.1","kleur":"^4.1.4","pkg":"^5.3.0","rollup":"^2.0.0","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-cpy":"^2.0.1","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-re":"^1.0.7","rollup-plugin-strip":"^1.2.2","rollup-plugin-visualizer":"^1.1.1","rollup-pluginutils":"^2.8.2","unlazy-loader":"^0.1.3"},"gitHead":"8adc6f5842b914d1d65f718c3b263d1e7f1e4d4e","readmeFilename":"README.md","_id":"redgifs-downloader@1.0.0-beta.4","_nodeVersion":"12.18.3","_npmVersion":"7.17.0","dist":{"integrity":"sha512-iPNDtANZULsbueO236USgZ54l+BhsEJbKjzKTTYl03hiq3mVI0iyyskuKOH3HSx0eNsLrIkxTH8P9+G5BP9R0w==","shasum":"49435447410b7c6e3deb062145cc0bb516d6aaab","tarball":"https://registry.npmmirror.com/redgifs-downloader/-/redgifs-downloader-1.0.0-beta.4.tgz","fileCount":13,"unpackedSize":50536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg809DCRA9TVsSAnZWagAAX4oP/3KKwaN/QQ5Hor/2hXEI\nh7LMaBE3XmyTYKlODuteVJnZuGkcNc4o1Nwl6VzlVhlVpyw6euPsqwnTa5GT\n+uDfc9MXVrRtkOeGtlLb9KD9wsA86N9Has8ZCvA1WrhpWb9lM6ww2smOyiZX\n0F8rcn64a87ptsg6BrsrSuRhjm5O9/sODrDmsh/WG9V03zN/Oc1acdruqrwu\nsVD8Gr0vWvCKVRI0tOdJ3sF9geyBdYrxEbNT25O8kcQ2w/nPGRf3b+rzrIFH\nZsK+8fkGT1DwvS6wqzcoQNbfGgGOQKMol6gYOCSmotfu2VNA+Vx9da2eEozY\nZ/DDuuBhfd70ZEXvzEK8ozeR02O6fxhncK41nPMciD5YoxJI+XJi2NH8cwHb\n2xj3BxM7aSF2AlJwdHQSIVXH7fGZuR4xrZAb1jEVS1THp9XMAHMiER6FQnfq\n8C6otGtQozrEDp1NAK1s7O/pT+/jsQmxTggDx3UK7BAF24VZXzZ+JG4rtU0A\nUWKTiTKqG13KxIZ3jgvSaquhlq6/VL8ZvYRq5hKM5eg2RZkS5buJ6LEkp4+2\nIuUgSl8rgWanQM3aXx1SWtef0EN22AEl72fGEY0BBtmqYspa8jw+Uv8qp7HF\n6mRQqJUVcFJrcOqHM4w2KD0Avew7o8aMrmOZVlE0j3o3rZGusn5w1INlFxjA\nS5TR\r\n=bpz6\r\n-----END PGP SIGNATURE-----\r\n","size":13726},"_npmUser":{"name":"misob","email":"miso@misobarisic.com"},"directories":{},"maintainers":[{"name":"misob","email":"miso@misobarisic.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redgifs-downloader_1.0.0-beta.4_1626558274981_0.14081683767814446"},"_hasShrinkwrap":false,"deprecated":"unsupported","_cnpmcore_publish_time":"2021-12-27T18:17:59.406Z","hasInstallScript":true,"readme":"
\n \n \n \n\n \n \n \n \n \n\n \n \n
\n\nHow many times have you wanted to download videos in bulk from [RedGIFs](https://www.redgifs.com/). Downloading videos\nfrom your favourite user and any search term has never been easier!\nJust follow the steps below and make sure to use filters to enhance your experience.\n\n## Usage\n\nRequires `nodejs` and `npm`. There are multiple ways you can use this downloader.\nInstall this package locally with `npm i redgifs-downloader` or globally with `npm i redgifs-downloader -g`\n\n1. Recommended use case\n\n#### Simple Approach\n\n```javascript\nconst RedgifsDownloader = require(\"redgifs-downloader\")\n// Replace __dirname with your prefered starting directory of choice\n// Gifs will be downloaded into their corresponding subdirectories\nconst downloader = RedgifsDownloader.create(__dirname)\n\ndownloader.downloadQuery(\"juicy\")\ndownloader.downloadUser(\"your favourite user's id\")\n```\n\n#### Advanced Approach\n\n```javascript\nconst RedgifsDownloader = require(\"redgifs-downloader\")\n// Replace __dirname with your prefered starting directory of choice\n// Gifs will be downloaded into their corresponding subdirectories\nconst downloader = RedgifsDownloader.instance(__dirname)\n\n// EventListeners\ndownloader.addEventListener(\"onInit\", info => {\n console.log(\"[onInit]\", info)\n})\ndownloader.addEventListener(\"onStart\", info => {\n console.log(\"[onStart]\", info)\n})\ndownloader.addEventListener(\"onFinish\", info => {\n console.log(\"[onFinish]\", info)\n})\ndownloader.addEventListener(\"onFileDownloadStart\", info => {\n console.log(\"[onFileDownloadStart]\", info)\n})\ndownloader.addEventListener(\"onFileDownloadFinish\", info => {\n console.log(\"[onFileDownloadFinish]\", info)\n})\ndownloader.addEventListener(\"onFileDownloadSkip\", info => {\n console.log(\"[onFileDownloadSkip]\", info)\n})\ndownloader.addEventListener(\"onGetLinks\", info => {\n console.log(\"[onGetLinks]\", info)\n})\ndownloader.addEventListener(\"onError\", info => {\n console.log(\"[onError]\", info)\n})\n\ndownloader.downloadQuery(\"juicy\", options)\n// options object explained down below\n```\n\n2. Standalone Links API\n\n```javascript\nconst RedgifsDownloader = require(\"redgifs-downloader\")\n//1\nRedgifsDownloader.getUserLinks(\"your favourite user's id\", {numberToDownload: 2}).then(console.log)\n//2\nconst links = await RedgifsDownloader.getSearchLinks(\"juicy\", {minLikes: 3})\n```\n\n### Options object structure\n\n| Field | Data type | Description | Default |\n|:-----|:--------:|:--------:|------:|\n| minLikes | number | Minimum amount of likes | undefined |\n| maxLikes | number | Maximum amount of likes | undefined |\n| minDislikes | number | Minimum amount of dislikes | undefined |\n| maxDislikes | number | Maximum amount of dislikes | undefined |\n| minViews | number | Minimum amount of views | undefined |\n| maxViews | number | Maximum amount of views | undefined |\n| minDuration | number | Minimum gfy duration in seconds | undefined |\n| maxDuration | number | Maximum gfy duration in seconds | undefined |\n| minHeight | number | Minimum height in pixels | undefined |\n| maxHeight | number | Maximum height in pixels | undefined |\n| minWidth | number | Minimum width in pixels | undefined |\n| maxWidth | number | Maximum width in pixels | undefined |\n| numberToDownload | number | Max amount of gfycats to download | 250 |\n| nsfw | boolean | Whether gfy is tagged as \"nsfw\" | undefined |\n| hasAudio | boolean | Whether gfy has audio | undefined |\n| useMobile | boolean | Whether to use mobile urls instead of mp4 | false |\n| skipExisting | boolean | Whether to skip redownloading already existing files | false\n\nTo save on storage space and bandwidth, make sure `useMobile` is truthy! If a file is malformed and cannot be properly played,\n`skipExisting` does not care. It will always skip when there is a chance.\n\n## Author\n\n👤 **Mišo Barišić**\n\n* Website: https://www.misobarisic.com\n* GitHub: [@misobarisic](https://github.com/misobarisic)\n* GitLab: [@misobarisic](https://gitlab.com/misobarisic)\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n\n## 📝 License\n\nCopyright © 2021 [misobarisic](https://github.com/misobarisic).