Rexit - Liberate your Reddit Chats. This tool will export your Reddit chats into a plethora of formats
Tool to export Reddit chats into a variety of open formats (CSV, JSON, TXT).
Export your Reddit Chats
Usage: rexit.exe [OPTIONS] --formats <FORMATS>
Options:
-f, --formats <FORMATS> The formats to export to. Options: csv,json,txt
-t, --token To use the bearer token flow, instead of username and password
--debug Allow debugging of Rexit
-i, --images Output images too (outputs to images folder)
-o, --out <OUT> What folder to output to [default: ./out]
-h, --help Print help
-V, --version Print version
--no-usernames Not Retrieve usernames (Is a lot faster)
Currently, you need to specify the formats, and it will ask for the username and password (or bearer token with that auth flow).
To get messages:
$ rexit messages --images
> Your Reddit Username: <USERNAME>
> Your Reddit Password: <PASSWORD>
To get saved posts:
$ rexit saved --images
> Your Reddit Username: <USERNAME>
> Your Reddit Password: <PASSWORD>
To download a Subreddit:
$ rexit subreddit r/redditDev --images
> Your Reddit Username: <USERNAME>
> Your Reddit Password: <PASSWORD>
It will save the files to the current directory. For CSV and TXT it is split by room. If an image (.jpg, .gif, .png, etc.) was sent the filename will be displayed as the message content, along with the prefix FILE
.
You can use the files provided in the releases' page of this repository, install via cargo or brew or build from source.
- Download the build for your system (Windows or arm64-darwin)
- Use the terminal run Rexit with the arguments you want. (See Usage for details)
$ cargo install rexit
To use brew you need to add my tap
$ brew tap mpult/mpult
Then install Rexit
$ brew install rexit
- Install rust
- Clone the repository
- Run:
$ cargo install --path .
To keep the docs focused on the user experience the contributing and technical docs were implemented through cargo doc.
To access these:
$ cargo doc --open
Q: Some images are not downloading, the console says Image was already downloaded
; Skipping``.
A: Delete the imageLog.txt
file from the out folder.
In general all contributions are welcome. I would appreciate if you'd create an issue beforehand, in order for me to plan things out nicely.
Note To Reddit: Care was taken to ensure as little API requests are made as possible.
- Username requests are cached locally, and an option is provided to not gather the usernames
- A log of already downloaded images is kept to prevent downloading images multiple times