Skip to content
Projekte

iliyami/MacSai has 2,116 GitHub stars and 132 forks. GitHot measured +17 stars in 24 hours. Last checked 2026-11-07 23:14 UTC. Last push 2026-10-29.

So werden diese Zahlen gemessen

Mac Sai: the open-source Mac cleaner, optimizer, and malware scanner. A free, Apple-notarized alternative to CleanMyMac, built with Swift 6 and SwiftUI.

What you can do

  • 🧹 Cleanup Smart Scan (one click) System Junk (16+ categories) Mail Attachments Trash Bins Project Junk (build folders) Disk Hogs (Docker, simulators) Clean History (one-click Restore) - 🛡️ Protection Malware Removal Privacy (browsers) Browser Extensions Saved Wi-Fi Permissions Overview - ⚡ Performance Optimization (login items) Maintenance (system tasks)

Gemessener Sternzuwachs

in 24h
+17
in 7 days
Verlauf wird gesammelt
in 15 days
Verlauf wird gesammelt
in 1 month
Verlauf wird gesammelt

Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.

README.de.md

Original

Mac Sai Icon

Mac Sai

Der quelloffene Mac-Reiniger, Optimierer und Malware-Scanner.
Eine kostenlose, von Apple notarisierte Alternative zu CleanMyMac, gebaut mit Swift 6 und SwiftUI.
Über 100.000 Mal heruntergeladen. Für immer kostenlos, ohne Telemetrie.

English | 简体中文 | 繁體中文 | Deutsch | Français | Русский

Total downloads GitHub stars Homebrew installs Latest release Commit activity
Notarized No telemetry macOS 14+ Swift 6 Tests License

Mac Sai Screenshot

In einem Befehl installieren:

brew install --cask mac-sai

Oder lade das neueste DMG. Es ist von Apple notarisiert, es öffnet sich also einfach, ohne Rechtsklick, ohne Warnungen, ohne Terminal.

Niemals Werbung in der App. Diese Seite hat einen geprüften Sponsorenplatz, und er ist frei.


Warum Mac Sai?

Ein voll ausgestatteter Mac-Reiniger sollte kein Jahresabo kosten und dich nicht bitten, einer Blackbox mit tiefem Zugriff auf deine Dateien zu vertrauen. Mac Sai gibt dir das komplette Werkzeugset, offen und einsehbar.

  • Für immer kostenlos. Kein Abo, keine In-App-Käufe, kein "Upgrade auf Pro", keine Nag-Screens. BSD-3-lizenziert.
  • Null Telemetrie. Keine Analytik, kein Crash-Reporter, keine Tracker, kein Server, an den etwas nach Hause gesendet werden könnte. Und du musst uns nicht einfach glauben, überprüfe es selbst mit zwei Befehlen.
  • Jedes wichtige CleanMyMac-Werkzeug in einer App. 22 Module für Bereinigung, Schutz, Leistung, Anwendungen und Speicheranalyse, plus ein Menüleisten-Widget.
  • Sicher von Grund auf. Löschen zuerst in den Papierkorb, eine Sperrliste geschützter Pfade, Schutz gegen Symlinks und TOCTOU, und ein SafetyGuard, der jeden Pfad prüft. Es ist so gebaut, dass es deine Daten nie verliert.
  • Von Apple notarisiert und vollständig quelloffen. Dein Mac prüft die Signatur bei jedem Start, und jede Zeile ist hier nachlesbar.

Funktionen auf einen Blick

🧹 Bereinigung

  • Smart Scan (ein Klick)
  • System Junk (16+ Kategorien)
  • Mail Attachments
  • Trash Bins
  • Project Junk (Build-Ordner)
  • Disk Hogs (Docker, Simulatoren)
  • Clean History (Wiederherstellen mit einem Klick)

🛡️ Schutz

  • Malware Removal
  • Privacy (Browser)
  • Browser Extensions
  • Saved Wi-Fi
  • Permissions Overview

⚡ Leistung

  • Optimization (Anmeldeobjekte)
  • Maintenance (Systemaufgaben)

📦 Anwendungen

  • Uninstaller (+ Auf Standard zurücksetzen)
  • Unused Apps
  • Extensions (Bereiche, Plug-ins)
  • Updater

🗂️ Dateien

  • Space Lens (Speicher-Treemap)
  • Large & Old Files
  • Duplicates (+ Konsolidieren)
  • Shredder

