RescueBox Desktop (RBox) is a self-contained binary offering a UI interface to a library of ML models for various forensic applications. To use RescueBox Desktop, start up a model application in the background adhering to the FlaskML interface. Then, register the model application's IP Host address and port. You can now run the model by specifying its inputs on the UI and analyzing outputs when ready. RBox handles the rest: running the jobs, and interfacing with different ML models. Since RBox is aimed toward forensic analysts, it is designed to operate on local, or drive-mounted storage.
For a review of the project's goals, read What is RescueBox Desktop?. For a view into how RBox-Desktop works, read the architecture section.
Get the latest release of the binary for your operating system (Windows, macOS and Linux) from the release page. For Linux, see Additional Instructions for Linux.
Download and install one of the Flask-ML compliant models, or write your own!
Run the model application, which should provide you with a URL to register with RBox.
Launch the binary you downloaded in step 1, and register the model application using the IP address and port.
You should now be able to see the model application in the app, and be able to run inference tasks on it!
To run the AppImage on Linux, we first need to add execution permission on the AppImage file.
chmod a+x RescueBox-Desktop-<version_number>.AppImage
Then, some Additional steps may be required for Linux, depending on your distro. For Ubuntu, you will need to install the FUSE library.
sudo add-apt-repository universe
sudo apt install libfuse2t64
sudo add-apt-repository universe
sudo apt install libfuse2
At last, Run the AppImage with the "no-sandbox" option
./RescueBox-Desktop-<version-number>.AppImage --no-sandbox
RescueBox Desktop is built using Electron, React, TypeScript, TailwindCSS, and SQlite (with Sequelize).
See Technical Components for a high-level overview of the application. Check out #338 to see how Flask-ML and this project integrate.
RescueBox implments the "Flask-ML" protocol, which is a simple interface for running ML models. See Flask-ML Protocol.
- Node v18 (newer versions may work)
Clone the repo and install dependencies:
git clone https://github.com/UMass-Rescue/RescueBox-Desktop.git
cd RescueBox-Desktop
npm install
If you get an error about disutils or gym on macOS, see https://stackoverflow.com/questions/77251296/distutils-not-found-when-running-npm-install
Having issues installing? See this debugging guide
Start the app in the dev
environment:
npm start
To package apps for the local platform:
npm run package
See electron-react's docs and guides here