CeeDee Ripper is a Linux desktop application for extracting audio CDs to common music formats. It detects an inserted disc, looks up album metadata through MusicBrainz, previews album art, and rips selected tracks to FLAC, MP3, WAV, or Ogg Vorbis.
The application is written in Rust and supports two desktop front ends:
egui-uigtk-ui, using GTK4 and Libadwaita
Default builds include both front ends. The active interface can be selected at runtime and saved for later launches.
Building CeeDee Ripper requires the Rust toolchain, native desktop libraries, optical disc utilities, metadata libraries, and audio encoders.
On supported Linux systems, you'll need that to start modding. The helper script installs the aforementioned neccesary libs and Rust.
CeeDee-Ripper ver. 1.1.0 is final. Mostly miscellaneous updates going forth once I upload it.
Have a look and go ahead, grab a fork.
It's beautiful.
scripts/install-deps.shImportant runtime tools and libraries include:
cdparanoiacd-discidejectflaclamevorbis-toolslibdiscid- GStreamer base, good, and ugly plugins
- GTK4 and Libadwaita for the GTK interface
The user running the application may need permission to read the optical drive.
On many Linux systems, that means membership in the cdrom group, followed by a
new login session:
sudo usermod -aG cdrom "$USER"Build the normal release binary:
cargo build --release --features "gtk-ui egui-ui"Run with the saved default interface:
cargo run --features "gtk-ui egui-ui"Select an interface for a single launch:
cargo run --features "gtk-ui egui-ui" -- --ui egui
cargo run --features "gtk-ui egui-ui" -- --ui gtkThe selected UI is saved in the application configuration. By default, CeeDee
Ripper uses ~/.config/ceedee-ripper/config.toml, unless a repository-local
configuration file or CEEDEE_RIPPER_CONFIG is used.
The CD device defaults to /dev/sr0. It can be changed in the configuration
file or overridden at launch:
CD_DEVICE=/dev/sr0 ceedee-ripperPackaging files live under packaging/ Additional notes are kept in
docs/PACKAGING.md and Distribution Instructions.md.
The most straightforward local targets are:
- Debian/Ubuntu
.deb - AppImage
- Arch/AUR recipe
- Fedora/RPM recipe
Debian package metadata is also present in Cargo.toml.
Flatpak and Snap recipes are present, but they remain more complicated than the native packaging paths for this application.
— CONFINEMENT —
CeeDee Ripper is not merely a self-contained graphical program — has a GUI and not only a CLI.
It needs low-level access to an optical drive, reads disc table-of-contents data, calls CD helper tools, uses GStreamer encoders, contacts MusicBrainz, retrieves cover art, and writes music files to user-visible locations. Sandboxed package formats make each of those requirements more explicit:
- device access to
/dev/cdrom,/dev/sr0,/dev/sr1, and possibly/dev/sg*must be granted; - udev, removable-media, and drive permissions may differ by distribution;
- command-line helpers and codecs must be staged inside the sandbox;
- GStreamer plugin availability must match the application's expectations;
- network access is required for metadata and cover art;
- output folders must be exposed deliberately;
- reproducible Rust and Cargo dependency vendoring is required for Flathub-style builds.
The Flatpak manifest currently grants broad device and filesystem permissions
for local testing and vendors Cargo sources through generated-sources.json.
That is useful during development. A Flathub-ready version, however, still
needs careful permission review, stable source generation, and validation on
clean systems.
The Snap recipe uses strict confinement and plugs such as optical-drive,
removable-media, mount-observe, network, wayland, and x11. That is the
right general shape. Even so, optical-drive access and desktop/media integration
may require manual connections or target-system testing before the package
behaves like a native install.
For now, Flatpak and Snap should be treated as experimental packaging paths for this particular application. Native packages and AppImage are the simpler release artifacts to validate first.
CeeDee Ripper is released under the MIT License. See LICENSE.