📊 Menüleiste

  • Live CPU / Speicher / Disk / Akku
  • Netzwerk, Laufzeit, Swap
  • Umsetzbare Empfehlungen

Funktionen im Detail

🧹 Bereinigung

Modul Was es tut
Smart Scan Ein Klick führt die Module für Bereinigung, Schutz und Leistung gemeinsam aus, mit Live-Fortschritt, und zeigt danach genau, wie viel pro Modul freigegeben wurde
System Junk 16+ Scan-Kategorien: Benutzer- und System-Caches, Protokolle, Sprachdateien, defekte Einstellungen, defekte Anmeldeobjekte, Dokumentversionen, iOS-Backups, Xcode-Müll, Caches von Paketmanagern / IDEs / KI-Werkzeugen, Reste gelöschter Benutzer, sowie Universal-Binary-Verschlankung (findet fette Mach-O-Binärdateien, die sowohl arm64 als auch x86_64 enthalten, und schreibt sie per lipo auf deine native Architektur um, mit Abbrechen-Unterstützung)
Mail Attachments Findet zwischengespeicherte Anhänge aus Apple Mail, Outlook und Spark
Trash Bins Leert den Papierkorb an jedem Ort, auch auf externen Laufwerken
Project Junk Findet wiederherstellbare Build-Ordner in deinen Projekten: node_modules, .next, dist, Rust- und Maven-target, Gradle-build, Python-Virtualenvs und CocoaPods-Pods. Ein Ordner zählt nur, wenn die Dateien daneben den Projekttyp bestätigen, und dist und Pods nur, wenn deine .gitignore sie nennt. Alles geht in den Papierkorb
Disk Hogs Zeigt, wie viel Platz Docker und Xcode-Simulatoren belegen. Entfernt gestoppte Container, verwaiste Images und verwaisten Build-Cache (jeweils nach einer Bestätigung) und löscht nicht verfügbare Simulatoren und alte Simulator-Laufzeiten. Docker-Volumes und die neueste Laufzeit jeder Plattform werden nie angerührt
Clean History Listet deine letzten Bereinigungen auf (die letzten 30 Tage, bis zu 20) und holt eine ganze Bereinigung mit einem Klick aus dem Papierkorb zurück. Der Verlauf bleibt auf deinem Mac in ~/Library/Logs/MacClean/clean-history.json, nur für dein Benutzerkonto lesbar, und wird nirgendwohin gesendet

🛡️ Schutz

Modul Was es tut
Malware Removal Signaturbasiertes Scannen in 3 Tiefen (Schnell / Ausgewogen / Tief): Launch Agents und Daemons, App-Bundles, Browser-Erweiterungen sowie bekannte Adware-/Malware-Muster. Exakter Hash-Abgleich mit Apples XProtect-Signaturen, die schon auf deinem Mac liegen, offline, dazu ein optionaler Hash-Feed von MalwareBazaar (abuse.ch). Safari-Erweiterungen auf Apples Sperrliste und MalwareBazaar-Treffer werden zur Prüfung aufgelistet und nie vorausgewählt (kein Antivirus, und das sagt es auch)
Privacy Bereinigt Verlauf, Cookies und Cache von Safari, Chrome und Firefox, mit Zeitfiltern. Safari-Lesezeichen werden nie angerührt
Browser Extensions Listet die installierten Erweiterungen in Safari, Chrome, Brave, Edge, Arc und Firefox auf. Selbst installierte Chromium- und Firefox-Erweiterungen können in den Papierkorb, solange der Browser geschlossen ist; per Richtlinie oder vom Browser selbst installierte werden angezeigt, aber nicht angerührt. Safari-Erweiterungen verlinken zu den Safari-Einstellungen
Saved Wi-Fi Listet deine bevorzugten Drahtlosnetzwerke auf und vergisst die von dir ausgewählten
Permissions Overview Eine schreibgeschützte Übersicht pro App, welche Datenschutz-Berechtigungen (TCC) jede App besitzt, der Blickwinkel, den die Systemeinstellungen nicht bieten. Jede Aktion verlinkt tief in die Systemeinstellungen, die die Schalter besitzen

⚡ Leistung

