Measures browser telemetry: which domains a browser contacts on cold start and during idle.
- macOS (Linux should also work)
- Python 3.10+
- tshark (
brew install wireshark) - Root privileges (for packet capture)
sudo python3 bench.py run --browser "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"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# 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- Starts tshark — captures all network packets
- Launches the browser with a clean profile (no extensions, no sync)
- Waits during idle — measures what the browser sends "on its own" during cold start
- (Optionally) loads a URL and measures the active phase
- Analyzes the pcap — DNS queries, TLS handshakes, traffic volume
- Classifies domains — telemetry/tracking vs. functional
- Generates a report — Markdown + JSON
In the results/ folder:
BrowserName_TIMESTAMP.pcap— raw traffic dumpBrowserName_TIMESTAMP.md— human-readable reportBrowserName_TIMESTAMP.json— machine-readable datacomparison.md— comparison table (aftercompare)
The tool recognizes 50+ telemetry domain patterns for:
- Google (Chrome)
- Yandex (Yandex Browser)
- Brave
- Mozilla (Firefox)
- Microsoft (Edge)
| 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 |