<commit_before># Chameleon

Browser fingerprinting protection for everybody.

Currently makes Chrome look like Tor Browser to [Panopticlick](https://panopticlick.eff.org/).

The number over the toolbar button counts the number of distinct attempts to collect information about your browser on the current page.


### Before:

!["before" screenshot](images/before.png)

### After:

!["after" screenshot](images/after.png)

### Tor Browser:

![Tor Browser screenshot](images/tor.png)


## Dev setup

1. `npm install` to install dev dependencies.
2. `npm run lint` to check JS code for common errors/formatting issues.
3. `npm test` to run unit tests (coming soon).
4. `npm run watch` to monitor extension sources for changes and regenerate extension JS bundles as needed.
5. Load the unpacked extension in Chrome from the [chrome](chrome/) folder.
6. `npm run dist` to generate an installable CRX package. This requires having the signing key in `~/.ssh/chameleon.pem`. To get a key, visit `chrome://extensions/` in Chrome and click on the "Pack extension..." button to generate a CRX manually.


## Roadmap

- Add roadmap to GitHub Wiki pages.
<commit_msg>Update README.<commit_after># Chameleon

Browser fingerprinting protection for everybody.

Chameleon is a Chrome privacy extension that makes Chrome look like Tor Browser to [Panopticlick](https://panopticlick.eff.org/).

The number over Chameleon's button counts the number of distinct attempts to collect information about your browser on the current page. Higher numbers suggest fingerprinting is taking place. Chameleon will soon support submitting fingerprinting attempts, to better understand fingerprinting and subsequently improve Chameleon's functionality.

Chameleon for Firefox is in the works.

### Before:

!["before" screenshot](images/before.png)

### After:

!["after" screenshot](images/after.png)

### Tor Browser:

![Tor Browser screenshot](images/tor.png)


## Dev setup

1. `npm install` to install dev dependencies.
2. `npm run lint` to check JS code for common errors/formatting issues.
3. `npm test` to run unit tests (coming soon).
4. `npm run watch` to monitor extension sources for changes and regenerate extension JS bundles as needed.
5. Load the unpacked extension in Chrome from the [chrome](chrome/) folder.
6. `npm run dist` to generate an installable CRX package. This requires having the signing key in `~/.ssh/chameleon.pem`. To get a key, visit `chrome://extensions/` in Chrome and click on the "Pack extension..." button to generate a CRX manually.


## Roadmap

- Add roadmap to GitHub Wiki pages.


## Code license

Mozilla Public License Version 2.0

{'fraction_non_alphanumeric': 0.08767951625094482, 'fraction_numerical': 0.005291005291005291, 'mean_word_length': 4.457731958762887, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3241429', 'n_tokens_mistral': 753, 'n_tokens_neox': 699, 'n_words': 347}