Safari Verlauf löschen per Skript

N

nicoch

Mitglied
Thread Starter
Dabei seit
25.03.2016
Beiträge
54
Reaktionspunkte
2
Hallo zusammen,

früher gab es die Möglichkeit in Safari nach dem Schließen von Safari den Verlauf zu leeren.

Diese Möglichkeit gibt es in der Aktuellen Version 9.0.3 nicht mehr ...

Nun möchte ich das ganze gerne automatisieren mit AppleScript oder JavaScript um so auch mal nen kleinen Einblick in die OS X Automation zu bekommen, ich kenn Skripten nämlich nur von Filemaker und da bin ich auch noch Neuling..

Wäre sehr nett wenn mir jemand weiterhilft. Muss nicht gleich die Lösung sein- mir reicht erstmal ein Anstoß für den ersten Schritt

Gruß Nico
 
Die Lösung ist die history.db Datei unter User/Library/Safari zu sperren... so einfach ist das
 
Dann hast du aber gar keinen Verlauf, auch nicht den der aktuellen Sitzung, oder?
Ein Skript müsste also die history.db löschen..

Ach ja: wäre die Frage nicht im Skripte/Automatisierungs-Forum besser aufgehoben?
 
z.B so Applescript:
Code:
do shell script "rm -f ~/Library/Safari/History.plist"
Bei mir heisst es History.plist. Es gibt da aber noch HistoryIndex.sk
Code:
do shell script "rm -f ~/Library/Safari/History.plist ~/Library/Safari/HistoryIndex.sk"
..würde dann beides löschen.
 
Hi, nicoch. Willkommen im Forum.

Ein Skript, das den Cache, Cookies, Verlauf usw., im Grunde alles mit Ausnahme der Lesezeichen, deiner Einstellungen und Extensions löscht, siehst du z.B. unten. Es entleert am Ende auch den Papierkorb. (Kannst du ja ggf. auskommentieren.)

Code:
property delete_list_home_folder : {"Library/Caches/com.apple.Safari", "Library/Caches/Metadata/Safari", "Library/Cookies/Cookies.binarycookies"}
property exceptions_list : {"Bookmarks.plist", "Configurations.plist.signed", "Extensions"}

tell application "Finder"
    set trash_path to the POSIX path of (path to trash folder)

    repeat with item_2_delete in delete_list_home_folder
        set del_path to POSIX path of (path to home folder as text) & item_2_delete
        try
            do shell script "mv " & del_path & " " & trash_path
        end try
    end repeat
    
    set safari_del_path to (path to home folder as text) & "Library:Safari:"
    set the_list to every item in folder safari_del_path
    repeat with this_item in the_list
        set this_name to name of this_item
        if (this_name as string) is not in exceptions_list then
            delete this_item
        end if
    end repeat
    try
        empty the trash -- löscht den Inhalt des Papierkorbs!!!
    end try
end tell

Sollte so eigentlich funktionieren.
Allerdings: Du kannst so viel löschen, wie du willst, Safari hält einige Sachen im Arbeitsspeicher vor (u.a. auch Cookies). D.h. komplett gelöscht wäre es erst nach einem Neustart. Kannst du testen: Log dich mit Safari irgendwo ein, dann beende Safari und lass das Skript laufen. Safari starten und die Seite aufrufen: Du müsstest immer noch eingeloggt sein. Es gibt wohl eine Möglichkeit, auch diesen Rest aus dem Arbeitsspeicher noch ohne Neustart zu löschen, doch die fällt mir gerade nicht ein (dürfte auch etwas weniger trivial sein).

BTW für Automatisierung gibts auch ein eigenes Unterforum. Vielleicht findest du dort noch einige Anregungen.
 
Code:
do shell script "purge" password "xyz" with administrator privileges
... würde alles unbenötigte aus dem RAM löschen. Das Passwort in Reinform in einem Script ist allerdings ein Sicherheitsrisiko.
 
Wie gesagt, die Lösung für den hartnäckigen Rest ist wohl nicht so einfach. Bei Macuser reicht das oben gepostete Skript. Doch wenn du dich in Safari z.B. bei https://taschen.com anmeldest und nach dem Beenden das Skript oben laufen lässt, wirst du feststellen, dass du im neu geöffeten Safari auf dieser Webseite immer noch angemeldet bist. Diesen letzten Rest zu löschen, ist aber möglich. Programme wie Tinker Tool Systems können das ja auch.
Ich habe leider keine Zeit, das selbst herauszufinden. Falls du eine Lösung entdeckst, wäre ich auch interessiert, das hier zu lesen.
 
Zurück
Oben Unten