unrpa_rs

Crates.iounrpa_rs
lib.rsunrpa_rs
version0.4.1
sourcesrc
created_at2020-06-28 16:44:29.671788
updated_at2022-02-20 10:37:52.233175
descriptionA multithreaded CLI program and library to extract RenPy archives (RPAs)
homepagehttps://blog.l0g4n.me
repositoryhttps://gitlab.com/L0g4n/unrpa_rs
max_upload_size
id259137
size75,529
L0g4n (L0g4n)

documentation

README

unrpa_rs

Pipeline Status Latest Version Documentation License

A multithreaded command line program and library to extract RenPy archives (RPAs), written in Rust. This implements extracting assets, such as scripts, videos, images, etc. that have been bundled in the RPA format.

When given a list of RPA files, unrpa_rs will extract those archives in parallel on a threadpool.

Features

  • Multithreaded extraction of RPAs on a per-file basis
  • Fast IO backed by memory maps
  • Supported RPA versions:
    • RPA_v3.2
    • RPA_v3
    • RPA_v2

Disclaimer

Use this tool only on archives on which the authors allow modification or extraction. The unauthorized use is highly discouraged since this poses most likely a license violation.

Installation

From source with cargo

A recent Rust toolchain has to be installed. Then just enter cargo install --locked -f unrpa_rs to install the binary.

Credits

This tool has been ported to Rust from the rpatool repo, originally written in Python. Thanks to the authors for sharing their work! I am aware that the rpatool offers more functionality since it also allows packaging files in the RPA format. However, I am currently not interested in implementing that.

License

Licensed under the Apache License.

Commit count: 164

cargo fmt