Skip to content

AceofStades/DZap-linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DZap: Secure Drive Wiper

License Go Electron React Status

DZap is a cross-platform utility designed to securely sanitize storage media (HDDs, SSDs, NVMe, USBs) to NIST 800-88 standards.

WARNING: This software is designed to permanently and irretrievably destroy data. Use with extreme caution. The developers are not responsible for accidental data loss.


Screenshots

Dashboard Certificate Page


Key Features

  • Modern Tech Stack: Built with Electron, React, & Tailwind CSS for a responsive UI, backed by Go for high-performance hardware interaction.
  • NIST 800-88 Compliance:
    • Clear: 1-pass and 3-pass overwrite algorithms for HDDs.
    • Purge: Firmware-based ATA Secure Erase and NVMe Format for modern SSDs.
  • Secure Architecture: Uses a Privileged Helper pattern. The UI runs as a standard user, while the backend runs securely via Linux PolicyKit (pkexec) only when necessary.
  • Certified Destruction: Generates a verifiable HTML/PDF certificate upon successful completion.
  • Hot-Plug Support: Automatically detects drives connected via USB or SATA/NVMe interfaces.

Prerequisites

Before installing, ensure your Linux system has the following dependencies:

  • Runtime Tools: smartmontools, hdparm, nvme-cli, polkit
  • Build Tools: go (v1.21+), npm / node, gcc
  • AI Runtime: libonnxruntime (often available as onnxruntime or libonnxruntime-dev) (Disabled for now)

Arch Linux:

sudo pacman -S go npm smartmontools hdparm nvme-cli onnxruntime

Ubuntu/Debian:

sudo apt install golang nodejs npm smartmontools hdparm nvme-cli libonnxruntime-dev

Installation & Build

Because DZap uses a system-level backend service, installation is a two-step process.

1. Build the Application

Clone the repository and build the source code.

npm install
npm install cross-env --save-dev
npm run start:frontend

In another terminal run:

cd server
sudo go run .

2. Install the Backend Helper

Run the provided installer script. This copies the Go binary to a secure system location (/usr/local/bin) and installs the PolicyKit rules allow the UI to communicate with it.

sudo ./install.sh

Usage

Once installed, you can run the application like any other Linux program.

  1. Navigate to the dist/ folder (or wherever you moved the AppImage).
  2. Run the application:
    ./DZap\ Secure\ Wiper-1.0.0.AppImage
    (Note: You do NOT need sudo to run the AppImage).
  3. When the backend needs to start (usually immediately upon launch), the system will prompt you for your password via a secure GUI dialog.

Development

For developers contributing to DZap, use the development mode which enables hot-reloading.

Recommended Workflow:

  1. Terminal 1 (Backend):
    cd server
    sudo go run .
  2. Terminal 2 (Frontend):
    npm run start:frontend

Project Structure

DZap/
├── electron/          # Main process logic (window creation, IPC)
├── frontend/          # React UI (Tailwind, Components, State)
├── server/            # Go Backend
│   ├── api/           # HTTP Handlers
│   ├── core/          # Drive detection, Wiping logic, AI prediction
│   └── realtime/      # WebSocket hub
├── model/             # ONNX AI models and feature maps
└── install.sh         # System installer script (In Development)

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

License

Distributed under the MIT License. See LICENSE for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors