Auto Referer

Control referer to protect privacy and not break web

什麼是Auto Referer?

Auto Referer是由https://garywill.github.io開發的Chrome擴展程式,該擴展的主要功能是“Control referer to protect privacy and not break web”。

擴展截圖

screenshot

下載Auto Referer擴展crx文件

下載Auto Referer擴展crx格式的文件,手動將Chrome擴充功能安裝到瀏覽器中,也可以將crx文件分享給朋友,輕鬆安裝Chrome擴充功能。

擴展使用說明

                        Control HTTP Referer to protect privacy and not break web. Open source at https://github.com/garywill/autoReferer

Referer policy:

1. For webs' top frame (i.e. clicking link, navigating, redirecting etc.):
   1). If origin and target url have same domain, allow trimmed referer
   2). If origin and target url have different domain, no referer 

2. For in-page resources (images, videos, js, css etc.), allow trimmed referer (this is **the key to not break** most webs, also a balance between privacy and experience)

3. Trim referer: Any referer should be no more than `http(s)://domain-name:port/` 

4. Not allow referer that not starts with "http" or "https". (Please feedback if you find something broken due to this)

5. No referer when downgrade from HTTPS/WSS to HTTP/WS

We believe that can protect privacy enough and won't break web.

If user find a web broken, user can temporary set this addon disabled via toolbar button for:

- this one tab
- this one tab and new tabs opened by this tab
- this one window (Firefox only)
- globally

(above can be set as keyboard shortcuts)

there's showy toolbar button badge indicating disabling status.

## Notice
Due to browser bug on javascript `document.referrer` , using a regular referer controlling addon you can get 70% of expected protection until they fix that bug. 

So, we've implemented a workaround to improve protection to 85%. Please enable workaround in addon settings .

This addon doesn't use content script. Content script hiding `document.referrer` is not 100% reliable.

Instead, we use this workaround to kill `document.referrer`: 
Cancel all cross-domain navigating requests and make freshnew ones, like directly hit (currently only implemented for GET method and main frame, other methods and sub-frames remain as is)

## Allowlist

Currently it has hard-coded allowlist.

## Disclaimer

This open souce addon comes with no warranty. Use on you own risk!                    

擴展基本資訊

名稱 Auto Referer Auto Referer
ID dafnjeokmkpjdlfgllccdenmikeglgab
官方網址 https://chromewebstore.google.com/detail/auto-referer/dafnjeokmkpjdlfgllccdenmikeglgab
簡介 Control referer to protect privacy and not break web
檔案大小 34.28 KB
安裝次數 382
目前版本 0.8.40
更新時間 2024-01-22
上架時間 2021-12-24
開發者 https://garywill.github.io
電子郵箱 [email protected]
付費類型 free
擴展官網 https://github.com/garywill/autoReferer
說明頁面URL https://github.com/garywill/autoReferer
隱私政策頁面URL https://github.com/garywill/garywill/blob/privacy_policy/README.md
支援的語言 en
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "name": "Auto Referer",
    "description": "Control referer to protect privacy and not break web",
    "manifest_version": 2,
    "version": "0.8.40",
    "homepage_url": "https:\/\/github.com\/garywill\/autoReferer",
    "author": {
        "name": "Garywill",
        "url": "https:\/\/garywill.github.io"
    },
    "permissions": [
        "webRequest",
        "webRequestBlocking",
        "*:\/\/*\/*",
        "ws:\/\/*\/*",
        "wss:\/\/*\/*",
        "",
        "contextMenus",
        "storage"
    ],
    "icons": {
        "128": "icon.png"
    },
    "background": {
        "page": "background.html",
        "persistent": true
    },
    "browser_action": {
        "default_icon": "icon_gray.png",
        "default_title": "Auto Referer"
    },
    "commands": {
        "_execute_browser_action": {
            "description": "Click toolbar button"
        },
        "toggle_t": {
            "description": "Toggle for one tab"
        },
        "toggle_h": {
            "description": "Toggle for one tab and new tabs opened by it"
        },
        "toggle_global": {
            "description": "Toggle globally enable\/disable"
        }
    },
    "options_ui": {
        "page": "options.html"
    }
}