Modul Was es tut
Optimization Verwalte Anmeldeobjekte und Launch Agents mit Ein-/Ausschalten pro Eintrag
Maintenance Systemaufgaben: RAM freigeben, Wartungsskripte ausführen, Startvolume prüfen, Launch Services neu aufbauen, Spotlight neu indizieren, DNS leeren, Time-Machine-Schnappschüsse verschlanken. Aufgaben sind nach Schweregrad markiert, "Sichere Aufgaben ausführen" läuft sequenziell, und das Admin-Passwort wird einmal abgefragt

📦 Anwendungen

Modul Was es tut
Uninstaller Eine Muster-Suchmaschine, die jede zugehörige Datei über 17+ Library-Unterverzeichnisse findet (auch Apps, die in Hersteller-Unterordnern verschachtelt sind). Vollständige Entfernung, Auf Standard zurücksetzen (Caches und Einstellungen einer App löschen, die App aber behalten) und Erkennung ungenutzter Apps
Unused Apps Findet Apps, die du seit 3, 6 oder 12 Monaten nicht geöffnet hast, anhand des Spotlight-Datums der letzten Nutzung, sortiert nach Größe. Laufende Apps werden nie aufgelistet, und wenn Spotlight keine Nutzungsdaten hat, sagt es das, statt zu raten. Ein Klick übergibt eine App an den Uninstaller
Extensions Prüfe Einstellungsbereiche von Drittanbietern, Internet-Plug-ins und Safari-Erweiterungen. Vom Benutzer installierte Bereiche und Plug-ins können in den Papierkorb
Updater Prüft installierte Apps über deren eigene Sparkle-Appcast-Feeds auf Updates (liest nur Versionsinformationen, sendet nichts über dich)

🗂️ Dateien

Modul Was es tut
Space Lens Visualisierung der Speichernutzung als quadrierte Treemap mit Drilldown-Navigation
Large & Old Files Findet Dateien über 50 MB, sortiert nach Größe und letztem Zugriffsdatum
Duplicates Progressive Erkennung (Größengruppierung, partielles SHA-256, voller Hash, Inode-Prüfung), plus ein Konsolidieren-Modus, der Speicher mit APFS-Copy-on-Write-Klonen zurückgewinnt, ohne eine einzige Kopie zu löschen
Shredder Sicheres Löschen von Dateien mit den Modi Standard, Permanent und Sicheres Überschreiben

📊 Menüleisten-Widget

Mac Sai menu bar widget

Ein Menüleisten-Widget im Glasmorphismus-Stil, das die Vitalwerte deines Macs einen Klick entfernt hält. Es ist ein eigenständiger Prozess, der beim Anmelden startet und aus der Seitenleiste der App umgeschaltet wird, du musst also nie das Hauptfenster öffnen, nur um kurz nachzusehen.

  • Live-Statusringe: CPU-Last, Speicherdruck, Speicherplatznutzung und Akku in einem 2x2-Ringraster (host_processor_info, vm_statistics64, APFS-Kapazität, IOKit-Stromquelle), farblich abgestuft von Grün über Gelb bis Rot
  • Konfigurierbare Anzeige: zeige freien Speicher, GPU-Auslastung, Speichernutzung oder Akkutemperatur; die Auswahl bleibt erhalten, und nicht verfügbare Sensoren zeigen --
  • Netzwerk, Laufzeit und Swap: Echtzeit-Durchsatz hoch/runter, System-Laufzeit, Swap-Nutzung
  • Empfehlungen: umsetzbare, ausblendbare Tipps ("Benutzer-Caches sind auf 2,52 GB gewachsen, führe System Junk aus"), ein Tipp genügt zum Handeln, nach dem Ausblenden 30 Tage unterdrückt
  • Schutzstatus: Zeitpunkt des letzten Malware-Scans und Anzahl der Bedrohungen, farbcodiert nach Aktualität
  • Verbundene Geräte: externe Volumes (mit freiem Speicher) und Displays auf einen Blick
  • Zustandswarnungen: gedrosselte, optionale Benachrichtigungen, wenn der Speicher kritisch knapp wird oder der Speicherdruck hoch bleibt

⌨️ Tastaturkürzel

Kürzel Aktion
⌘R Einen Scan im aktuellen Modul starten
⌘K Die aktuelle Auswahl bereinigen (wenn Ergebnisse angezeigt werden)
⌘1 bis ⌘9 Zu den ersten neun Seitenleisten-Modulen springen
⌘, Einstellungen öffnen

Wie Mac Sai im Vergleich abschneidet

