Better URL Copy

Letztens hatte ich das Problem, dass eine meiner Lieblingsfunktionen in Arc in anderen Browsern nicht vorhanden ist: ein Hotkey, der die gegenwärtige URL einer Seite kopiert und Tracker entfernt. Anscheinend sehen die Wenigsten da ein Problem, aber für mich, als jemand, der genau diese Funktion (URL kopieren, Tracker entfernen) gestern 48 Mal gebraucht hat, ist das schon ein Segen.

Also Keyboard Maestro (und ein ganz kleines bisschen Python) to the rescue.

Zuerst brauchen wir ein KM Macro. So sieht es aus, und hier kann es runtergeladen werden.

In der „Assert“ Zeile kann man seine anderen Browser auch noch eintragen. Ich hab da Zen Browser (ein Firefox Fork) und Orion (der Browser von Kagi) drin. Floorp kommt mir nicht ins Haus.

Fehlt noch der Tracker-Verschwinder. Den habe ich schnell in Python angefangen, so ganz 100% ist er noch nicht, aber so schaut’s aus:

import sys
from urllib.parse import urlparse, parse_qs, urlencode, urlunparse

def strip_tracking(url):
    # Parse the URL
    parsed_url = urlparse(url)
    
    # Define common tracking parameters to remove
    tracking_params = {'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid'}
    
    # Parse query parameters
    query_params = parse_qs(parsed_url.query)
    
    # Remove tracking parameters
    cleaned_params = {k: v for k, v in query_params.items() if k not in tracking_params}
    
    # Rebuild the query string
    cleaned_query = urlencode(cleaned_params, doseq=True)
    
    # Rebuild the URL without tracking parameters
    cleaned_url = urlunparse(parsed_url._replace(query=cleaned_query))
    
    return cleaned_url

if __name__ == "__main__":
    # Read URL from stdin
    input_url = sys.stdin.read().strip()
    
    # Strip tracking information
    output_url = strip_tracking(input_url)
    
    # Output the cleaned URL
    print(output_url)

Was hier passiert ist simpel. Wenn Du ++C drückst, wird die Tastenkombination ⌘L (focussiert die URL) und ⌘C (kopiert das Fokussierte) ausgelöst, danach ein ⎋ um die Fokussierung aufzuheben.

Danach wird das Script strips.py aufgerufen, welches Du in ein Verzeichnis Deiner Wahl kopieren solltest. Gib das Verzeichnis dann in dem Macro entsprechend an. Was hier passiert ist auch keine Hexerei:

pbpaste schickt das Clipboard (also die „Zwischenablage“, in dem sich gerade die URL befindet) an die Standardeingabe. Das wird vom Script empfangen, welches die angegebenen Tracker ({'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid'}) entfernt und das Resultat an der Standardausgabe ausgibt, wo es von pbcopy empfangen wird, welches die neue URL in das Clipboard einlegt.

Jetzt kannst Du in einer App Deiner Wahl einfach die gestrippte URL pasten.

Das ist nicht einmal annähernd so angenehm wie in Arc, ganz zu schweigen von all den anderen geilen Sachen, die Arc so macht, aber es kommt nahe.

Mikka
Mikka
Ultrahiker und Ultra-Light Hiker. Technopilger, T1D, Mediziner. Was sonst?

Hinterlasse einen Kommentar.

Du kannst auf Fediverse-Profile verlinken, indem du @benutzername@server.tld in deinem Kommentar eingibst.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert