-
Notifications
You must be signed in to change notification settings - Fork 0
Install
This page contains detailed installation instructions for the Soft Data Diode Tools. For basic setup, see the main README.
The sender side requires more OS dependencies since it handles content capture:
- Python 3
- Browser and WebDriver (headless ok)
-
vncsnapshotprogram - Python venv virtual environment recommended
The receiver side has minimal dependencies. You pretty much just need Python 3.
cd /opt
git clone https://github.com/bmtwl/SoftDataDiode.git
cd SoftDataDiodeA virtual environment is strongly recommended for the sender side, particularly because Selenium can be difficult to get working with OS packages.
python -m venv venv
source venv/bin/activateTo exit the virtual environment when done:
deactivateSender Side Installation:
pip install opencv-python-headless cryptography selenium numpyReceiver Side Installation:
pip install Pillow cryptographyBoth sender and receiver must use the same encryption key. Generate it using:
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"Save this key for use in your configuration files.
Selenium requires both a browser and a matching WebDriver to be installed, even on headless systems.
- Install Chrome or Chromium browser
- Install the matching ChromeDriver version
- Ensure the WebDriver is in your PATH or specify its location in your configuration
Selenium may crash if it cannot find the browser or WebDriver. The recommended approach is to use a virtual environment rather than OS packages, as some distributions have broken Selenium packages (notably Debian's python3-selenium).
For detailed Selenium setup instructions, refer to the Selenium Project documentation.
- See Configuration for setting up your
config.json - See Security Model and Hardening for securing your deployment
- Return to the main README for basic usage examples