Verifying Binary Integrity

For each published version, the distribution bundle includes a SHA256SUMS file in the public binary channel.

# Example for version 0.3.2
curl -fsSLO https://raw.githubusercontent.com/orbitbits/smog/binaries/v0.3.2/smog-0.3.2-linux-x86_64
curl -fsSLO https://raw.githubusercontent.com/orbitbits/smog/binaries/v0.3.2/SHA256SUMS

sha256sum -c SHA256SUMS

CLI

You can use the built-in CLI options to target specific files, change iterations, or let it auto-clean all trash directories detected:

smog [OPTIONS] [TARGETS]...

Options

  • [TARGETS]...: one or more files/folders/glob/device patterns (for example *.txt or my/folder/*.txt)
  • --trash: empty the trash securely
  • --confirm: ask for confirmation before removing
  • -n, --iterations <N>: overwrite iterations (3 by default for files/folders and 1 for block devices)
  • --mode <MODE>: block device mode (overwrite or discard, default is internal auto)
  • -k, --kill: safely remove and close the terminal (terminal only)
  • -c, --credits: show credits
  • -V, --version: display the version

Examples

# Remove file without confirmation
smog file.txt

# Remove folder with confirmation
smog my_folder --confirm

# Remove files in batch using glob patterns
smog '*.txt'
smog 'my/folder/*.txt'

# Empty trash without confirmation
smog --trash

# Empty trash with confirmation
smog --trash --confirm

# Wipe block device (root only, mode auto) [EXPERIMENTAL]
sudo smog /dev/sdX

# Force device wipe mode [EXPERIMENTAL]
sudo smog /dev/sdX --mode overwrite
sudo smog /dev/sdX --mode discard

Disk Wiper Safety Model

Note: If you use Smog for devices (HDD, SSD or Flash drive), remember that perfect disk wiping today depends heavily on the hardware, not just the software. Therefore, we cannot guarantee complete security in this mode. The disk wiping mode is set to EXPERIMENTAL.

When the target is a block device, Smog runs in disk-wipe mode with strict safeguards:

  • Requires root privileges for device wipe operations
  • Uses auto mode internally when --mode is not specified:
    • HDD: overwrite
    • SSD: discard (with fallback to overwrite when discard is unavailable)
  • Requires explicit destructive confirmation:
    • Type "WIPE /dev/sdX" to continue
  • Refuses dangerous targets:
    • refuses /
    • refuses devices that appear to back the current root filesystem
  • Prints technical warning for discard behavior:
    • Warning: discard support may vary depending on device.

Environment Variables

Smog supports the following environment variables to control its user interface and progress bar behavior:

  • SMOG_USE_ZENITY=1: Use Zenity dialogs for confirmation and progress (GUI mode)
  • SMOG_USE_PROGRESSBAR=1: Use only one terminal progress bar from indicatif, based on the total number of files

If SMOG_USE_PROGRESSBAR=1 is set, it takes precedence over SMOG_USE_ZENITY=1. Without SMOG_USE_PROGRESSBAR=1, the default terminal progress remains:

smog: file.txt ▓▓▓▓▓▓▓▓▓▓  100%

Example Usage

SMOG_USE_ZENITY=1 smog ~/my_folder
SMOG_USE_PROGRESSBAR=1 smog ~/my_folder

These variables are optional and can be set for a better user experience. See smog --help for more details.