{"bin":{"redgifs-downloader":"index.js"},"name":"redgifs-downloader","version":"0.0.2","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":"index.js","scripts":{"pkg-build":"pkg index.js","pkg-build-win":"pkg index.js --targets node12-win-x64","start":"node .","build":"rollup -c rollup.config.js","release":"npx np"},"pkg":{"targets":["node12-win-x64"],"outputPath":"dist"},"author":{"name":"misob"},"license":"MIT","dependencies":{"axios":"^0.21.1","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":"5590df7588f303fe681d7b50e39c9e704962bbcb","_id":"redgifs-downloader@0.0.2","_nodeVersion":"12.18.3","_npmVersion":"7.17.0","dist":{"integrity":"sha512-Nuh5O6rKcXdcDfPBVoMi09gDvS6NProN9T6MV3FpHhvtBEClAs3d8aYOnpHaConzD/4anWRO5OnUjAbEWe1MQg==","shasum":"58001767f2ec5ad185aff235b3e83c7a418ef8bd","tarball":"https://registry.npmmirror.com/redgifs-downloader/-/redgifs-downloader-0.0.2.tgz","fileCount":8,"unpackedSize":138014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7pvfCRA9TVsSAnZWagAABHoP/28kX4m6vj984/UzLxw7\nnOCtzbh3cf89lAVRsp3QPz9g86s0RR18CBapsm4yDcmFcfDksbFEHzxx/vUa\nTVYGa7gENnqi0/UWGs1N6JCgqehMBHB2UNC21fOh0TjgztwQ2rx8u49L8pKo\nPFBMhZfgpAhXH0ur1Ybg5cE/BwL1ROn8KfhwrMr19zcfxMBZxQg1A92DJUKy\n8Pds+SqwaYN2zFWjQClFm2k6fpxnVsRtP3UA8GBMhD8abQhWjEkpkFqE5vuV\nqtCPjJ+fEeHWozuidzwFlIwja1Rc8YxdUouruqu5ufruNKAqCMDLwqu3gNd1\nWMyBcRI73PEBfMvPhUc/wYN2nPJYJZmpfRlA94Qdzi3q9/UlO9y1MFaJlrQr\nXpLhHvy2H5nA4NdbNj4dnk3Qn4s8tiOKlXxcC6Fc0O+eBJCpXnTGztxgM9Gh\n8RJCFhRKdKFRDR3lV84Cw3b/GHFwQx7yMkAFbSpv0JlB/OQS+qIdODdV4JN2\nD3XEmQsPHDyDwmMaYdKWdRhMT3GBrhiYz+OyABiuGcYKsNwgbHdjquXIdhum\nloexn7TxB8wilZe+o6azKZIJk5feQv+oTiY6VTUUDu/YgbxTGIll4dvl20cO\nmBElq0M1epWoa0p8HU37oTEslywC3tVdWPExiC1FAMpDbwegK0hWHPkvWUme\n54Cz\r\n=PcLc\r\n-----END PGP SIGNATURE-----\r\n","size":38456},"_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_0.0.2_1626250206913_0.1089380505142361"},"_hasShrinkwrap":false,"deprecated":"unsupported","_cnpmcore_publish_time":"2021-12-27T18:17:43.660Z","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).