An open API service indexing awesome lists of open source software.

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

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.