SwitchHosts! ist eine App zur Verwaltung der Hosts-Datei, die auf Electron, React, Ant Design, CodeMirror usw. basiert.
Funktionen:
Schneller Host-Wechsel
Syntaxhervorhebung
Remote-Hosts
Wechseln über die Taskleiste
Nur macOS: Unterstützung für Alfred-Workflows
Was ist neu in Version 5.0.0
Kernarchitektur auf Tauri 2 migriert: Von einem Electron-Hauptprozess auf ein Rust\/Tauri-Backend migriert, die vollständige src-tauri-Implementierung hinzugefügt und den alten Electron-Hauptprozesscode, die Verpackungsskripte und den electron-builder-Workflow entfernt.
Neue v5-Datenstruktur: Daten werden jetzt in separaten Schichten gespeichert: manifest.json, entries\/, trashcan.json, internal\/config.json und internal\/histories\/ . Die Anweisungen zur Sicherung der README wurden entsprechend aktualisiert.
Kompatible Migration, Import und Export: Unterstützt die Migration beim ersten Start von Legacy PotDb-Daten; manueller Import unterstützt jetzt v3, v4 und v5 Sicherungen; Exporte verwenden jetzt das v5-Sicherungs-JSON-Format mit zeitgestempelten Dateinamen.
Systemhosts Schreiben überarbeitet: Umstellung auf native Systemprivilegien: Security.framework auf macOS, pkexec auf Linux und UAC-Selbstanhebung auf Windows. Die Eingabe des sudo-Passworts in der App wurde entfernt.
Neues\/Überarbeitetes automatisches Update-System: Integrierter Tauri-Updater mit Hintergrund-Updateprüfungen, manuellem Download\/Installation, Proxy-Unterstützung für Update-Anfragen und generiertem\/veröffentlichtem latest.json.
CI- und Release-Pipeline neu aufgebaut: GitHub Actions CI- und Release-Workflows hinzugefügt. Veröffentlichungen führen jetzt die vollständige Testsuite vor der Veröffentlichung aus und unterstützen signierte\/validierte Builds für macOS universal\/arm64\/x64, Windows x64\/x86\/arm64 und Linux x64\/arm64.
Editor auf CodeMirror 6 aktualisiert: Verbesserte Leistung bei großen Dateien, Syntaxhervorhebung, Zeilennummern, schreibgeschützter Modus, Rendering von Verlaufsschnappschüssen und Stabilität von Cursor\/Anzeige.
Erweiterte Aktualisierung von Remote-Hosts: Unterstützung für Startaktualisierungen, Größenbeschränkungen für Antworten und CRLF\/LF-Normalisierung hinzugefügt.
Verbessertes Verhalten des System-Tray: Fehlerbehebung bei der Fokushandhabung auf macOS, Positionierung bei mehreren Monitoren, abgerundete Ecken und Interaktionsprobleme.
Großes Redesign der Hauptbenutzeroberfläche: Hinzufügen einer linken Aktivitätsleiste, Wechseln zwischen Hosts\/Mülltonne, anpassbaren linken und rechten Panels, einem Detailbereich auf der rechten Seite, zentrierter Titelleiste, rahmenlosem Fenster und plattformübergreifenden Fenstersteuerungen.
Rechter Detailbereich: Zeigt den aktuellen Hosttyp, die Regelanzahl, die Remote-URL, das Aktualisierungsintervall, die letzte Aktualisierungszeit, die Gruppeninhalte und den Ordnerauswahlmodus an; Mülltonnenartikel können aus dem Panel wiederhergestellt oder dauerhaft gelöscht werden.
Vereinheitlichte Mülltonnenerfahrung: Der Mülltonneneintrag wurde in die linke Seitenleiste verschoben, mit Anzeige der Artikelanzahl, Wiederherstellung, dauerhafter Löschung, Leeren und Detailbereichsoperationen.
Überarbeitete Einstellungen: Einstellungen in die Registerkarten Allgemein, Befehle, Proxy und Erweitert aufgeteilt. Allgemeine und erweiterte Einstellungen speichern automatisch, während Befehle und Proxy den manuellen Speicherstatus-Feedback beibehalten.
Neue Einstellungsoptionen: Standardmäßig ein Systemthema hinzugefügt, beim Login starten und Remote-Hosts beim Start aktualisieren.
Erweiterte Proxy-Unterstützung: Unterstützung für das SOCKS5-Proxyprotokoll hinzugefügt, und sowohl die Aktualisierung von Remote-Hosts als auch die App-Updates können jetzt Proxy-Einstellungen verwenden.
Lokale HTTP-API erhalten und migriert: Die 50761-API mit Rust\/Axum neu implementiert, unterstützt \/api\/list und \/api\/toggle; wenn das Portbinding fehlschlägt, wird die Einstellung zurückgesetzt und der Benutzer benachrichtigt.
Lokalisierungs- und Kopie-Updates: Lokale Schlüssel organisiert und sortiert, Anzeige der Sprachpräferenz-Fallbacks behoben, Menüs und Texte im Suchfenster lokalisiert und mehrsprachige README-Screenshots und v5-Dokumentation aktualisiert.
Stabilitätskorrekturen: Behebung von gleichzeitigen Konfigurationsschreibvorgängen, HTTP-API-Startfehlerzuständen, unsichtbarem Fenster nach dem Ausblenden des Dock-Symbols, festgefahrenem Hover-Zustand nach dem Ziehen, Synchronisierung von Titel-/Tray-Umschaltungen, langer Titeltrunkierung, Ladebildschirm-Sperren und mehr.
Erweiterte Testabdeckung: Hinzufügen von Playwright e2e-Tests, Rust-Tests und Frontend-Komponenten-/Modell-Unit-Tests, die Präferenzen, Import\/Export, Remote-Hosts, lokale Hosts, Mülltonne, Titelleiste, Baumoperationen, Suchen\/Ersetzen und mehr abdecken.
Toolchain-Upgrades: Upgrade auf Vite 8, TypeScript 6, Mantine 9, Vitest 4 und Tauri 2.11, und Einführung von ESLint 10 mit Namenskonventionsregeln.
Änderungen bei Entwicklungs- und Build-Befehlen: Die Entwicklung verwendet jetzt npm run tauri:dev; Produktionsbuilds verwenden npm run tauri:build; Build-Artefakte befinden sich jetzt unter src-tauri\/target\/release\/bundle\/.
Veraltete Electron-Inhalte entfernt: src\/main\/*, den Electron-Updater, alte Upload-/Verpackungsskripte, alte Hauptprozess-Tests und vite.main.config.mts entfernt.