Skip to content

Jesencloud/Topo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

217 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦑 Topo

High-performance system optimization and cleanup for Linux.

Stars Version License Commits Linux

Topo - Clean Your Linux

The most elegant way to keep your Linux system lean and mean. Inspired by the minimalist philosophy of Mole on macOS.

Features

  • All-in-one toolkit: Combines package managers (DNF/APT/Pacman), App Uninstaller, Disk Analyzer, and Monitor in a single tool.
  • Intelligent cleanup: Features a proactive detection engine that auto-discovers unknown apps, AppImage remnants, and orphaned data.
  • AI Developer ready: Reclaims gigabytes with age-aware purging for Hugging Face, Ollama, PyTorch, and CUDA caches.
  • Cross-distro support: Deep cleans Ubuntu Snaps, Multipass, Flatpaks, and Fedora Podman/Docker environments.
  • Disk insights: Ultra-fast disk explorer powered by a Rust scanning engine with parallel I/O.
  • Live monitoring: Real-time dashboard showing CPU, GPU, memory, and top resource-consuming processes.

Quick Start

Script Installation

curl -fsSL https://raw.githubusercontent.com/Jesencloud/Topo/main/install.sh | bash

The script installer keeps Topo under ~/.topo, detects x86_64 or ARM64, provisions the optimized engine, and uses Topo's built-in topo update / topo remove lifecycle.

GitHub Release Packages

Download the matching package from the latest release, then install it with your system package manager:

sudo apt install ./topo_xxx_amd64.deb
sudo dnf install ./topo-xxx-1.x86_64.rpm

Replace xxx with the version from the release you downloaded. Use topo_xxx_arm64.deb on Debian/Ubuntu ARM64 systems and topo-xxx-1.aarch64.rpm on Fedora/RHEL ARM64 systems. Package installs place Topo under /usr/lib/topo and expose /usr/bin/topo; after installation, use topo update and topo remove for lifecycle management.

  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
     β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ
     β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–ˆ
     β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ      β–ˆβ–ˆ    β–ˆβ–ˆ
     β–ˆβ–ˆ     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

  ● Topo is digging deeper 🦑 🦑 🦑

 Main Menu

 > 1. Clean        Free up disk space
   2. Uninstall    Remove apps completely
   3. Optimize     Check and maintain system
   4. Analyze      Explore disk usage
   5. Status       Monitor system health

 ↑/↓ | M: Mute | Enter: Select | ESC: Quit

Help

options:
  -h, --help   show this help message and exit
  --version    show program's version number and exit

commands:
  COMMAND
    clean      One-key safe disk cleanup
    analyze    Interactive disk usage explorer
    uninstall  Completely remove applications and residues
    optimize   Run system maintenance (fstrim, databases, etc.)
    purge      Interactive project artifact purging
    status     Monitor system health and resource usage
    history    Show recent deletion history
    all        Run all cleanup and purge tasks sequentially
    authorize  Setup passwordless sudo for faster cleanup
    update     Update topo to the latest version
    remove     Uninstall topo from the system
    link       Create a symbolic link for the 'topo' command
    whitelist  Manage manual path protection whitelist

Quick Start:
  topo                     Open the interactive TUI
  topo clean --dry-run     Preview cleanup without deleting
  topo analyze             Explore disk usage
  topo status              Show system health
  topo history --limit 5   Show the last 5 cleanup sessions

Whitelist:
  topo whitelist list         Show manual protection rules.
  topo whitelist add PATH     Protect PATH from cleanup.
  topo whitelist remove PATH  Remove a manual rule.

Notes:
  An empty whitelist is normal before you add a path.
  Built-in protections cover system paths, credentials, and XDG folders.
  Run topo whitelist --help for whitelist details.
  Run topo COMMAND --help for command-specific options.

Security & Safety Design

Topo is built for performance but governed by safety. It uses Home Directory Isolation for manual cleanup and a Global Whitelist to ensure critical system paths remain untouched.

It adopts a Zero-Interruption policy: administrative tasks are pre-authorized so your "One-Key Clean" runs unattended from start to finish.

Deep System Cleanup

Clean Your Linux

● Use 'topo clean --dry-run' to preview, 'topo whitelist --help' for whitelist details.
βž” System caches need sudo. Enter continue, Space skip: 
βž” System cleanup requires admin access
βž” Password: 
 βœ“ Authorization successful.


➀ System & Package Manager
  βœ“ Cleaned DNF cache (1.2 GB)
  βœ“ Vacuumed journal logs (218 MB)

➀ Developer Tools & AI Models
  βœ“ Cargo cache (44.5 MB) cleaned

============================================================
Cleanup complete

Breakdown:
  β€’ Package Manager Cache        1.2 GB (1 items)
  β€’ Developer Artifacts         44.5 MB (1 items)

Total space freed: 1.25 GB | Items: 2
Free space now: 482.2 GB
============================================================

Smart App Uninstaller

