/unrpa

A program to extract files from the RPA archive format.

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Hassle free RPA extractor. In-Browser, no code, no EXEs.

MY CURRENT HOME PROJECT; it's under active development;

Hassle-free in browser RPA extractor.

Support Chromium based browsers.

  • FileSystemAccessApi - choose file, choose directory, give permissions , extract
  • Unpickle written in Golang and compiled to WASM. (I didn't find good JS web Pickle library [ ... and I wanted to try WASM])
  • Can scan a directory for RPA files

Support to Firefox and Safari,

Firefox and Safari don't want to implement FileSystemAccessApi

  • Parallel extraction (2-4 web workers) to in-memory zip. 250 Mb zip limit.
  • Zip downloaded to the default download directory
  • Can handle all sizes archives [of course it's slower in the browser]
I hope you will find it's useful. In situations when :
  • Somebody ask to extract content of a game and doesn't have any idea of python neither terminal. Neither what are RPA themselves
  • It was hard day, and you don't want to use neither python, neither terminal, neither download any .exe. Pick file and extract it in a moment

Roadmap

  • WASM golang
  • first implementation Chromium
  • first implementation FileApi
  • web-workers for FileApi implementation
  • GitHub Actions pipeline
  • minimal design
  • vanilla js refactoring
  • scan function + drag&drop logic
  • convert to typescript
  • clean typescript
  • react
  • drag&drop
  • maybe replace WASM unpickle with ts one
  • maybe replace JSZIP with something better
  • service worker download hack for FileAPI browsers
  • migrate from CRA to vite
  • i18n localization
  • preview of content probably with Chonky

Development

The project will work from the box if you use docker. Just run.sh.

It requires execution permissions for onlyForDockerEnv.sh set on host.

 sudo chmod +x onlyForDockerEnv.sh 

Kill the container with Ctrl+Z