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), and to browse them in a local web viewer.
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)
Rexit works again (with the newest version V2). The only caveat is that only the bearer token flow is supported. See here for instructions.
To skip the prompt, set REXIT_TOKEN in your environment or in a .env file in the directory you run Rexit from.
Rexit asks for your bearer token (see here), unless REXIT_TOKEN is set.
To get messages:
$ rexit messages --images
> Your Bearer Token: <TOKEN>To get saved posts:
$ rexit saved --images
> Your Bearer Token: <TOKEN>To download a Subreddit:
$ rexit subreddit r/redditDev --images
> Your Bearer Token: <TOKEN>To browse your exported chats in the browser:
$ rexit view # reads ./out, opens http://127.0.0.1:<port>
$ rexit messages --view # export, then open the viewerThe viewer runs only on your machine (localhost) and works offline. Use --out to pick another export folder, --port for a fixed port and --no-open to not open the browser. Exports made before v2.2 still open, but re-exporting adds chat names and shows which messages are yours.
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)
Requires Rust 1.92 or newer (rustup update stable).
$ cargo install rexitTo use brew you need to add my tap
$ brew tap mpult/mpultThen install Rexit
$ brew install rexit- Install Rust 1.92 or newer (
rustup update stable) - 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 --openQ: 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