DSA

Scan your filesystem. Find what's using your disk.
Real-time web report, zero dependencies.

bash
$ curl -fsSL https://raw.githubusercontent.com/onurkerem/disk-space-analyser/main/install.sh | bash

Core Capabilities

speed

Concurrent Scanning

Worker pool traverses directories in parallel. Your filesystem gets mapped fast, not one directory at a time.

sync

Incremental Rescans

Skips unchanged directories via mtime comparison. Subsequent scans finish in seconds, not minutes.

filter_alt

Shallow Scanning

Known heavy directories (.git, node_modules, venv) and directories under 1 GB are treated as leaf nodes. Focus on what matters.

monitoring

Real-Time Progress

Web UI shows a scanning banner with live progress. The report is available immediately, even while the scan runs.

database

Persistent Storage

SQLite with WAL mode. No external databases, no servers to manage. Scan data survives restarts.

terminal

Single Binary

Pure Go, no CGO. One static binary with an embedded web UI. Download and run — nothing else to install.

How It Works

Start the daemon, close your terminal, come back when it's done. The web report is available from the first second.

Your Filesystem

folder /home/user/
folder projects/
description large-repo/ 12.4 GB
description old-data/ 8.1 GB
folder Downloads/
description archive.tar.gz 3.7 GB
folder .docker/ 24.6 GB

Web Report

localhost:3097/report
folder .docker/ 24.6 GB
folder projects/ 20.5 GB
folder Downloads/ 3.7 GB
Total indexed 48.8 GB

Usage

dsa runs as a background daemon. Start it, close your terminal, come back to the report when it's ready.

check_circle

Start a scan on any path — defaults to the root filesystem

check_circle

Report is available at localhost:3097/report while scanning

check_circle

Block-based sizes report real disk usage, not apparent file size

check_circle

Stop the daemon or check status at any time

Terminal
# Start scanning your home directory
$ dsa start /home/user
# Check if the daemon is running
$ dsa status
# Stop the daemon when done
$ dsa stop
# Wipe all scan data and start fresh
$ dsa clear