Select apps to remove and Topo will find all associated residues.

 Select Application to Remove 2/54 selected

  β—‹  1. cursor                                  837.1 MiB | 2d ago
  β—‹  2. wechat                                  715.8 MiB | Just now
β–Ά βœ“  3. brave-browser                           428.7 MiB | 4d ago
  β—‹  4. google-chrome-stable                    404.0 MiB | 4d ago
  βœ“  5. Thunderbird                              368.7Β MB | 13d ago
  β—‹  6. java-25-openjdk-headless                236.8 MiB | 20d ago
  β—‹  7. clash-verge                             235.8 MiB | 6d ago
  β—‹  8. glibc-all-langpacks                     227.2 MiB | 20d ago
  β—‹  9. rust-std-static                         162.7 MiB | 6d ago
  β—‹ 10. llvm-libs                               140.5 MiB | 4d ago
  β—‹ 11. cldr-emoji-annotation                   122.4 MiB | 1mo ago
  β—‹ 12. gcc                                     120.8 MiB | 14d ago
  β—‹ 13. libreoffice-calc                         27.4 MiB | 11d ago
  β—‹ 14. orca                                     22.2 MiB | 20d ago
  β—‹ 15. papers                                   14.6 MiB | 20d ago

 Page 1/4 | ↑↓←→ | A: All | N: Name | S: Size ↓ | T: Time | Space: Select

 β˜‰ Selected Apps to Remove: Press Enter to Uninstall, ESC to Exit
   β€’ brave-browser                         β€’ Thunderbird           

Cleanup History

Topo records cleanup and uninstall deletion events so you can review what changed after a run.

$ topo history --limit 5
topo 0.8.0 (Python Edition)
System: fedora
Deletion History

2026-06-04T18:17:03+08:00 -> 2026-06-04T18:17:05+08:00  uninstall wechat
  removed=2  trashed=0  skipped=0  failed=0  size=820.4 MiB
    removed              wechat
    deleted              /home/users/.xwechat

Intelligence Analyze

Powered by a dedicated Rust engine, Topo scans hundreds of thousands of files in milliseconds.

Exploring: /home/users/.config/Cursor

Select a location to explore (Type numbers or Space to select):

  β—‹  1. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬   59.9%  πŸ—‚οΈ WebStorage                     |  109.4 MiB
  β—‹  2. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬   11.5%  πŸ—‚οΈ CachedExtensionVSIXs           |   21.0 MiB
  βœ“  3.  β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    6.8%  πŸ—‚οΈ Cache                          |   12.4 MiB
  β—‹  4. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    5.6%  πŸ—‚οΈ User                           |   10.3 MiB
  β—‹  5. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    5.3%  πŸ—‚οΈ CachedData                     |    9.7 MiB
  β—‹  6. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    4.3%  πŸ—‚οΈ GPUCache                       |    7.9 MiB
β–Ά βœ“  7.  β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    1.6%  πŸ—‚οΈ logs                           |    2.8 MiB
  β—‹  8. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    1.1%  πŸ—‚οΈ clp                            |    2.0 MiB
  β—‹  9. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    0.9%  πŸ—‚οΈ Partitions                     |    1.7 MiB
  β—‹ 10. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    0.9%  πŸ—‚οΈ process-monitor                |    1.6 MiB
  β—‹ 11. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    0.6%  πŸ—‚οΈ CachedProfilesData             |    1.1 MiB
  β—‹ 12. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    0.4%  πŸ—‚οΈ Local Storage                  |  789.5 KiB
  β—‹ 13. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    0.3%  πŸ—‚οΈ DawnWebGPUCache                |  544.4 KiB
  β—‹ 14. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    0.3%  πŸ—‚οΈ DawnGraphiteCache              |  544.4 KiB
  β—‹ 15. β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬β–¬    0.2%  πŸ—‚οΈ Dictionaries                   |  441.4 KiB


  Page 1/3 | ↑↓←→ | A:All | F:Open Folder | R:Reload | S:Sort ↓ | Space:Select

 β˜‰ Selected Items to Remove: Enter:Delete
   β€’ πŸ—‚οΈ Cache                                 β€’ πŸ—‚οΈ logs

Technical Advantages

  • Multi-Arch Native: Optimized binaries for both x86_64 and ARM64 (Apple Silicon, Raspberry Pi).
  • Self-Learning Registry: Automatically learns your installed apps to provide process-safe, high-precision cleaning without relying solely on hardcoded lists.
  • Terminal History Protection: Uses the Alternate Screen Buffer to ensure your terminal session history is perfectly preserved upon exit.
  • Intelligent Silence: "Silent on zero-gain" policyβ€”only shows what actually matters.
  • Zero-Latency UI: Built-in ScanCache for instant directory navigation.
  • Hybrid Power: High-level flexibility of Python combined with the raw speed of Rust.

License

MIT License. Developed with ❀️ for the Linux community.

About

A high-performance system optimizer and cleaner for Linux, inspired by Mole.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors