Ta wersja privacy badgera nie jest już utrzymywana. Cały kod źródłowy Privacy Badger dla Firefoksa, Chrome i Opery znajduje się teraz w jednym repozytorium pod adresem: https://github.com/EFForg/privacybadger
Pytania otwarte na tym repozytorium nie będą sprawdzane.
Privacy Badger Firefox
Privacy Badger to dodatek do Firefoksa, który blokuje szpiegujące reklamy i niewidoczne trackery podczas przeglądania stron. Więcej informacji tutaj.
Przewodnik programisty
Początek
- Zainstaluj pakiet
jpm
używając npm.npm install -g jpm
- Po aktywacji SDK, uruchom
jpm -b <path/to/firefox> run
aby uruchomić czysty profil Firefoksa z zainstalowanym Privacy Badgerem. Uruchomjpm -b <path/to/firefox> test
aby uruchomić testy.jpm xpi
tworzy pakiet (plik .xpi), który można zainstalować poprzez załadowanie do Firefoksa.
Ważne katalogi i pliki
hooks/ Git hooks. You can use them by copying into `.git/hooks`. The pre-push hook runs tests and cancels the push if they fail.release-utils/ | Files for making a self-hosted release of Privacy Badger and updates that are signed with an offline private key.Makefile | You probably don't need to worry about these unless you're a project maintainer.package.json |data/ |lib/ | Most of the code that runs in the add-on. See SDK documentation for more info on the directory structure.test/ |defaults/ |doc/ Changelog, style guide, how to make a signed release, other documentation TBD.
Contributing
Przed wysłaniem pull requesta należy zapoznać się z plikiem CONTRIBUTING.md.
Jak działa heurystyczne blokowanie
To jest przybliżone podsumowanie wewnętrznej logiki Privacy Badgera do blokowania trackerów. W tej chwili „tracker” == „ciasteczko strony trzeciej, które śledzi użytkownika na wielu stronach pierwszego pochodzenia”. Jestem w trakcie dodawania wsparcia dla innych typów trackerów niebędących plikami cookie (lokalne przechowywanie, etagi, trafienia w pamięci podręcznej itp.).
Privacy Badger używa (stosunkowo prostego) heurystycznego algorytmu do decydowania, czy strona trzecia Cię śledzi. Kiedy Privacy Badger widzi żądanie strony trzeciej na stronie internetowej, sprawdza:
- Czy strona trzecia odczytuje plik cookie? Jeśli nie, nie wliczaj go do heurystyki blokowania. W przeciwnym razie:
- Czy plik cookie jest wystarczająco wysokowentropowy? Jeśli nie, nie licz go. (Obecnie obliczanie entropii jest bardzo prymitywne! Zobacz lib/heuristicBlocker.js.) W przeciwnym razie:
- Powiększ licznik heurystycznego blokera o +1 dla tej domeny. Czy domena bazowa (eTLD+1) strony trzeciej odczytała ciasteczka na co najmniej 3 domenach bazowych strony pierwszej? Jeśli nie, nie blokuj jej (na razie). W przeciwnym razie:
- Czy strona trzecia zamieściła akceptowalną politykę DNT? (Sprawdzamy to używając XML HTTP Request do dobrze znanej ścieżki, gdzie prosimy strony o zamieszczenie deklaracji zgodności z DNT). Jeśli tak, nie blokuj jej. W przeciwnym razie:
- Czy strona trzecia lub którakolwiek z jej domen nadrzędnych znajduje się na wstępnie załadowanej białej liście witryn, których nie należy blokować, ponieważ prawdopodobnie spowodowałaby ona uszkodzenie witryny pierwszej strony? Jeśli tak, zablokuj ją przed odczytywaniem plików cookie w kontekście strony trzeciej. W przeciwnym razie:
- Zablokuj całkowicie żądania stron trzecich.
Dodatkowo, Privacy Badger zablokuje ciasteczka stron trzecich z domeny, jeśli jakakolwiek z jej domen nadrzędnych została zablokowana lub zablokowana ciasteczkami.
Uważaj, że użytkownicy mogą ręcznie ustawić domeny tak, aby były odblokowane (zielone), zablokowane ciasteczkami (żółte) lub czerwone (zablokowane). Te wybory zawsze zastępują heurystyczny bloker.
Domyślnie Privacy Badger wysyła nagłówek Do Not Track na wszystkich żądaniach. Czyści również referer dla wszystkich żądań, które są zablokowane przez ciasteczka.
Kontakt
Opiekunami tego projektu są Cooper Quintin (cjq at eff dot org) i Noah Swartz (noah at eff dot org). Istnieje również lista mailingowa do dyskusji na temat rozwoju Privacy Badger zarówno dla Firefoksa jak i Chrome.