{"id":22911706,"url":"https://github.com/tjhorner/e6dl-rs","last_synced_at":"2025-05-09T01:33:38.150Z","repository":{"id":62444491,"uuid":"317638017","full_name":"tjhorner/e6dl-rs","owner":"tjhorner","description":"🦊 e6dl but ported to Rust because I felt like it","archived":false,"fork":false,"pushed_at":"2023-04-16T02:35:20.000Z","size":66,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-04T22:15:15.438Z","etag":null,"topics":["command-line-tool","e621","e621-downloader","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/e6dl","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/tjhorner.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}},"created_at":"2020-12-01T18:53:40.000Z","updated_at":"2023-08-01T14:02:56.000Z","dependencies_parsed_at":"2022-11-01T22:30:47.714Z","dependency_job_id":null,"html_url":"https://github.com/tjhorner/e6dl-rs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjhorner%2Fe6dl-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjhorner%2Fe6dl-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjhorner%2Fe6dl-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjhorner%2Fe6dl-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tjhorner","download_url":"https://codeload.github.com/tjhorner/e6dl-rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253174338,"owners_count":21865849,"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":["command-line-tool","e621","e621-downloader","rust"],"created_at":"2024-12-14T04:17:44.231Z","updated_at":"2025-05-09T01:33:38.116Z","avatar_url":"https://github.com/tjhorner.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# e6dl-rs\n\n![](https://user-images.githubusercontent.com/2646487/100818051-35aa6000-33fe-11eb-9cd6-b79e18d3fc58.gif)\n\nThis is a command line tool for downloading posts that match certain tags on e621 or e926.\n\nIt's [this](https://github.com/tjhorner/e6dl) ported to Rust, which was actually originally [ported from JS](https://github.com/tjhorner/e621-id-downloader). I am not Good At The Rust™️ yet, so I am using this project to get Good At The Rust™️. (i.e., the code is probably bad and not idiomatic). If you see areas I could improve, just let me know using an issue.\n\n## Installation\n\n```shell\n$ cargo install e6dl\n```\n\n## Usage\n\n```\nUSAGE:\n    e6dl [FLAGS] [OPTIONS] \u003ctags\u003e\n\nFLAGS:\n    -h, --help\n            Prints help information\n\n    -s, --sfw\n            Download posts from e926 instead of e621\n\n    -V, --version\n            Prints version information\n\n\nOPTIONS:\n    -c, --concurrency \u003cconcurrency\u003e\n            Maximum number of concurrent downloads [default: 5]\n\n    -g, --group \u003cgroup\u003e...\n            Save downloaded posts grouped by the specified grouping. You can specify multiple groupings. See:\n            https://github.com/tjhorner/e6dl-rs/wiki/Post-Grouping\n    -l, --limit \u003climit\u003e\n            The maximum number of posts that should be retrieved per page. There is a hard limit of 320 [default: 10]\n\n    -o, --out \u003cout\u003e\n            The directory to write the downloaded posts to [default: ./out]\n\n        --page \u003cpage\u003e\n            The page that will be retrieved. Can also be used with \"a\" or \"b\" + `post_id` to get the posts after or\n            before the specified post ID. For example, \"a13\" gets every post after post_id 13 up to the limit. This\n            overrides any ordering meta-tag; `order:id_desc` is always used instead.\n\n            If used with the `pages` option, only numeric page values are allowed. [default: 1]\n    -p, --pages \u003cpages\u003e\n            The maximum number of pages to download.\n\n            Can be used in conjunction with the `page` option to start search at a specific page. [default: 1]\n\nARGS:\n    \u003ctags\u003e\n            The tags to search for, space-separated. See: https://e621.net/help/cheatsheet\n```\n\n## License\n\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjhorner%2Fe6dl-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftjhorner%2Fe6dl-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjhorner%2Fe6dl-rs/lists"}