Google Chrome als Browser bietet viele Vorteile, hat jedoch einen großen Nachteil: Die Löschung des Verlaufs bzw. der Daten im Cache ist äußerst unflexibel. In Google Chrome ist es möglich, den Verlauf der letzten Stunden, Tage oder Wochen zu löschen. Was ich vermisse, ist jedoch eine Funktion, die alle Daten löscht, die älter als x Tage bzw. Monate sind.
Zur Lösung des Problems habe ich ein kleines Skript entwickelt, welches ich automatisch beim Anmelden ausführen lasse. Das Skript ist unter Ubuntu Linux getestet, muss also vor dem Betrieb für Windows noch etwas angepasst werden.
Google Chrome Verlauf älter als x Tage löschen
Folgende wichtige Hinweise zum Skript:
- Bitte testet das Skript vorab in einer sicheren Umgebung. Prüft, ob die Pfade zu eurem System passen. Legt ein Backup eures Google Chrome Profils an!
- Ich nutzte keine Plugins unter Google Chrome. Nutzt ihr Plugins, so muss das Skript angepasst werden. Andernfalls sind die Plugins nach Ausführung des Skriptes weg.
- Das Skript löscht alles aus eurem lokalen Google Chrome Profil, außer eure Einstellungen, den Verlauf der letzten x Tage und eure Bookmarks. Dazu gehören auch die in Google Chrome gespeicherten Passwörter.
#!/bin/bash # Führe das Skript nur aus, wenn Google Chrome nicht aktiv ist if [ $(pgrep -f /opt/google/chrome/chrome | wc -c) -eq 0 ]; then # Lösche die folgende Zeile, wenn du das Skript verstanden und an dein System angepasst hast :) exit # Kopiere den Verlauf, die gecachten Icons, die Einstellungen und Bookmarks in das Verzeichnis /var/tmp cp $HOME/.config/google-chrome/Default/History /var/tmp/ cp $HOME/.config/google-chrome/Default/Favicons /var/tmp/ cp $HOME/.config/google-chrome/Default/Preferences /var/tmp/ cp $HOME/.config/google-chrome/Default/Bookmarks /var/tmp/ # Behalte die Daten der letzten 40 Tage, alles ältere wird gelöscht days=40; a=$(date +%s); b=$(expr $a + 11644473600 - $days \* 24 \* 60 \* 60); mseconds=$(expr $b \* 1000000); # Den Verlauf löschen sqlite3 /var/tmp/History "delete from 'urls' WHERE last_visit_time < \"$mseconds\" AND last_visit_time > 0;" sqlite3 /var/tmp/History "delete from 'visits' where visit_time < \"$mseconds\""; sqlite3 /var/tmp/History "delete from 'visits' where not exists (select 1 from 'urls' where urls.id=visits.url)" sqlite3 /var/tmp/History "delete from 'segments' where not exists (select 1 from 'urls' where urls.id=segments.url_id)" sqlite3 /var/tmp/History "delete from 'segment_usage' where not exists (select 1 from 'segments' where segments.id=segment_usage.segment_id)" sqlite3 /var/tmp/History "delete from 'keyword_search_terms' where not exists (select 1 from 'urls' where urls.id=keyword_search_terms.url_id)" sqlite3 /var/tmp/History "delete from 'downloads'" sqlite3 /var/tmp/History "delete from 'downloads_slices'" sqlite3 /var/tmp/History "delete from 'downloads_url_chains'" sqlite3 /var/tmp/History "vacuum" # Das aktuelle Google Chrome Profil löschen rm -r $HOME/.config/google-chrome/Default # Ein neues Profil anlegen timeout --signal=3 5 /opt/google/chrome/chrome --no-startup-window &> /dev/null # Einige weitere Einstellungen aus dem Profil löschen cat '/var/tmp/Preferences' | jq 'del(.partition.per_host_zoom_levels)' | jq 'del(.profile.content_settings.exceptions)' | jq 'del(.data_reduction)' | jq 'del(.devtools)' > /var/tmp/Preferences2 rm /var/tmp/Preferences # Alte Einstellungen in das neue Profil übertragen mv /var/tmp/History $HOME/.config/google-chrome/Default/ mv /var/tmp/Favicons $HOME/.config/google-chrome/Default/ mv /var/tmp/Preferences2 $HOME/.config/google-chrome/Default/Preferences mv /var/tmp/Bookmarks $HOME/.config/google-chrome/Default/ fi
Das Skript ist ein nützliches Werkzeug, welches eine etwas bessere Privatsphäre beim Surfen im Internet ermöglicht. Nochmals aber eine allgemeine Regel: Bitte führt keine fremden Skripts aus, welche ihr nicht versteht. Das Skript bitte sorgfältig lesen und an das eigene System anpassen.
Quellen / Bildnachweis:
- Beitragsbild: © nik0.0kin/stock.adobe.com