Mac Sai CleanMyMac Pearcleaner PureMac OnyX Mole
Preis Kostenlos 39,95 $/Jahr Kostenlos Kostenlos Kostenlos Kostenlos (CLI)
Quelloffen ✅ BSD-3 ❌ ✅ Fair-Code ✅ MIT ❌ ✅ MIT
Telemetrie ❌ Keine ⚠️ Ja ❌ Keine ❌ Keine ❌ Keine ❌ Keine
Native GUI-App ✅ ✅ ✅ ✅ ✅ ❌ CLI (bezahlte GUI separat)
Smart Scan (ein Klick) ✅ ✅ ❌ ➖ Teilweise ❌ ➖ Interaktive CLI
System Junk (16+ Kategorien) ✅ ✅ ➖ ✅ ➖ Begrenzt ✅
Universal-Binary-Verschlankung ✅ ✅ ❌ ❌ ❌ ❌
Malware-Scanner ✅ ✅ ❌ ❌ ❌ ❌
Browser-Datenschutzreiniger ✅ ✅ ❌ ❌ ➖ ❌
Deinstallierer mit Resterkennung ✅ ✅ ✅ Fokus ❌ ❌ ✅
Duplikatsuche (+ Konsolidierung) ✅ ➖ ❌ ❌ ❌ ❌
Speicher-Treemap-Visualisierung ✅ ❌ ❌ ❌ ❌ ➖ Analyse
Menüleisten-Systemmonitor ✅ ✅ Menü ❌ ❌ ❌ ❌
Wartungsskripte ✅ ✅ ❌ ❌ ✅ Stark ➖
Von Apple notarisiert ✅ ✅ ✅ ✅ ✅ N/V
macOS-Version 14+ 13+ 13+ 13+ variiert variiert

CleanMyMac ist ein großartiges Produkt, und wer eine polierte, unterstützte Erfahrung möchte, sollte gerne dafür bezahlen. Mac Sai ist für alle, die lieber transparenten Quellcode und null Abo hätten.


Oberflächensprachen

Wähle in Einstellungen → Oberflächensprache zwischen System, Deutsch, Русский, 简体中文, 繁體中文 oder English. Deutsch und traditionelles Chinesisch übersetzen die statischen Oberflächentexte; interpolierte Meldungen behalten vorerst den englischen Wortlaut und die Pluralregeln (traditionelles Chinesisch fällt auf Vereinfachtes zurück). Das Hauptfenster und das Menüleisten-Widget teilen sich die Sprachauswahl.

Installation

Homebrew (empfohlen)

Mac Sai ist im offiziellen Homebrew-Cask, ein Tap wird also nicht benötigt:

brew install --cask mac-sai

Es ist von Apple notarisiert, es startet also aus Spotlight oder dem Programme-Ordner ohne Warnungen und ohne zusätzliche Schritte.

Weitere Installationswege (Ein-Zeilen-Skript, DMG, aus dem Quellcode bauen)

Ein-Zeilen-Installer

curl -fsSL https://raw.githubusercontent.com/iliyami/MacSai/main/scripts/install.sh | bash

Lädt das neueste DMG herunter und installiert die App nach /Applications.

DMG-Download

Hol dir das neueste DMG aus den Releases und ziehe Mac Sai in deinen Programme-Ordner.

Aus dem Quellcode bauen

git clone https://github.com/iliyami/MacSai.git
cd MacSai
swift build
swift test                     # die volle Suite mit 1.048 Tests ausführen
bash scripts/build-dmg.sh      # ein lokales DMG bauen (unsigniert)

Erfordert die Swift-6-Toolchain (Xcode 16+).

Über den alten Tap installiert?

Mac Sai ist jetzt im offiziellen Cask, du kannst den Tap also entfernen: brew untap iliyami/macsai (deine installierte App und künftige brew upgrade sind davon nicht betroffen).

Vollen Festplattenzugriff gewähren

Einige Module (Mail Attachments, Privacy, Malware) benötigen vollen Festplattenzugriff, um geschützte Bereiche zu scannen:

  1. Öffne Systemeinstellungen, Datenschutz & Sicherheit, Vollständiger Festplattenzugriff
  2. Klicke auf + und füge Mac Sai.app hinzu
  3. Starte Mac Sai neu

Deinstallieren

Homebrew-Installation:

brew uninstall --zap --cask mac-sai

