{"bin":{"redgifs-downloader":"cli.js"},"name":"redgifs-downloader","version":"1.0.0-beta.9","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":"./dist/lib.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","prepublishOnly":"npm run build","release":"npx np"},"pkg":{"targets":["node12-win-x64"],"outputPath":"dist"},"author":{"name":"misob"},"license":"MIT","dependencies":{"axios":"^0.21.1","browser-or-node":"^1.3.0"},"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-terser":"^7.0.2","rollup-plugin-visualizer":"^1.1.1","rollup-pluginutils":"^2.8.2","unlazy-loader":"^0.1.3"},"gitHead":"ee324fd548dc8028225d22063c9c51f8b3460687","readmeFilename":"README.md","_id":"redgifs-downloader@1.0.0-beta.9","_nodeVersion":"12.18.3","_npmVersion":"7.17.0","dist":{"integrity":"sha512-C2uO4oXAryr/NCC7drbU0qol1/GJMPImusl6YgvnDDzt0qdeqsa3xhuahE5gT6Kb9RGj9UQ90AT+dJEw342NaA==","shasum":"36aa73a1233cc98ab4b54b2b0d9481afa4366881","tarball":"https://registry.npmmirror.com/redgifs-downloader/-/redgifs-downloader-1.0.0-beta.9.tgz","fileCount":12,"unpackedSize":543030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg88oMCRA9TVsSAnZWagAAfxIP+QEHt+EzQ0+aVTPhBDyT\nMnm4mBwhi3dVxpxM8J276qnJ/YBfRLZpKbAqLLPgvTmrpK4HGSgPVLwjLCBH\nReWOARXbqUqyRSSSbfdmq9+N0rlJOZKJ3I8kmsgXF75Xm7W2VFETlxhKeDRP\n4xiwFYBXRlm5yAsDznOKxlWdCrwNghS0qMTwhYjBcFyAnxhqn4mVMBpEINvr\nsXseFsKxS+XKbETx1Ju2rcLBpoFMSsWt4oU42ROT0PajxgjHMucv3x5em800\nKKbir/0wrKpk0nUFvYturz5OTjAC2vFn1LLtvqJcFGeS64lh35zVSxGCpfhK\n25LJMlnccloxTk515Ms3E+AJIzD0ddw0QdJBSc4wcHp4OK+ydiz3BIA0aD43\n+0QLgNAMm1lN8Bx3heVEibfiDNA27LGa374/AHoGN5u3/NFU9oxhnAYBWmm7\nGdF0edy5X1X3rLGa/QA7XyMsIGlfPEGruwYcuOveLAmt6IfmfDmgECER3Oh0\nSTSyA8bfTo+c6kTIO2ROoVcaL2Guymt07JcaI+lP5IY/Trs3ZNE5gmSYnWsG\nlxedq9AXCIkfrCZHUlWcbqj8cu+YtaozEtVsnFvunQryQIZRmFzgtFAWva1n\nFqmbSwdix0/fRJvd7wkDeahdjDNO4TwQVy2OvhFbGYLvzEYU15LEHLbcvZ6C\n6ei7\r\n=ylV2\r\n-----END PGP SIGNATURE-----\r\n","size":144984},"_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.9_1626589708232_0.6522140093964985"},"_hasShrinkwrap":false,"deprecated":"unsupported","_cnpmcore_publish_time":"2021-12-27T18:18:04.333Z","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).