MPult / Rexit

Rexit - Liberate your Reddit Chats. This tool will export your reddit chats into a plethora of formats
https://crates.io/crates/rexit
GNU General Public License v3.0
20 stars 3 forks source link
data-export datahoarder reddit
# Rexit Rexit - Liberate your Reddit Chats. This tool will export your Reddit chats into a plethora of formats ![version](https://img.shields.io/github/v/tag/mpult/rexit?color=orange) ![license](https://img.shields.io/github/license/mpult/rexit?color=blue) ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/mpult/rexit?color=red) [![.github/workflows/cd.yml](https://github.com/MPult/Rexit/actions/workflows/cd.yml/badge.svg)](https://github.com/MPult/Rexit/actions/workflows/cd.yml)

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)

Usage

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.

Installation

You can use the files provided in the releases' page of this repository, install via cargo or brew or build from source.

Manual Install

  1. Download the build for your system (Windows or arm64-darwin)
  2. Use the terminal run Rexit with the arguments you want. (See Usage for details)

Cargo Install

$ cargo install rexit

Brew Install

To use brew you need to add my tap

$ brew tap mpult/mpult

Then install Rexit

$ brew install rexit

Building from source

  1. Install rust
  2. Clone the repository
  3. Run:
    $ cargo install --path .

    Contributing

    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

Common Errors

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.

License

GNU General Public License, Version 3