https://github.com/henosch/self-referrer-origin
https://github.com/henosch/self-referrer-origin
browser privacy referrer tampermonkey userscript
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/henosch/self-referrer-origin
- Owner: henosch
- Created: 2025-09-22T00:32:51.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-09-22T00:33:09.000Z (4 months ago)
- Last Synced: 2025-10-05T08:45:28.277Z (4 months ago)
- Topics: browser, privacy, referrer, tampermonkey, userscript
- Language: JavaScript
- Size: 4.88 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Self-Referer Origin UserScript
English
## What It Does
The `tampermonkey-self-referrer.user.js` script forces `document.referrer` to resolve to the current page origin as early as possible. It monitors all known referrer access points, re-applies the override if something tampers with it, and logs unusual override attempts to the developer console.
## Why It Is Useful
- Keeps privacy-focused or single-page setups from leaking full URLs via the referrer header.
- Stabilises integrations that expect an origin-only referrer when embedding pages or running inside iframes.
- Helps debug referrer issues by surfacing every intercepted change in the console.
## Prerequisites
- Chromium-based browser (tested with current Chrome).
- Tampermonkey extension (v5 or newer) with "run-at document-start" support.
- Optional: Local HTTP server or direct file access to open `referrer-test.html` for verification.
## Installation & Usage
1. Install Tampermonkey.
2. Create a new userscript and paste the contents of `tampermonkey-self-referrer.user.js`, or use the hosted URL from the script header.
3. Enable the script globally (it matches `*://*/*`).
4. Browse to a site that normally strips or rewrites the referrer and inspect the console for `[self-referrer-origin]` messages.
## Verification
- Open `referrer-test.html` in the browser with the script enabled.
- Observe that `document.referrer` resolves to the current origin and the Getter source points to the script override.
- Watch the console for warnings whenever another script attempts to redefine the referrer property.
Deutsch
## Zweck
Das Skript `tampermonkey-self-referrer.user.js` zwingt `document.referrer` so früh wie möglich auf den Origin der aktuellen Seite. Es überwacht alle bekannten Zugriffspunkte, setzt die Überschreibung bei Manipulationen erneut und protokolliert jede ungewöhnliche Änderung im Entwickler-Console.
## Nutzen
- Verhindert, dass datenschutzfreundliche oder Single-Page-Setups vollständige URLs über den Referrer-Header preisgeben.
- Stabilisiert Integrationen, die beim Einbetten von Seiten oder in iframes einen Origin-Referrer erwarten.
- Unterstützt beim Debugging von Referrer-Problemen durch detaillierte Warnungen.
## Voraussetzungen
- Chromium-basierter Browser (getestet mit aktuellem Chrome).
- Tampermonkey-Extension (ab Version 5) mit Unterstützung für "run-at document-start".
- Optional: Lokaler HTTP-Server oder direkter Dateizugriff, um `referrer-test.html` zur Validierung zu öffnen.
## Installation & Nutzung
1. Tampermonkey installieren.
2. Neues Userscript anlegen und den Inhalt von `tampermonkey-self-referrer.user.js` einfügen oder die im Skriptkopf hinterlegte URL verwenden.
3. Skript global aktivieren (Match: `*://*/*`).
4. Eine Seite aufrufen, die den Referrer üblicherweise verändert, und die Konsole auf Meldungen mit `[self-referrer-origin]` prüfen.
## Verifizierung
- `referrer-test.html` mit aktivem Skript im Browser öffnen.
- Prüfen, dass `document.referrer` auf den aktuellen Origin zeigt und die Getter-Quelle auf die Überschreibung verweist.
- In der Konsole erscheinen Warnungen, sobald andere Skripte versuchen, die Referrer-Property zu überschreiben.