rstoner (3.4.0)

Published 2026-09-20 06:58:24 +02:00 by eofredj in eofredj/rstoner

Installation

[registries.forgejo]
index = "sparse+" # Sparse index
# index = "" # Git

[net]
git-fetch-with-cli = true
cargo add rstoner@3.4.0 --registry forgejo

About this package

Generate the tone command

rstoner

Build Status Version License Rust

A CLI tool for generating metadata tagging commands for audiobooks.

Overview

rstoner generates shell commands for the tone audiobook metadata tagging tool and the m4b-tool for creating M4B audiobook files.

It processes audiobook directories and outputs ready-to-run commands that can be executed manually or saved to a script.

Installation

Download the latest static binary from the releases page:

# Download the binary (replace v3.3.3 with the version you want)
curl -fsSL "https://git.desord.re/eofredj/rstoner/releases/download/v3.3.3/rstoner-x86_64" -o rstoner

# Download the matching checksum and verify
curl -fsSL "https://git.desord.re/eofredj/rstoner/releases/download/v3.3.3/rstoner-x86_64.sha256" -o rstoner-x86_64.sha256
sha256sum -c rstoner-x86_64.sha256

# Make executable and move to PATH
chmod +x rstoner
mv rstoner /usr/local/bin/rstoner

From the Forgejo Cargo Registry

rstoner is published to a private Cargo registry hosted on git.desord.re, not to crates.io. Add the registry to ~/.cargo/config.toml (or the project's .cargo/config.toml), then install:

[registries.forgejo]
index = "sparse+https://git.desord.re/api/packages/eofredj/cargo/"
cargo install rstoner --registry forgejo

Build from Source

git clone https://git.desord.re/eofredj/rstoner.git
cd rstoner
cargo build --release

See CONTRIBUTING.md for static musl builds and other build variants.

Shell Completions and Man Page

# Bash
rstoner --completions bash | sudo tee /etc/bash_completion.d/rstoner > /dev/null

# Zsh
rstoner --completions zsh > "${fpath[1]}/_rstoner"

# Fish
rstoner --completions fish > ~/.config/fish/completions/rstoner.fish

# Man page
rstoner --man | sudo tee /usr/local/share/man/man1/rstoner.1 > /dev/null

Uninstalling

rstoner is a single static binary with no other files installed by default. To remove it:

# Wherever you installed it, e.g.:
rm /usr/local/bin/rstoner
# or, if installed via cargo:
cargo uninstall rstoner

Also remove, if created:

  • ~/.config/rstoner/config.toml (config file, see Configuration)
  • Any shell completion or man page files installed as shown above

Quick Start

rstoner -a "Author Name" -n "Narrator Name" /path/to/audiobook

Full CLI options, examples, generated output, and directory layout requirements are in the Usage Guide.

Requirements

  • tone - Audio metadata tagging tool
  • m4b-tool - M4B audiobook tool

Run rstoner --check to verify both are installed.

Documentation

Document Purpose
Usage Guide Full CLI options, examples, and configuration file
Architecture Overview System design, data flow, and module structure
CONTRIBUTING.md Development setup, style guide, testing, and release process
Security Considerations Shell escaping and the security model

Security

All user-provided values are shell-escaped to prevent command injection. See Security Considerations for the full model, and SECURITY.md to report a vulnerability.

Contributing

See CONTRIBUTING.md for development setup, style guide, and the contribution workflow. Participation in this project is governed by the Code of Conduct.

License

GPL-3.0-or-later. See LICENSE for the full text.

Dependencies

ID Version
clap ^4.6.7
clap_complete ^4.6.11
clap_mangen ^0.3.3
colored ^3.1.1
dirs ^7.0.0
regex ^1.13.1
shell-escape ^0.1
thiserror ^2.0.20
toml ^1.1.6
which ^8.0.6
tempfile ^3.27.0

Keywords

cli tagging
Details
Cargo
2026-09-20 06:58:24 +02:00
1
Heltem <heltem+rstoner@o2ph.com>
GPL-3.0-or-later
1,018 KiB
Assets (1)
Versions (10) View all
3.7.0 2026-10-05
3.6.0 2026-09-21
3.5.0 2026-09-20
3.4.0 2026-09-20
3.3.3 2026-09-20