All Projects → freethenation → Dfpm

freethenation / Dfpm

DFPM is a browser extension for detecting browser fingerprinting.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Dfpm

Privacybadger
Privacy Badger is a browser extension that automatically learns to block invisible trackers.
Stars: ✭ 2,346 (+2796.3%)
Mutual labels:  tracking, privacy, chrome-extension, webextension
Archiveror
Archiveror will help you preserve the webpages you love. 💾
Stars: ✭ 246 (+203.7%)
Mutual labels:  chrome-extension, browser-extension, webextension
Synology Download Manager
An open source browser extension for adding/managing download tasks to your Synology DiskStation.
Stars: ✭ 138 (+70.37%)
Mutual labels:  chrome-extension, browser-extension, webextension
Absolutedoubletrace
A web extension to block browser fingerprinting
Stars: ✭ 156 (+92.59%)
Mutual labels:  privacy, chrome-extension, webextension
Urql Devtools
A tool for monitoring and debugging urql during development
Stars: ✭ 131 (+61.73%)
Mutual labels:  chrome-extension, browser-extension, webextension
Jjb
一个帮助你自动申请京东价格保护的chrome拓展
Stars: ✭ 3,083 (+3706.17%)
Mutual labels:  chrome-extension, browser-extension, webextension
Tabliss
An extensible New Tab web extension written in TypeScript, React and Redux.
Stars: ✭ 798 (+885.19%)
Mutual labels:  chrome-extension, browser-extension, webextension
Turnoff Namuwiki
조별과제 때마다 "나무위키 꺼라."라고 말하시는게 피곤하신 여러분을 위해 만들어진 Browser Extension, 나무위키를 꺼 드립니다.
Stars: ✭ 59 (-27.16%)
Mutual labels:  chrome-extension, browser-extension, webextension
Nxenhanced
Adds "quality-of-life" features to NextDNS website for a more practical usability
Stars: ✭ 58 (-28.4%)
Mutual labels:  chrome-extension, browser-extension, webextension
Read Aloud
An awesome browser extension that reads aloud webpage content with one click
Stars: ✭ 444 (+448.15%)
Mutual labels:  chrome-extension, browser-extension, webextension
Github Dashboard
[Web extension] Filter events on github.com activity dashboard.
Stars: ✭ 509 (+528.4%)
Mutual labels:  chrome-extension, browser-extension, webextension
Ping Blocker
Stop sites from tracking the links you visit through hyperlink auditing
Stars: ✭ 23 (-71.6%)
Mutual labels:  privacy, chrome-extension, browser-extension
Better Chrome Native Video
Add keyboard support to Chrome's native HTML5 video player.
Stars: ✭ 31 (-61.73%)
Mutual labels:  chrome-extension, browser-extension
Authautofill
한국 휴대전화 본인인증 서비스 자동완성 브라우저 확장 프로그램 Browser Extension for Korea SMS Authentication
Stars: ✭ 22 (-72.84%)
Mutual labels:  chrome-extension, browser-extension
Checkmyhttps
We propose a user-friendly add-on that allows you to check if your encrypted web traffic (SSL/TLS) towards secured Internet servers (HTTPS) is not intercepted (being listened to).
Stars: ✭ 35 (-56.79%)
Mutual labels:  browser-extension, webextension
Github Subscribed
Chrome extension that keeps track of your subscription and show them on Github
Stars: ✭ 36 (-55.56%)
Mutual labels:  chrome-extension, browser-extension
Toster Tools
Расширение для сайта toster.ru
Stars: ✭ 11 (-86.42%)
Mutual labels:  chrome-extension, browser-extension
Authenticator
Authenticator generates 2-Step Verification codes in your browser.
Stars: ✭ 979 (+1108.64%)
Mutual labels:  chrome-extension, webextension
Chrome Extensions Examples
All Chrome Extension examples collected into one repository
Stars: ✭ 1,217 (+1402.47%)
Mutual labels:  chrome-extension, browser-extension
Data Selfie
Data Selfie - a browser extension to track yourself on Facebook and analyze your data.
Stars: ✭ 1,009 (+1145.68%)
Mutual labels:  privacy, chrome-extension

Don't FingerPrint Me

DFPM is a browser extension for detecting browser fingerprinting. You can install it from Chrome Web Store.

Browser fingerprinting has gotten a lot of press over the last few years. The EFF and others have released tools (panopticlick) demonstrating it is possible but it is frustrating how few tools there are to actually identify companies using these techniques.

Running DFPM

Extension

Install from the Chrome Web Store or build it from source with npm run build and install it manually. Your devtools panel will now have a new tab, DFPM.

Command line

DFPM includes a command line program that can connect to a running chrome or safari instance via Chrome's debugger protocol. Run dfpm -h for more information.

Other environments

I have ran DFPM in several environments and at scale. At its core, DFPM is a single script, ./dist/inject.js, which must be ran before any other JS. I have found two good hooks in Chrome, run_at:"document_start" and scriptFirstStatement (see dfpm.js for an example).

Why do companies deploy browser fingerprinting?

There are many motivations for companies to deploy browser fingerprinting with varying ethical implications:

  • Tracking customers: Companies use fingerprinting to track their customers/visitors around the web. This is the most frightening one and the least ethical reason to deploy fingerprinting.
  • Anti password testing: Browser fingerprinting gives companies additional ways to identify and block hackers.
  • Anti web scraping: Fingerprinting gives companies additional ways to "protect" their data. Web scraping is not illegal and it's common. It is often deployed by large companies to hinder competitors and maintain market share.

My motivations for creating the tool are some combination of the scraping and tracking. My day job involves a lot of web scraping but personally I care a lot more about individual privacy.

DFPM Example: Dropbox

First, I like Dropbox as a product. Hopefully someone there still cares about user privacy.

If we run DFPM on their mobile marketing site with no adblock but with DoNotTrack set we can see what data they are collecting. Specifically, it looks like they are using canvas and font fingerprinting.

usage example screenshot

No one is scraping or hacking Dropbox's marketing site so hopefully the fingerprinting is just an oversight. :(

If we run DFPM on their login page they initially run no fingerprinting.

usage example screenshot

If we attempt to login and fail, they fingerprint us with canvas and fonts.

usage example screenshot

There is a good argument for including fingerprinting on the login page. The additional information can be very useful in stopping bad actors. That said, there's no way to know if they also use the data for less user-friendly reasons.

Extending DFPM to detect additional fingerprinting techniques

Adding the ability for DFPM to detect another fingerprinting technique is relatively easy.

  1. Create a new logger by copying ./src/loggers/example.js to a new file in the loggers directory.
  2. Modify the newly copied file.
  3. Add your newly created logger to the list at the top of ./src/inject.js.
  4. Rebuild the app with npm run build and install your modified extension manually.
  5. If you think others can benefit from your modifications, please submit a pull request.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].