Phantom Desktop is an application for forensic digital image processing.
Phantom Desktop can be downloaded from the releases section. The application is available for Windows and Linux. The first time you run the application, it will download the necessary files. After that, you can use it offline.
IMPORTANT: Requires a CPU that supports AVX Instructions (Any modern CPU > 2011) otherwise the application won't even start. If you want to use it on an older CPU, you can need to compile it from source.
Releases were tested in Windows 10 and Ubuntu 22.04 LTS.
The wiki contains information about the application and how to use it.
After cloning, create a virtual environment, activate it, and install the pip requirements:
git clone [email protected]:jhm-ciberman/phantom-desktop.git
cd phantom-desktop
python -m venv .env
source .env/Scripts/activate
pip install -r requirements.txt
To run Phantom Desktop from the command line, use the following command:
python main.py
Or in VSCode, you can use the "Run" command, it's already configured for this project in the launch.json file.
To generate an executable file that can be distributed, run the following command:
python setup.py build
This will use cx_Freeze to generate an executable file according to the current operating system. The output files will be placed in the build
folder ready to be distributed.
This project uses Qt and thus, it tries to follow the Qt style for all classes that inherit from QObject
. The rest of the code follows the PEP8 style guide.
For more info please refer to this blog post.
For Docstrings, the project uses the Google style.
The project has some type hints, but it's only for basic IDE autocomplete. It's not intended for use with static type checkers.
The phantom project file format (*.phantom
) is an open format and it's specification can be found here.
- Phantom Desktop is licensed under the MIT License.
- Fluency Icons are by Icons8.