{"id":21462218,"url":"https://github.com/mcdallas/gert","last_synced_at":"2025-06-22T04:03:03.343Z","repository":{"id":62850938,"uuid":"561521382","full_name":"mcdallas/gert","owner":"mcdallas","description":"A command line tool to download media from Reddit","archived":false,"fork":false,"pushed_at":"2023-11-11T19:01:59.000Z","size":230,"stargazers_count":54,"open_issues_count":3,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-31T23:16:57.972Z","etag":null,"topics":["cli","media-downloader","reddit","reddit-api","reddit-crawler","reddit-scraper","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcdallas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-03T21:51:12.000Z","updated_at":"2025-03-20T22:32:05.000Z","dependencies_parsed_at":"2024-11-23T07:13:14.141Z","dependency_job_id":null,"html_url":"https://github.com/mcdallas/gert","commit_stats":{"total_commits":137,"total_committers":6,"mean_commits":"22.833333333333332","dds":0.4087591240875912,"last_synced_commit":"8ab9b107f89e32b210fcc6a1defa024837764a8b"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/mcdallas/gert","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcdallas%2Fgert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcdallas%2Fgert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcdallas%2Fgert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcdallas%2Fgert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcdallas","download_url":"https://codeload.github.com/mcdallas/gert/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcdallas%2Fgert/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261233102,"owners_count":23128194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","media-downloader","reddit","reddit-api","reddit-crawler","reddit-scraper","rust"],"created_at":"2024-11-23T07:13:07.635Z","updated_at":"2025-06-22T04:02:58.317Z","avatar_url":"https://github.com/mcdallas.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gert\n\nA command line tool to download media from Reddit\n\n* Supports:\n  - Reddit: PNG/JPG images, GIFs, Image galleries, videos\n  - Giphy: GIFs\n  - Imgur: Direct images, GIFVs and albums\n  - Gfycat/Redgifs: GIFs\n  - Streamable: videos\n* GIF/GIFV from Imgur/Gfycat/Redgifs are downloaded as mp4\n\n## Installation\n\n### Prerequisites \n\nThere is a soft dependency on ffmpeg, for installation instructions follow this [link](https://www.ffmpeg.org/download.html).\n\nYou can skip it but without it:\n* Videos hosted on reddit itself (v.redd.it) won't have sound\n* Gifs won't be automatically converted to .mp4\n\n#### Using cargo\n\nIf you already have Rust installed, you can install using `cargo`: \n```shell script\ncargo install gert\n```\n\n#### Using homebrew\n\n```shell script\nbrew tap mcdallas/gert\nbrew install gert\n```\n\n#### Github Release\n\njust grab the [latest release](https://github.com/mcdallas/gert/releases/latest) for your OS \n\n## Running\n\nSimply pass the names of the subreddits you want to download media from with (multiple) `-s` flags\n\n```bash\ngert -s wallpapers -s earthporn\n```\n\n![gert4](https://user-images.githubusercontent.com/15388116/200098386-762a7655-9bb0-43e8-a645-09fdb65c886d.gif)\n\n\n\nTo download media from a single post/collection just pass the url of the post\n\n```bash\ngert https://old.reddit.com/r/wallpapers/comments/tckky1/some_walls_from_my_collections_vol6/\n```\n\n\n\n## Command line options\n\n```bash\nSimple CLI tool to download media from Reddit\n\nUSAGE:\n    gert [FLAGS] [OPTIONS] \u003cURL\u003e --subreddit \u003cSUBREDDIT\u003e...\n\nFLAGS:\n    -c, --conserve-gifs     Disable gif to mp4 conversion\n        --debug             Show the current config being used\n    -r, --dry-run           Dry run and print the URLs of saved media to download\n    -h, --help              Prints help information\n    -H, --human-readable    Use human readable names for files\n    -V, --version           Prints version information\n\nOPTIONS:\n    -e, --from-env \u003cENV_FILE\u003e         Set a custom .env style file with secrets\n    -f, --feed \u003cfeed\u003e                 Feed to download from [default: hot]  [possible values: hot, new, top, rising]\n    -l, --limit \u003cLIMIT\u003e               Limit the number of posts to download [default: 25]\n    -m, --match \u003cMATCH\u003e               Pass a regular expresion to filter the title of the post\n    -o, --output \u003cDATA_DIR\u003e           Directory to save the media to [default: .]\n    -p, --period \u003cPERIOD\u003e             Time period to download from [default: day]  [possible values: now, hour, day,\n                                      week, month, year, all]\n    -s, --subreddit \u003cSUBREDDIT\u003e...    Download media from these subreddits\n    -u, --upvotes \u003cNUM\u003e               Minimum number of upvotes to download [default: 0]\n\nARGS:\n    \u003cURL\u003e    URL of a single post to download\n```\n\n\n\n\n### Optional Authentication with Reddit\n\nAuthentication is not required but if you want a more generous rate limit you can create a new app in reddit and pass your credentials to gert\n\n\n\n1. Create a new script application at https://www.reddit.com/prefs/apps\n    * Click on create an app at the bottom of the page\n    * Input a name for your application, for example: `gert`\n    * Choose \"script\" as the type of application\n    * Set \"http://localhost:8080\" or any other URL for the redirect url\n    * Click on \"create app\" - you should now see the application has been created\n    * Under your application name, you should see a random string - that is your client ID\n    * The random string next to the field \"secret\" is your client secret \n2. Copy the client ID and client secret information returned\n3. Create a .env file with the following keys, for example `gert.env`:  \n```shell script\nCLIENT_ID=\"\u003cclient_id\u003e\"\nCLIENT_SECRET=\"\u003cclient_secret\u003e\"\nUSERNAME=\"\u003cusername\u003e\"\nPASSWORD=\"\u003cpassword\u003e\"\n```\n_NOTE_: If you have 2FA enabled, please make sure you set `PASSWORD=\u003cpassword\u003e:\u003c2FA_TOTP_token\u003e` instead\n\n\n\n### Credits\n\nbased on https://github.com/manojkarthick/reddsaver\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcdallas%2Fgert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcdallas%2Fgert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcdallas%2Fgert/lists"}