A CLI helping with uploading to Redacted, inspired by REDBetter

Overview

red_oxide

CLI to help uploading to REDacted, inspired by REDBetter.

Installing

  1. Install intermodal and add it to your PATH
  2. Install lame, sox & flac and add them to your PATH
  3. download the latest release from here

Usage

CLI

Transcode subcommand (red_oxide transcode)

You have to specify api-key, torrent-directory, content-directory, transcode-directory & spectrogram-directory either via the config file or via the CLI

Transcode FLACs to other co-existing formats

Usage: red_oxide transcode [OPTIONS] [URLS]...

Arguments:
  [URLS]...  The Perma URLs (PL's) of torrents to transcode

Options:
      --debug
          If debug logs should be shown
  -a, --automatic-upload
          If the upload should be done automatically
      --transcode-in-parallel
          If multiple formats should be transcoded in parallel (this will increase memory & cpu usage a lot, make sure you can handle it)
      --api-key <API_KEY>
          The Api key from Redacted to use there API with
      --content-directory <CONTENT_DIRECTORY>
          The path to the directory where the downloaded torrents are stored
      --transcode-directory <TRANSCODE_DIRECTORY>
          The path to the directory where the transcoded torrents should be stored
      --torrent-directory <TORRENT_DIRECTORY>
          The path to the directory where the torrents should be stored
      --spectrogram-directory <SPECTROGRAM_DIRECTORY>
          The path to the directory where the spectrograms should be stored
  -c, --config-file <CONFIG_FILE>
          The path to the config file
  -f, --allowed-transcode-formats <ALLOWED_TRANSCODE_FORMATS>
          List of allowed formats to transcode to, defaults to all formats if omitted [possible values: flac24, flac, mp3320, mp3-v0]
  -m, --move-transcode-to-content
          If the transcode should be moved to the content directory, useful when you want to start seeding right after you upload
      --skip-hash-check
          If the hash check of the original torrent should be skipped, defaults to false, not recommended and if enabled done at own risk!
      --skip-spectrogram
          If the spectrogram check of the original torrent should be skipped, defaults to false, not recommended and if enabled done at own risk!
  -d, --dry-run
          If this is a dry run, no files will be uploaded to Redacted
  -h, --help
          Print help

Example config.json

This is useful if you don't want a super long CLI command and your configs do not change often

{
  "api_key": "YOUR_API_KEY",
  "torrent_directory": "FULL_PATH_WHERE_TORRENT_FILES_WILL_BE_STORED",
  "content_directory": "FULL_PATH_WHERE_CONTENT_IS_LOCATED",
  "transcode_directory": "FULL_PATH_WHERE_TRANSCODED_CONTENT_WILL_BE_PUT",
  "spectrogram_directory": "FULL_PATH_WHERE_SPECTROGRAMS_WILL_BE_PUT",
  "move_transcode_to_content": true,
  "automatic_upload": true
}

Notes for people using sox under windows

if you use the binaries from here, and you want utf-8 support for paths (this is needed for Japanese/Chinese/Korean names in paths for example) you have to download the files from here and follow the steps below

  1. Extract the files from the zip
  2. Run the PreferExternalManifest.reg file and let it overwrite the registry entry
  3. Copy the sox.exe.manifest file to the folder where sox.exe is located
  4. Enjoy sox working with utf-8 paths :)

Built With

  • Rust - The language used
  • clap - CLI Framework
  • tokio - Async runtime
  • reqwest - HTTP client
  • serde - Serialization/Deserialization
  • intermodal - Used for Torrent Hash checking & creation
  • audiotags - Reading/Writing Audio Metadata

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT See the LICENSE.md file for details

You might also like...
A command-line tool for patching shell scripts inspired by resholve

