Mole CLI o l’app Mole per Mac
Mole si presenta in due programmi. mo è uno strumento da riga di comando gratuito e open source, installato con Homebrew e con licenza GPL-3.0. Mole for Mac è un’app nativa a pagamento, con cinque schede e una presenza nella barra dei menu. Non sono una versione di prova e una Pro. Sono implementazioni distinte, con compiti che si sovrappongono e un piccolo strato condiviso sul disco: sceglierne una non ti esclude dall’altra. Questa è una guida per capire quale combacia con il modo in cui lavori già, e cosa succede se le tieni entrambe.
Confronto rapido
Mole CLI (mo) |
Mole for Mac | |
|---|---|---|
| Licenza | Gratis, open source, GPL-3.0 (non MIT) | App proprietaria a pagamento |
| Prezzo | Gratis | $19 una tantum, 2 Mac, aggiornamenti a vita |
| Installazione | brew install mole |
Download da mole.fit |
| Ambito di eliminazione | Più ampio (presume che leggi l’elenco) | Più stretto (uguale o più sicuro della CLI) |
| Solo terminale | mo purge, mo installer, mo touchid, --dry-run / --json |
- |
| Solo app | - | GUI, barra dei menu, ventola, elementi di avvio, aggiornamenti in-app, disinstallazione prima nel Cestino |
| Condiviso su disco | ~/.config/mole/whitelist*, ~/Library/Logs/mole/operations.log |
Stessi percorsi |
Cosa condividono le due
Cinque comandi della CLI corrispondono alle cinque schede dell'app: mo clean, mo uninstall, mo optimize, mo analyze e mo status corrispondono a Pulizia, App, Ottimizza, Analizza e Stato. Entrambe gestiscono cache utente, di sviluppo, del browser e di sistema, elenchi di app e residui, analisi del disco e dati sulle prestazioni. Le implementazioni e gli elenchi precisi dei candidati non sono identici.
La scansione è gratuita in entrambi. Nell'app le operazioni che modificano i dati richiedono una licenza dopo la prova: puoi usare ciascuno di questi strumenti due volte. Puoi quindi confrontare le scansioni dell'app e della CLI sullo stesso Mac senza pagare.
La sovrapposizione più interessante è sul disco. Entrambe scrivono in ~/.config/mole/whitelist e ~/.config/mole/whitelist_optimize, e entrambe aggiungono a ~/Library/Logs/mole/operations.log. Una cache che proteggi da un frontend è protetta anche dall’altro, e una cancellazione fatta da uno o dall’altro lascia un record nello stesso file. I due programmi non si conoscono a runtime, ma non sono nemmeno indipendenti.
Cosa può fare solo il terminale
Tre flussi di lavoro più ampi della CLI non hanno un equivalente nell’app. Comandi di supporto come mo history, mo update, mo completion e mo remove sono amministrazione da terminale, non superfici di manutenzione aggiuntive.
mo purge
Scansiona le directory dei tuoi progetti e propone di rimuovere artefatti di build pesanti. L’elenco dei target è ampio: target, build, dist, .next, DerivedData, __pycache__, coverage e circa altre trenta voci, comprese directory di dipendenze che un package manager dovrebbe scaricare di nuovo. Purge elimina in modo permanente invece di spostare nel Cestino, e contrassegna come recenti i progetti toccati negli ultimi sette giorni lasciandoli deselezionati. È un modo diretto per recuperare decine di gigabyte da una macchina da sviluppatore, ed è anche il comando che merita di più un --dry-run prima.
mo installer
Ripulisce installatori DMG, PKG e archivi da Download, Scrivania, cache di Homebrew, iCloud e Mail, etichettando ciascuno in base alla provenienza.
mo touchid
Configura Touch ID per sudo: un compito di configurazione della shell più che di pulizia.
Il terminale permette anche di controllare le operazioni in anteprima e usare i risultati negli script. mo clean, mo uninstall e mo optimize supportano --dry-run, che mostra il piano senza eseguirlo. mo analyze, mo status e mo history accettano --json, e mo status passa automaticamente a JSON quando l'output viene reindirizzato in pipe. Le funzioni di sola lettura e l'output strutturato funzionano anche via ssh, su un Mac senza interfaccia grafica o negli script. Le cancellazioni programmate richiedono comunque una modalità non interattiva esplicita: avviare una conferma interattiva da cron non la rende sicura.
Cosa può fare solo l’app
Le aggiunte dell’app si concentrano su due cose in cui il terminale è debole: visualizzazione continua e controllo di sistema privilegiato.
Per la visualizzazione, Analizza disegna una treemap in cui puoi aprire le sottocartelle. Stato mostra dati e grafici in tempo reale, con processi che puoi fissare nell’elenco, e la barra dei menu mantiene visibili CPU, memoria e rete mentre lavori altrove. La disinstallazione presenta un elenco da verificare con percorsi, app responsabili e dimensioni prima di agire; le app disinstallate vanno nel Cestino.
Per il controllo di sistema, l’app installa tramite SMJobBless un helper root limitato alle operazioni supportate su ventole e batteria. La gestione degli elementi di avvio è separata: i job launchd verificati e gli elementi Service Management supportati si possono attivare e disattivare; per quelli non identificati con certezza, Mole apre Impostazioni di Sistema. L’app può inoltre segnalare l’uso di fotocamera e microfono. Cura batteria mantiene la carica tra il 75 e l’80 percento sui Mac supportati; Schermo sempre acceso impedisce lo spegnimento del display; Pulisci schermo limita gli input accidentali; Doctor raccoglie informazioni diagnostiche senza modificarle, da condividere quando servono per l’assistenza.
La superficie più ampia solo dell’app è l’aggiornamento delle altre app. Rileva diversi canali di update e ha percorsi in-app per Sparkle, cask e formula Homebrew, Mac App Store e feed Electron. GitHub Releases e i metadati dei siti possono identificare altre versioni; quando Mole non può verificare e sostituire un bundle in sicurezza, apre l’app o la pagina del vendor invece di inventare un altro installatore. La licenza è un acquisto una tantum che copre due Mac con aggiornamenti a vita, rimborso entro 14 giorni e macOS 14 o successivo. Nessuno dei due programmi invia telemetria.
Dietro le quinte: come un modello di sicurezza serve due frontend
L’app non è un wrapper che invoca mo dalla shell. È una reimplementazione in Swift, e i due codebase condividono percorsi e decisioni di sicurezza, non processi. Analyze attinge alla tassonomia dei percorsi della CLI e alle lezioni sul dimensionamento in parallelo, ma ha il proprio scanner, i propri timeout, gli stati di risultato parziale, la cache e i comportamenti di fallback. Un totale da un frontend è quindi un utile controllo incrociato, non una promessa di parità byte per byte.
Il principio registrato nel repository per tenerle allineate è che la parity con la CLI significa uguale o più sicuro, non la stessa ampiezza di cancellazione. Ogni candidato che l’app mostra è classificato prima di arrivarti: selezionabile di default, solo revisione e deselezionato di default, oppure bloccato del tutto e rifiutato anche se qualcosa lo chiede. Quando il comportamento della CLI e quella classificazione non coincidono, l’app prende la posizione più stretta.
mo purge è l'esempio più chiaro. Per le cache di sviluppo, l'app Mac esclude le dipendenze scaricate che la CLI può rimuovere, come node_modules, Pods, venv e vendor. Una cartella target può essere ricreata compilando i sorgenti locali; le dipendenze possono invece richiedere Internet e non essere più disponibili nelle stesse versioni. L'app presenta gli elementi da verificare senza preselezionarli. Richiede inoltre Accesso completo al disco per le scansioni dei dati delle app, ricontrolla i percorsi al momento della cancellazione e sposta le app disinstallate nel Cestino.
Quindi le due non sono altrettanto aggressive, e la differenza va in una direzione coerente. La CLI recupera di più perché presume un utente che legge l’elenco. L’app recupera di meno perché presume un utente che vuole l’elenco già sicuro.
Usarle entrambe
Non si rompe nulla se installi entrambe, e i file condivisi rendono la combinazione coerente. Proteggi una cache dalle Impostazioni dell’app e anche mo clean la salterà. Aggiungi un percorso con mo clean --whitelist e l’app lo rispetta. Entrambe lasciano le cancellazioni nello stesso log.
Due avvertenze da conoscere. I programmi non si coordinano mentre girano, quindi non avviare una clean in entrambe allo stesso tempo. E poiché l’app è deliberatamente più stretta, vedere in mo clean una categoria che l’app non offre mai è comportamento atteso, non una funzione mancante.
Come scegliere
Installa la CLI se vivi nel terminale, vuoi l’anteprima con --dry-run, ti serve --json per uno script, vuoi le scansioni degli artefatti di progetto e degli installatori, o semplicemente non vuoi spendere. Su una macchina da sviluppatore è spesso tutto ciò che serve, ed è gratis proprio perché possa esserlo.
Compra l’app se vuoi la mappa del disco e il dashboard live, se il controllo ventole, la gestione dell’avvio o gli aggiornamenti di app di terze parti sono il motivo reale per cui sei qui, o se la stai installando per qualcuno che non aprirà mai il Terminale. Quest’ultimo caso era il motivo originale per cui l’app esiste, una storia raccontata in la storia di Mole.
Se ancora non sai, installa prima la CLI e lancia mo clean --dry-run. Non costa nulla, non cancella nulla, e leggere il suo output è il modo più rapido per capire se il Mac ha un problema che valga uno strumento, una domanda
da porsi prima di installare qualsiasi cleaner.