DMG- oder manuelle Installation (funktioniert auch bei einer Homebrew-Installation):

curl -fsSL https://raw.githubusercontent.com/iliyami/MacSai/main/scripts/uninstall.sh | bash

Beide entfernen Mac Sai samt seiner Einstellungen, Caches, Protokolle und Datenbank unter ~/Library.


Signiert, notarisiert und vertrauenswürdig

Mac Sai ist mit einer Apple Developer ID code-signiert und von Apple notarisiert. Das zählt bei einer Reinigungs-App mehr als bei fast allem anderen, das du installierst, denn du bist im Begriff, ihr tiefen Zugriff auf deine Dateien zu geben, und du verdienst die Gewissheit, dass das, was auf deinem Mac läuft, wirklich von uns und unverändert ist. All das wird von deinem eigenen Mac erzwungen, nicht nur von uns versprochen:

  • Apple hat es geprüft. Jedes Release wird an Apple übermittelt und vor der Auslieferung auf Malware geprüft.
  • Es kann nicht manipuliert werden. Die Signatur ist ein kryptografisches Siegel über jede Datei; ändere ein einziges Byte, und macOS weigert sich, es zu öffnen.
  • Es stammt nachweislich von uns. Die Signatur ist an unsere Apple-Developer-Identität gebunden, sodass niemand sonst etwas ausliefern kann, das dein Mac als Mac Sai akzeptiert.
  • Es funktioniert einfach. Keine Gatekeeper-Warnungen, kein Rechtsklick zum Öffnen, kein Terminal.

Zusammen mit dem vollständig offenen Quellcode ist das eine Vertrauenskette, die du nicht auf gut Glauben eingehst: Der Code ist öffentlich, wir signieren jedes Release, Apple prüft es, und dein Mac prüft das Siegel jedes Mal erneut, wenn du die App öffnest.

Telemetriefreiheit selbst überprüfen

Glaub uns nicht einfach. Sowohl der Quellcode als auch der laufende Prozess sind überprüfbar.

1. Durchsuche den Quellcode nach Netzwerk-APIs

rg -n 'URLSession|NSURLConnection|Sparkle|SecTrustEvaluate' Sources --glob '*.swift'

Die optionalen Netzwerkzugriffe sind unten aufgeführt. Die lokale Bereinigung überträgt weder Scanergebnisse noch Dateilisten:

  • Sources/MacClean/Services/SelfUpdateController.swift: Sparkle prüft den im signierten Programm hinterlegten HTTPS-Feed und lädt signierte Versionshinweise und Update-Archive. Automatische Prüfungen und automatisches Laden/Installieren sind getrennte Einstellungen; Systemprofiling und JavaScript in Versionshinweisen sind deaktiviert. Siehe Update-Einrichtung. Bei konfigurierten Direktinstallationen sind automatische Update-Prüfungen standardmäßig aktiviert und laufen einmal täglich; jede Anfrage enthält die Versionen der App und von Sparkle im User-Agent, und die Prüfungen lassen sich in den Einstellungen abschalten.
  • Sources/MacCleanKit/UpdateChecker.swift: Homebrew-Update-Prüfungen und die Release-Seite als Rückfall für Builds ohne eingerichteten signierten Feed
  • Sources/MacClean/Modules/Updater/UpdaterModule.swift: die vom Benutzer ausgelöste Prüfung der Sparkle-Feeds anderer Apps, wenn du den Updater öffnest
  • Sources/MacCleanKit/MalwareBazaarFeed.swift: der optionale Download von MalwareBazaar-Hashes. Er läuft nur, wenn du deinen eigenen abuse.ch-Auth-Key hinterlegst und unter Einstellungen > Malware-Datenbanken auf Jetzt aktualisieren klickst. Jede Anfrage sendet nur deinen Auth-Key und die Abfrage, niemals Datei-Hashes oder Pfade. Passt ein heruntergeladener Hash zu einer signierten Datei, fragt macOS bei Apple nach, ob ihr Signaturzertifikat widerrufen wurde, dieselbe Prüfung wie bei Gatekeeper; die Anfrage betrifft das Zertifikat, nicht deine Dateien

Es gibt nirgends im Code Analytik, einen Crash-Reporter oder ein Tracker-SDK.

2. Beobachte den laufenden Prozess

