{"id":20453884,"url":"https://github.com/devyukine/red_oxide","last_synced_at":"2025-04-05T08:04:25.669Z","repository":{"id":177062515,"uuid":"628366667","full_name":"DevYukine/red_oxide","owner":"DevYukine","description":"A CLI helping with uploading to Redacted, inspired by REDBetter","archived":false,"fork":false,"pushed_at":"2024-12-09T11:05:15.000Z","size":176,"stargazers_count":137,"open_issues_count":17,"forks_count":32,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T07:04:35.286Z","etag":null,"topics":["cli","flac","mp3","redacted","redbetter","seedbox","transcode"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevYukine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-15T18:12:43.000Z","updated_at":"2025-03-15T23:29:04.000Z","dependencies_parsed_at":"2024-02-09T17:48:09.310Z","dependency_job_id":"50b18cd0-0a53-4a0d-b3d8-91c9ea3aa33a","html_url":"https://github.com/DevYukine/red_oxide","commit_stats":null,"previous_names":["devyukine/red_oxide"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevYukine%2Fred_oxide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevYukine%2Fred_oxide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevYukine%2Fred_oxide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevYukine%2Fred_oxide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevYukine","download_url":"https://codeload.github.com/DevYukine/red_oxide/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305932,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","flac","mp3","redacted","redbetter","seedbox","transcode"],"created_at":"2024-11-15T11:14:14.871Z","updated_at":"2025-04-05T08:04:25.650Z","avatar_url":"https://github.com/DevYukine.png","language":"Rust","readme":"# red_oxide\n\nCLI to help uploading to REDacted, inspired by REDBetter.\n\n## Installing\n\n1. Install [intermodal](https://github.com/casey/intermodal#installation) and add it to your PATH\n2. Install lame, sox \u0026 flac and add them to your PATH\n3. download the latest release from [here](https://github.com/DevYukine/red_oxide/releases)\n\n## Usage\n\n### CLI\n\n#### Transcode subcommand (red_oxide transcode)\n\nYou have to specify api-key, torrent-directory, content-directory, transcode-directory \u0026 spectrogram-directory either via the config file or via the CLI\n\n```\nTranscode FLACs to other co-existing formats\n\nUsage: red_oxide transcode [OPTIONS] [URLS]...\n\nArguments:\n  [URLS]...  The Perma URLs (PL's) of torrents to transcode\n\nOptions:\n      --debug\n          If debug logs should be shown\n  -a, --automatic-upload\n          If the upload should be done automatically\n      --concurrency \u003cCONCURRENCY\u003e\n          How many tasks (for transcoding as example) should be run in parallel, defaults to your CPU count\n      --api-key \u003cAPI_KEY\u003e\n          The Api key from Redacted to use there API with\n      --content-directory \u003cCONTENT_DIRECTORY\u003e\n          The path to the directory where the downloaded torrents are stored\n      --transcode-directory \u003cTRANSCODE_DIRECTORY\u003e\n          The path to the directory where the transcoded torrents should be stored\n      --torrent-directory \u003cTORRENT_DIRECTORY\u003e\n          The path to the directory where the torrents should be stored\n      --spectrogram-directory \u003cSPECTROGRAM_DIRECTORY\u003e\n          The path to the directory where the spectrograms should be stored\n  -c, --config-file \u003cCONFIG_FILE\u003e\n          The path to the config file\n  -f, --allowed-transcode-formats \u003cALLOWED_TRANSCODE_FORMATS\u003e\n          List of allowed formats to transcode to, defaults to all formats if omitted [possible values: flac24, flac, mp3320, mp3-v0]\n  -m, --move-transcode-to-content\n          If the transcode should be moved to the content directory, useful when you want to start seeding right after you upload\n      --skip-hash-check\n          If the hash check of the original torrent should be skipped, defaults to false, not recommended and if enabled done at own risk!\n      --skip-spectrogram\n          If the spectrogram check of the original torrent should be skipped, defaults to false, not recommended and if enabled done at own risk!\n  -d, --dry-run\n          If this is a dry run, no files will be uploaded to Redacted\n  -h, --help\n          Print help\n\n```\n\n### Config file\n\nThis is useful if you don't want a super long CLI command and your configs do not change often, note that all the options can be specified via the CLI as well and are fully optional in this config file (will be merged with the CLI options if specified)\n\nThere are multiple default locations where the config file will be searched for, in this order (once found it will not look for the config file in the other locations):\n1. The path specified via the --config-file CLI option\n2. `./red_oxide.config.json` (In the same folder as the red_oxide executable)\n3. `%APPDATA%/red_oxide/red_oxide.config.json` (only on Windows)\n4. `$XDG_CONFIG_HOME/red_oxide/red_oxide.config.json`\n5. `HOME/.config/red_oxide/red_oxide.config.json`\n6. `HOME/red_oxide.config.json`\n\nHOME is determined by these environment variables on Windows in this order:\n1. `%HOME%`\n2. `%USERPROFILE%`\n3. `%HOMEDRIVE%\\%HOMEPATH%`\n\nHOME is determined by these environment variables on Linux in this order:\n1. `$HOME`\n\n\n```json\n{\n  \"api_key\": \"YOUR_API_KEY\",\n  \"torrent_directory\": \"FULL_PATH_WHERE_TORRENT_FILES_WILL_BE_STORED\",\n  \"content_directory\": \"FULL_PATH_WHERE_CONTENT_IS_LOCATED\",\n  \"transcode_directory\": \"FULL_PATH_WHERE_TRANSCODED_CONTENT_WILL_BE_PUT\",\n  \"spectrogram_directory\": \"FULL_PATH_WHERE_SPECTROGRAMS_WILL_BE_PUT\",\n  \"move_transcode_to_content\": true,\n  \"automatic_upload\": true,\n  \"skip_hash_check\": false,\n  \"skip_spectrogram\": false,\n  \"allowed_transcode_formats\": [\"Flac\", \"Mp3320\", \"Mp3V0\"],\n  \"concurrency\": 16\n}\n\n```\n\n### Notes for people using sox under windows\n\nif you use the binaries from [here](https://sourceforge.net/projects/sox/files/sox/), 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](https://raw.githubusercontent.com/DevYukine/red_oxide/master/.github/dependency-fixes/sox_windows_fix.zip) and follow the steps below\n\n1. Extract the files from the zip\n2. Run the PreferExternalManifest.reg file and let it overwrite the registry entry\n3. Copy the sox.exe.manifest file to the folder where sox.exe is located\n4. Enjoy sox working with utf-8 paths :)\n\n## Built With\n\n- [Rust](https://www.rust-lang.org/) - The language used\n- [clap](https://github.com/clap-rs/clap) - CLI Framework\n- [tokio](https://tokio.rs/) - Async runtime\n- [reqwest](https://github.com/seanmonstar/reqwest) - HTTP client\n- [serde](https://serde.rs/) - Serialization/Deserialization\n- [intermodal](https://github.com/casey/intermodal) - Used for Torrent Hash checking \u0026 creation\n- [audiotags](https://docs.rs/audiotags/latest/audiotags/) - Reading/Writing Audio Metadata\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code\nof conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nWe use [Semantic Versioning](http://semver.org/) for versioning. For the versions\navailable, see the [tags on this\nrepository](https://github.com/DevYukine/red_oxide/tags).\n\n## Authors\n\n- **[DevYukine](https://github.com/DevYukine)** - *Initial Work*\n\nSee also the list of\n[contributors](https://github.com/DevYukine/red_oxide/contributors)\nwho participated in this project.\n\n## License\n\nThis project is licensed under the [MIT](LICENSE) See the [LICENSE.md](LICENSE) file for details\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevyukine%2Fred_oxide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevyukine%2Fred_oxide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevyukine%2Fred_oxide/lists"}