███████╗██╗ ██╗██████╗ ███████╗██████╗ ██████╗ ██╗████████╗ ██╔════╝██║ ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██║╚══██╔══╝ ███████╗███████║██████╔╝█████╗ ██║ ██║██║ ██║██║ ██║ ╚════██║██╔══██║██╔══██╗██╔══╝ ██║ ██║██║ ██║██║ ██║ ███████║██║ ██║██║ ██║███████╗██████╔╝██████╔╝██║ ██║ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝

Because the Shreddit project was abandoned in 2017, I decided to rewrite it in Rust.

This brings several benefits:

Installation

Manual

Download the binary from the GitHub Releases page.

Cargo

cargo install shreddit

How to use

``` USAGE: shreddit --username --password --client-id --client-secret

OPTIONS: --client-id [env: SHREDDITCLIENTID=] --client-secret [env: SHREDDITCLIENTSECRET=] -h, --help Print help information -p, --password [env: SHREDDITPASSWORD=] -u, --username [env: SHREDDITUSERNAME=] -V, --version Print version information ```

You can choose to pass in configuration settings via CLI arguments like:

shreddit --username YouRedditUsername --password YourSuperSecretPassword123 --client-id k1jh2342k3j --client-secret 2345JHLJ_34kjhkj3h453453

or by setting them as environment variables (e.g. SHREDDIT_CLIENT_SECRET) and simply running shreddit.

On startup, shreddit looks for a shreddit.env file in the current directory and sets any variables declared there. However, this is purely optional.

Dry run

You can use --dry-run or SHREDDIT_DRY_RUN=true to see what it would do without it actually doing anything.

Other features

These are the other features Python Shreddit had.

I'll be adding these as I go along. PRs are welcome!

Other feature ideas are welcome.