(
MACSAI_APP=$(cd "/Applications/Mac Sai.app" && pwd -P) || exit 1
MACSAI_PIDS=$(ps -ww -axo pid=,comm= | awk -v bundle="$MACSAI_APP/" '
  { pid=$1; sub(/^[[:space:]]*[0-9]+[[:space:]]+/, "")
    if (index($0, bundle) == 1) print pid }' | paste -sd, -)
if [ -n "$MACSAI_PIDS" ]; then
  ps -p "$MACSAI_PIDS" -o pid=,comm=
  lsof -nP -a -p "$MACSAI_PIDS" -i
else
  echo "No running executables from this Mac Sai bundle"
fi
)

Diese Momentaufnahme wählt PIDs anhand der ausführbaren Dateien im angegebenen App-Bundle aus und schließt fremde Installer-/Updater-Prozesse aus. An andere Orte kopierte Sparkle-Helfer und die macOS-Vertrauensdienste liegen außerhalb dieser Auswahl; beobachte sie mit einer prozessbezogenen Firewall. Führe den Befehl während einer Prüfung oder eines Downloads aus, um kurzlebige Verbindungen zu sehen.

Wenn keine Update-Prüfung, kein Download und keine optionale Malware-Verifikation laufen, öffnet die lokale Bereinigung keine Netzwerkverbindung. Beobachte bei Updates auch die Sparkle-Unterprozesse; Apple-Zertifikatsprüfungen laufen über die Vertrauensdienste von macOS. Little Snitch oder LuLu zeigen diese Verbindungen ebenfalls.

3. Untersuche die Binärdatei, die du tatsächlich installiert hast

Für eine Installation per DMG oder Homebrew braucht diese Schleife nur die macOS-Kommandozeilenwerkzeuge, keinen Quellcode-Checkout und kein Python. Sie liest alle sieben enthaltenen Binärdateien und zeigt häufige Netzwerkimporte, statische URLs und Tracker-Zeichenfolgen zur manuellen Prüfung:

(
MACSAI_APP="/Applications/Mac Sai.app"
MACSAI_SPARKLE="$MACSAI_APP/Contents/Frameworks/Sparkle.framework/Versions/B"
for MACSAI_BINARY in \
  "$MACSAI_APP/Contents/MacOS/MacClean" \
  "$MACSAI_APP/Contents/Library/LoginItems/MacCleanMenu.app/Contents/MacOS/MacCleanMenu" \
  "$MACSAI_SPARKLE/Sparkle" "$MACSAI_SPARKLE/Autoupdate" \
  "$MACSAI_SPARKLE/Updater.app/Contents/MacOS/Updater" \
  "$MACSAI_SPARKLE/XPCServices/Downloader.xpc/Contents/MacOS/Downloader" \
  "$MACSAI_SPARKLE/XPCServices/Installer.xpc/Contents/MacOS/Installer"
do
  printf '\n%s\n' "$MACSAI_BINARY"
  MACSAI_IMPORTS=$(nm -uj "$MACSAI_BINARY") || exit 1
  printf '%s\n' "$MACSAI_IMPORTS" | grep -Ei \
    'URLSession|URLConnection|CFNetwork|Network|nw_|DNSService|NetService|curl_|^_(socket|connect|connectx|send|recv)([$]|$)' || true
  MACSAI_STRINGS=$(strings -a "$MACSAI_BINARY") || exit 1
  printf '%s\n' "$MACSAI_STRINGS" | grep -Ei \
    '://|sentry|firebase|mixpanel|amplitude|bugsnag|crashlytics|posthog|appsflyer' || true
done
)

Diese Ausgabe ist kein automatisches Prüfurteil und kein Nachweis, dass alle zur Laufzeit gewählten Ziele sichtbar sind. Nutze die folgende automatisierte Prüfung für das vollständige Komponentenverzeichnis, ausdrückliche Freigabelisten und die eingebetteten Datenschutzeinstellungen.

Führe die Prüfung aus einem Quellcode-Checkout aus, der zur installierten Version passt. Sie untersucht das tatsächlich installierte App-Bundle: Hauptprogramm, Menüleistenhelfer, Sparkle.framework, Autoupdate, Updater.app, Downloader.xpc und Installer.xpc:

bash scripts/check-network-surface.sh "/Applications/Mac Sai.app"

Erwartet: sieben geprüfte Mach-O-Dateien. Fehlende oder unerwartete Binärdateien, nicht freigegebene Netzwerkimporte oder statische URLs sowie Tracker-Merkmale lassen die Prüfung fehlschlagen. URLSession-Importe sind in Mac Sai, seinem Menüleistenhelfer, Sparkle und Downloader erlaubt; die übrigen Sparkle-Helfer dürfen keine Netzwerkimporte haben. Sparkles Dokumentationslinks und XML-Namensraum sind ausdrücklich aufgeführt und gelten nicht als Download-Endpunkte.

Das Skript zeigt außerdem die hinterlegte SUFeedURL und prüft Signaturpflicht, Prüfung vor dem Entpacken und Datenschutzeinstellungen. Vergleiche die Archiv-/Versionshinweis-Adressen dieses Feeds und die von dir angefragten Feeds anderer Apps mit den beobachteten Verbindungen. Die Rückfall-Endpunkte sind api.github.com/repos/iliyami/MacSai/releases/latest und formulae.brew.sh/api/cask/mac-sai.json; der optionale Malware-Endpunkt ist mb-api.abuse.ch/api/v1/. Projekt-, Support- und Browsereinstellungslinks öffnen sich nur auf Anfrage. Dieselbe vollständige Bundle-Prüfung läuft beim Paketbau; CI prüft beide gebauten Programme und alle fünf Binärdateien der festgelegten Sparkle-Version. Implementierung und Freigabelisten.


Architektur

Mac Sai
├── MacClean          Haupt-SwiftUI-App (22 Module)
├── MacCleanKit       Gemeinsames Framework (Modelle, Konstanten, Protokolle)
├── MacCleanHelper    Privilegierter XPC-Helfer (LaunchDaemon für Root-Operationen)
└── MacCleanMenu      Menüleisten-Monitor (eigenständiger Prozess)

Technologie-Stack

Ebene Technologie
Sprache Swift 6 mit strikter Nebenläufigkeit
UI SwiftUI + AppKit-Hybrid
Nebenläufigkeit Actors, TaskGroup, async/await, @Sendable
Datenbank GRDB.swift (SQLite) im WAL-Modus
Datei-Scan URLResourceKey-Prefetching auf APFS
Inkrementelle Updates FSEvents mit historischem Replay
Privilegierte Operationen SMAppService + NSXPCConnection
Systemstatistiken Mach-APIs (host_processor_info, vm_statistics64, proc_pidinfo)

Sicherheitsmodell

Mac Sai ist so entworfen, dass es niemals Datenverlust verursacht:

  • Sperrliste geschützter Pfade: /System, /usr, /bin, /sbin und Apple-Systemapps sind unantastbar, wobei macOS-Firmlinks kanonisiert werden, damit die Erkennung von Symlink-Umleitungen bei legitimen Systempfaden nicht fälschlich anschlägt
  • Bereinigbarkeitsfilter vor dem Scan: Objekte, die der aktuelle Prozess nicht in den Papierkorb legen könnte (root-eigene Kinder von System-Caches, datentresor-geschützte ~/Library/Caches/com.apple.*-Verzeichnisse), werden beim Scan verworfen, sodass sie nie als bereinigbar erscheinen
  • Löschen zuerst in den Papierkorb: jede Entfernung geht standardmäßig in den Papierkorb, und ein Probelauf-Modus zeigt eine Vorschau, ohne etwas anzurühren
  • TOCTOU-Vermeidung: Symlinks werden unmittelbar vor dem Löschen neu aufgelöst
  • Ausgeschlossene Ordner: wähle in den Einstellungen Ordner, die Scans komplett überspringen, und SafetyGuard weigert sich zusätzlich, irgendetwas darunter zu löschen
  • Gestückelte, abbrechbare Bereinigung: große Auswahlen werden in 5k-Objekt-Blöcke aufgeteilt, die Abbrüche zwischen den Blöcken beachten, und Scans kehren nach etwa einer Sekunde in den Leerlauf zurück, wenn du auf Abbrechen tippst
  • In-App-Aktivitätsprotokoll: jeder Fehler während einer Bereinigung wird mit vollem Pfad protokolliert, einseh- und kopierbar vom Bildschirm nach der Bereinigung, nach 30 Tagen automatisch bereinigt
  • Kernel-erzwungenes XPC-Gate: der privilegierte Helfer nutzt NSXPCListener.setCodeSigningRequirement, sodass der Kernel selbst jede Verbindung ablehnt, deren Code-Signatur nicht zur Kennung und zum Team der App passt

Tests

swift test

Die XCTest-Suite hat 1.048 Tests und behandelt SafetyGuard und CleaningEngine (die Dateien über Leben und Tod) als muss-perfekt-sein: adversariale Abdeckung von Symlinks, Pfad-Traversierung, NULL-Bytes, SIP, geschützten Apps, Dateianzahl-Obergrenzen, TOCTOU und Idempotenz, plus Integrationsabdeckung von Probelauf- / Papierkorb- / permanenter Bereinigung, der Scan-Zustandsmaschine, jeder System-Junk-Kategorie, der Treemap-Mathematik, der Uninstaller-Suchmaschine, der Duplikaterkennung, des Appcast-Parsings und vollständiger End-to-End-Zyklen von Fixture bis Bereinigung. Fixtures (withTempHome, withFakeApp, withFakePlist) halten jeden Test von deinem echten Home-Verzeichnis fern.


Mitwirken

Beiträge sind sehr willkommen. Lies die Richtlinien für Beiträge, dann:

  1. Forke das Repo und erstelle einen Feature-Branch
  2. Nimm deine Änderung vor (eine fokussierte Änderung pro PR erleichtert die Prüfung)
  3. Führe swift test aus
  4. Öffne einen Pull Request

Es gibt auch eine offene Feature-Abstimmung: 👍 die Werkzeuge, die als Nächstes gebaut werden sollen.

Lizenz

BSD 3-Clause. Siehe LICENSE. Du darfst den Code nutzen, verändern und weitergeben, sofern du den Copyright- und Lizenztext beibehältst und den Namen "Mac Sai" oder die Namen der Mitwirkenden nicht ohne Erlaubnis zur Bewerbung abgeleiteter Produkte verwendest.

Danksagungen

Inspiriert von der Open-Source-Community rund um Mac-Werkzeuge:

  • Pearcleaner: Muster für den App-Deinstallierer
  • Mole: Bereinigungskategorien
  • Tencent Lemon Cleaner: modulare Architektur
  • Squarified-Treemap-Algorithmus von Bruls, Huizing und van Wijk (2000)

Unterstützung und Sponsoren

Mac Sai ist kostenlos und bleibt es: keine Bezahlversion, keine Werbung, kein Tracking. Wenn es dir ein Abo für ein Reinigungsprogramm erspart hat, kannst du mir einen Kaffee spendieren ☕ oder Mitglied werden. Das hält die Releases signiert, notarisiert und regelmäßig.

Unterstützer

Mitglieder bekommen Einblicke hinter die Kulissen, einen frühen Blick auf jedes Release, auf Wunsch Beta-Versionen und ihren Namen in der App. In der App ist nie etwas hinter einer Mitgliedschaft versteckt.

Noch keine Mitglieder. Werde das erste →
Power-User- und Team-Mitglieder werden hier genannt. Alle stehen in SUPPORTERS.md (Englisch).

Sponsorenplatz

Mac Sai hat einen einzigen Sponsorenplatz, hier und oben auf dieser Seite, in jeder Sprache dieser README.

100.000+

Downloads

2.000+

GitHub-Sterne

17.000

Seitenaufrufe pro Monat

6

README-Sprachen

Die meisten Besucher sind Entwickler und Mac-Power-User und kommen vor allem über die Google-Suche, danach über YouTube, GitHub und Reddit.

  • Immer nur ein Sponsor, damit dein Name nicht in einer Logowand untergeht.
  • Geprüft. Entwicklerwerkzeuge, Datenschutz- und Sicherheitsprodukte sowie Mac-Apps, die ihre Nutzer respektieren. Keine Reinigungs- oder „Optimierungs“-Tools, keine Kryptowährungen, keine VPN-Affiliate-Deals, nichts, was Menschen trackt.
  • Niemals in der App. Mac Sai hat keine Werbung und keine Telemetrie, und daran ändert kein Sponsor etwas.

Dieser Platz ist frei. Sponsor werden →
Zielgruppe und Bewerbung: SPONSORS.md (Englisch)

Sternverlauf

Mac Sai ist freie Software, gebaut von der Community, für die Community.
Wenn es dir ein Abo erspart hat, hilft ein ⭐ anderen, es zu finden, und ein Kaffee ☕ hält es am Laufen.

Ähnliche Projekte entdecken