patsh A command-line tool for patching shell scripts inspired by resholve nix run github:nix-community/patsh -- -f script.sh Usage Usage: patsh [OPTIO

Markdown to HTML converter written in Rust. Inspired by Katsuki Yuri's Makudaun Tool.
Markdown to HTML converter written in Rust. Inspired by Katsuki Yuri's Makudaun Tool.

Makurust Makurust is a powerful tool written in Rust that allows you to effortlessly convert your Markdown files into static HTML pages. Inspired by T

A pug-inspired HTML preprocessor
A pug-inspired HTML preprocessor

UNDER CONSTRUCTION Right now there is no usable version of hsml available. I'm just working on it. HSML - Hyper Short Markup Language hsml is a hyper

πŸ¦€Rust + Large Language Models - Make AI Services Freely and Easily. Inspired by LangChain

llmchain: Modern Data Transformations with LLM πŸ¦€ + Large Language Models, inspired by LangChain. Features Models: LLMs & Chat Models & Embedding Mode

A dark and light Neovim theme written in fennel, inspired by IBM Carbon.
A dark and light Neovim theme written in fennel, inspired by IBM Carbon.

oxocarbon.nvim Note: The old rust version can be found on the rust branch of this repository Oxocarbon is looking for ports! If you're a user of anoth

Collection of immutable and persistent data structures written in Rust, inspired by the standard libraries found in Haskell, Closure and OCaml

PRust: (P)ersistent & Immutable Data Structures in (Rust) This library houses a collection of immutable and persistent data structures, inspired by th

Satty - a Screenshot Annotation Tool inspired by Swappy and Flameshot
Satty - a Screenshot Annotation Tool inspired by Swappy and Flameshot

Satty Satty - a Screenshot Annotation Tool inspired by Swappy and Flameshot. Install You can get the official Arch Linux package from the AUR: yay -S

Pink is a command-line tool inspired by the Unix man command.

Pink is a command-line tool inspired by the Unix man command. It displays custom-formatted text pages in the terminal using a subset of HTML-like tags.

Sero is a web server that allows you to easily host your static sites without pain. The idea was inspired by surge.sh but gives you full control.

sero Lightning-fast, static web publishing with zero configuration and full control πŸ“– Table Of Contents πŸ“– Table Of Contents πŸ”§ Tools ❓ About The Pro

Comments
  • Unable to run program past the identifying formats/transcoding stages

    Unable to run program past the identifying formats/transcoding stages

    Trying to run the program on a couple of torrents seems to exit almost all of them, I've only had luck with one torrent while others hang up on either Error: The system cannot find the path specified. (os error 3) (prints after [βœ…] Found missing format(s) MP3 320,MP3 V0, for torrent x in group x) or Error: program not found (prints after [➑️] Transcoding...)

    I've ran all of these so far with red_oxide_Windows_x86_64-pc-windows-msvc.exe transcode --debug -c "G:\RustRED\config.json" "URL" and my config.json looks like this { "api_key": "", "torrent_directory": "G:\\RustRED\\torrent", "content_directory": "G:\\RustRED\\content", "transcode_directory": "G:\\RustRED\\transcodes", "spectrogram_directory": "G:\\RustRED\\spectrograms", "move_transcode_to_content": true, "automatic_upload": true }

    and if it helps, i'm running this on Windows 11 (22621.1413)

    opened by LanSchooI 1
Releases(v0.6.0)
Owner
Yukine
Writes bugs for a living
Yukine
A commmand line tool for uploading homework coded on the dcloud server onto specific google drive course folders.

A commmand line tool for uploading homework coded on the dcloud server onto specific google drive course folders.

Daniel Kogan 2 Sep 8, 2022
A file server that supports static serving, uploading, searching, accessing control, webdav...

Dufs Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, webdav... Features Serve static

null 3.6k Oct 30, 2023
Requestty - An easy-to-use collection of interactive cli prompts inspired by Inquirer.js.

Requestty requestty (request-tty) is an easy-to-use collection of interactive cli prompts inspired by Inquirer.js. Easy-to-use - The builder API and m

null 160 Dec 28, 2022
Beautiful, minimal, opinionated CLI prompts inspired by the Clack NPM package

Effortlessly build beautiful command-line apps with Rust ?? ✨ Beautiful, minimal, opinionated CLI prompts inspired by the @clack/prompts npm package.

Alexander Fadeev 7 Jul 23, 2023
A system clipboard command line tools which inspired by pbcopy & pbpaste but better to use.

rclip A command line tool which supports copy a file contents to the system clipboard or copy the contents of the system clipboard to a file. Install

yahaa 3 May 30, 2022
A CI inspired approach for local job automation.

nauman A CI inspired approach for local job automation. Features β€’ Installation β€’ Usage β€’ FAQ β€’ Examples β€’ Job Syntax About nauman is an easy-to-use j

Egor Dmitriev 8 Oct 24, 2022
πŸ“¦ A Python package manager written in Rust inspired by Cargo.

huak About A Python package manager written in Rust. The Cargo for Python. ⚠️ Disclaimer: huak is currently in its proof-of-concept (PoC) phase. Huak

Chris Pryer 186 Jan 9, 2023
πŸ“¦ A Python package manager written in Rust inspired by Cargo.

huak About A Python package manager written in Rust. The Cargo for Python. ⚠️ Disclaimer: huak is currently in its Alpha phase. Huak aims to support a

Chris Pryer 161 Oct 9, 2022
Git Explorer: cross-platform git workflow improvement tool inspired by Magit

Gex Git workflow improvement CLI tool inspired by Magit. This project is still under initial development, but I am actively dogfooding it and features

Peter Hebden 204 Jan 6, 2023
A utility written in Rust for dumping binary information out of Mach-O files inspired by objdump

Mach-O Dump (macho-dump) An objdump like tool for exploring and manipulating Mach-O files. Note: This project is in an early stage and most of the fea

Irides 2 Oct 17, 2022