Skip to content

spylogsster/browser-telemetry-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Browser Telemetry Benchmark 📡

Measures browser telemetry: which domains a browser contacts on cold start and during idle.

Requirements

  • macOS (Linux should also work)
  • Python 3.10+
  • tshark (brew install wireshark)
  • Root privileges (for packet capture)

Usage

Measuring a single browser

sudo python3 bench.py run --browser "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

With parameters

sudo python3 bench.py run \
  --browser "/Applications/Yandex.app/Contents/MacOS/Yandex" \
  --duration 180 \        # total measurement time (sec)
  --idle 90 \             # idle time (cold start)
  --url "https://ya.ru"   # URL to load after idle

Comparing results

# Run several browsers
sudo python3 bench.py run -b "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
sudo python3 bench.py run -b "/Applications/Yandex.app/Contents/MacOS/Yandex"
sudo python3 bench.py run -b "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"

# Compare
python3 bench.py compare results/*.json -o results/comparison.md

How it works

  1. Starts tshark — captures all network packets
  2. Launches the browser with a clean profile (no extensions, no sync)
  3. Waits during idle — measures what the browser sends "on its own" during cold start
  4. (Optionally) loads a URL and measures the active phase
  5. Analyzes the pcap — DNS queries, TLS handshakes, traffic volume
  6. Classifies domains — telemetry/tracking vs. functional
  7. Generates a report — Markdown + JSON

Output files

In the results/ folder:

  • BrowserName_TIMESTAMP.pcap — raw traffic dump
  • BrowserName_TIMESTAMP.md — human-readable report
  • BrowserName_TIMESTAMP.json — machine-readable data
  • comparison.md — comparison table (after compare)

Known telemetry domains

The tool recognizes 50+ telemetry domain patterns for:

  • Google (Chrome)
  • Yandex (Yandex Browser)
  • Brave
  • Mozilla (Firefox)
  • Microsoft (Edge)

Example output

| Metric                  | Chrome | Yandex | Brave | Vacuum |
|-------------------------|--------|--------|-------|--------|
| Total domains           | 23     | 31     | 15    | 3      |
| Telemetry domains       | **12** | **18** | **7** | **0**  |
| Telemetry connections   | **34** | **47** | **12**| **0**  |
| Total traffic (KB)      | 284.3  | 412.7  | 156.2 | 12.4   |

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages