62 lines
4.4 KiB
Markdown
62 lines
4.4 KiB
Markdown
|
---
|
||
|
layout: page
|
||
|
title: Updating the tracking protecting lists process
|
||
|
permalink: /contributing/update-tracking-protection-list
|
||
|
---
|
||
|
|
||
|
## What is tracking protection?
|
||
|
|
||
|
It is a feature that prevents trackers from collecting your personal information like your browsing habits and interests. In `GeckoEngine` it comes [built-in in Gecko(View)](https://mozilla.github.io/geckoview/javadoc/mozilla-central/org/mozilla/geckoview/ContentBlockingController.ContentBlockingException.html). For the `SystemEngine` we have to [created our own implementation](https://github.com/vladikoff/android-components/blob/main/components/browser/engine-system/src/main/java/mozilla/components/browser/engine/system/matcher/UrlMatcher.kt),
|
||
|
which relays on different lists that indicates what should be considered as a tracker or not.
|
||
|
|
||
|
## The lists
|
||
|
|
||
|
The following lists are kept outside of the Android Components repository in the [shavar-prod-lists](https://github.com/mozilla-services/shavar-prod-lists) repository.
|
||
|
|
||
|
|
||
|
| AC | Shavar | Purpose |
|
||
|
|-----------------------|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||
|
| [domain_blocklist.json][1] | [disconnect-blocklist.json][2] | This blocklist is the core of tracking protection in Firefox. [For more information][3]. |
|
||
|
| [domain_safelist.json][4] | [disconnect-entitylist.json][5] | It is used to allow third-party subresources that are wholly owned by the same company that owns the top-level website that the user is visiting for more details. [For more information][6].|
|
||
|
|
||
|
|
||
|
|
||
|
## Updating process
|
||
|
|
||
|
For every FireFox release, a new branch gets created following the same pattern as [merge-day](https://mozac.org/contributing/merge-day),
|
||
|
where `main` contains `nightly`'s lists, the higher branch number contains `Beta` and the higher branch number before contains `Stable`.
|
||
|
That means that every [merge-day](https://mozac.org/contributing/merge-day), we need to update the [domain_blocklist.json][1] and [domain_safelist.json][4] files with their counterpart on [shavar-prod-lists](https://github.com/mozilla-services/shavar-prod-lists).
|
||
|
|
||
|
### Preparation
|
||
|
1. Go to the [shavar-prod-lists](https://github.com/mozilla-services/shavar-prod-lists) repository
|
||
|
2. Switch to the higher branch number (Beta).
|
||
|
3. Copy the content of [disconnect-blocklist.json][2] -> [domain_blocklist.json][1]
|
||
|
4. Run all the tests on `browser-engine-system` 🤞
|
||
|
5. 🔴 `If` something fails proceed to verify what's causing the issue and address it.
|
||
|
6. ✅ `Else` proceed to copy the content of [disconnect-entitylist.json][5] -> [domain_safelist.json][4]
|
||
|
7. Run all the tests on `browser-engine-system` 🤞
|
||
|
8. 🔴 `If` something fails proceed to verify what's causing the issue and address it.
|
||
|
9. ✅ `Else` proceed to commit your changes using the guideline below.
|
||
|
|
||
|
To keep track of every update, we include the [shavar-prod-lists](https://github.com/mozilla-services/shavar-prod-lists) commit hash as part of our commit message.
|
||
|
This way we can know which version of the lists we have on AC.
|
||
|
|
||
|
```
|
||
|
Closes #6163: Update tracking protection lists
|
||
|
|
||
|
domain_blocklist.json maps to disconnect-blocklist.json
|
||
|
commit(shavar-prod-lists) d5755856f4eeab4ce5e8fb7896600ed7768368e5
|
||
|
|
||
|
domain_safelist.json maps to disconnect-entitylist.json
|
||
|
commit(shavar-prod-lists) 01dcca911aa7787fd835a1a19cef1012296f4eb7
|
||
|
```
|
||
|
|
||
|
THE END!
|
||
|
|
||
|
[1]: https://github.com/mozilla-mobile/firefox-android/blob/main/android-components/components/browser/engine-system/src/main/res/raw/domain_blocklist.json
|
||
|
[2]: https://github.com/mozilla-services/shavar-prod-lists/blob/master/disconnect-blocklist.json
|
||
|
[3]: https://github.com/mozilla-services/shavar-prod-lists/blob/master/README.md#disconnect-blocklist.json
|
||
|
[4]: https://github.com/mozilla-mobile/firefox-android/blob/main/android-components/components/browser/engine-system/src/main/res/raw/domain_safelist.json
|
||
|
[5]: https://github.com/mozilla-services/shavar-prod-lists/blob/master/disconnect-entitylist.json
|
||
|
[6]: https://github.com/mozilla-services/shavar-prod-lists/blob/master/README.md#disconnect-entitylistjson
|