88 lines
5.1 KiB
Markdown
88 lines
5.1 KiB
Markdown
This is a fork of [ClearURLs/Addon](https://github.com/ClearURLs/Addon) with some modifications. The
|
|
main change is moving the data/rule files to this repo instead of loading them from a gitlab page
|
|
that the original author hosts. This removes the risk of a bad actor gaining control over that URL
|
|
and making changes that lead to arbitrary code execution or redirecting your browser to arbitrary
|
|
URLs.
|
|
|
|
## Install
|
|
|
|
**Firefox**
|
|
* I have a signed xpi that you can immediately install. Open `build/` and drag the xpi into Firefox.
|
|
It may take a few seconds for the browser to display the extension installation dialog box.
|
|
* You can also find the signed Firefox files in the project's [Releases page](https://github.com/sir-pinecone/clear-urls-browser-extension/releases).
|
|
|
|
**Chrome**
|
|
* Go to Chrome extensions page.
|
|
* Toggle the developer mode (top-right of page).
|
|
* Click `Load unpacked`.
|
|
* Select this project's root folder.
|
|
|
|
## Development
|
|
|
|
### Local Testing
|
|
|
|
* Firefox: open about:debugging and click `Load Temporary Add-on...` then select `manifest.json` file.
|
|
* Chrome: follow the install steps from above.
|
|
|
|
## Signing and Building
|
|
|
|
### Firefox
|
|
* Install web-ext with `$ npm install --global web-ext`
|
|
* Generate an unlisted xpi with:
|
|
`web-ext sign --api-key <your JWT issuer> --api-secret <your JWT secret>`
|
|
* You can obtain these keys from https://addons.mozilla.org/en-US/developers/addon/api/key/
|
|
* The signed xpi will be in `web-ext-artifacts/`. Drag this into Firefox to install it.
|
|
* Alternatively use the private sign-firefox-extension.sh script (not included in the repo) which places the xpi in `build/`.
|
|
|
|
---
|
|
|
|
**ClearURLs** is an add-on based on the new WebExtensions technology and is optimized for *Firefox* and *Chrome* based browsers.
|
|
|
|
This extension will automatically remove tracking elements from URLs to help protect your privacy when browse through the Internet,
|
|
which is regularly updated by us and can be found [here](https://gitlab.com/anti-tracking/ClearURLs/rules/-/raw/master/data.min.json).
|
|
|
|
## Application
|
|
Many websites use tracking elements in the URL (e.g. `https://example.com?utm_source=newsletter1&utm_medium=email&utm_campaign=sale`) to mark your online activity.
|
|
All that tracking code is not necessary for a website to be displayed or work correctly and can therefore be removed—that is exactly what ClearURLs does.
|
|
|
|
Another common example are Amazon URLs. If you search for a product on Amazon you will see a very long URL, such as:
|
|
```
|
|
https://www.amazon.com/dp/exampleProduct/ref=sxin_0_pb?__mk_de_DE=ÅMÅŽÕÑ&keywords=tea&pd_rd_i=exampleProduct&pd_rd_r=8d39e4cd-1e4f-43db-b6e7-72e969a84aa5&pd_rd_w=1pcKM&pd_rd_wg=hYrNl&pf_rd_p=50bbfd25-5ef7-41a2-68d6-74d854b30e30&pf_rd_r=0GMWD0YYKA7XFGX55ADP&qid=1517757263&rnid=2914120011
|
|
```
|
|
|
|
Indeed most of the above URL is tracking code. Once ClearURLs has cleaned the address, it will look like this:
|
|
`https://www.amazon.com/dp/exampleProduct`
|
|
|
|
## Features
|
|
|
|
* Removes tracking from URLs automatically in the background
|
|
* Blocks some common ad domains (optional)
|
|
* Has a built-in tool to clean up multiple URLs at once
|
|
* Supports redirection to the destination, without tracking services as middleman
|
|
* Adds an entry to the context menu so that links can be copied quickly and cleanly
|
|
* Blocks hyperlink auditing, also known as *ping tracking* (see also [this article](https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing))
|
|
* Prevents ETag tracking
|
|
* Prevents tracking injection over history API (see also: [The replaceState() method](https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method))
|
|
* Prevents Google from rewriting the search results (to include tracking elements)
|
|
* Prevents Yandex from rewriting the search results (to include tracking elements)
|
|
|
|
## Permissons
|
|
Reasoning for needed permissions can be found under [here](https://gitlab.com/KevinRoebert/ClearUrls/issues/159).
|
|
|
|
## Copyright
|
|
We use some third-party scripts in our add-on. The authors and licenses are listed below.
|
|
- [WebExtension browser API Polyfill](https://github.com/mozilla/webextension-polyfill) |
|
|
Copyright by Mozilla |
|
|
[MPL-2.0](https://github.com/mozilla/webextension-polyfill/blob/master/LICENSE)
|
|
- [Bootstrap v4.3.1](https://github.com/twbs/bootstrap/tree/v4.3.1) |
|
|
Copyright 2011-2016 Twitter, Inc. |
|
|
[MIT](https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
- [jQuery v3.4.1](https://github.com/jquery/jquery/tree/3.4.1) |
|
|
Copyright JS Foundation and other contributors |
|
|
[MIT](https://jquery.org/license/)
|
|
- [DataTables v1.10.20](https://github.com/DataTables/DataTables/tree/master) | Copyright (c) 2008-2015 SpryMedia Limited | [MIT](https://datatables.net/license/)
|
|
- [Pickr v1.7.0](https://github.com/Simonwep/pickr/tree/1.7.0) | Copyright (c) 2018 - 2020 Simon Reinisch |
|
|
[MIT](https://github.com/Simonwep/pickr/blob/master/LICENSE)
|
|
- [Font Awesome v5.12.0](https://github.com/FortAwesome/Font-Awesome/tree/5.12.0) | Copyright (c) @fontawesome |
|
|
[Font Awesome Free License](https://github.com/FortAwesome/Font-Awesome/blob/master/LICENSE.txt)
|