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) from the release page. For Linux, see Additional Instructions for Linux.
Double click the RescueBox-Desktop Setup 1.0.exe. The first input is the install directory. choose any path that exists and has at least 5 GB of free space. The time taken to unzip the files and put them in the install directory is a few minutes. Continue to run the Desktop when prompted. This proces now setups a Python local to RescueBox and starts up the Model Severs . This takes several minutes. It also downloads python modules from internet connection. After Model servers are started the progress bar of the install reaches completion and now the Application is ready to use.
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.
You should now be able to see the model application in the app, and be able to run inference tasks on it!
the UI shows the logs in reverse order ie: more recent messages first. Files are located here : C:\Users<USERNAME>\AppData\Roaming\RescueBox-Desktop\logs
- First look at the eror in the task execution result or the log in the UI.
- Typical errors are due to : image /video /audio files not readable , perhaps due to unsupported format.
- Other errors are due to not able to read from the input path or write to output path.
- rb_py.log tracks pip and pienv cmdlines , about dependencies for model code.
- main.log is the overall rescuebox UI and Model server logs
- other logs are from python installer.
RescueBox Desktop is built using Electron, React, TypeScript, TailwindCSS, and SQlite (with Sequelize).
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
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