.github/workflows | ||
ext | ||
.gitignore | ||
cidr.py | ||
cloud.json | ||
CMakeLists.txt | ||
goog-cloud-prefixes6.txt | ||
goog-cloud-prefixes.txt | ||
goog-prefixes6.txt | ||
goog-prefixes.txt | ||
goog.json | ||
ipset-setup.sh | ||
LICENSE | ||
lpmwrapper.hh | ||
make-built-in-config.sh | ||
netsendmsg.bt | ||
README.md | ||
teller.cc | ||
teller.conf | ||
testrunner.cc | ||
trackers.conf |
googerteller
Audible feedback on just how much your browsing feeds into Google.
By bert@hubertnet.nl / https://berthub.eu/
Makes a little bit of noise any time your computer sends a packet to a tracker or a Google service, which excludes Google Cloud users.
Demo video in this tweet
Installing on OSX:
If need be, install Homebrew via https://brew.sh/ as this will allow you to compile new software. To do so, copy paste the instruction under 'Install Homebrew' into the terminal app (Apple help. This might take quite a while.
Then run:
brew tap robertjakub/teller
brew install --HEAD googerteller
sudo tcpdump -nql | teller
And it should work.
How to compile
This will currently only work on Unix derived systems (like Linux, OSX and FreeBSD).
You need a C++ compiler like gcc-c++
and CMake for compiling the binary.
You also need to install libpcaudio
(libpcaudio-dev
on Debian/Ubuntu, pcaudiolib-devel
on Fedora/Red Hat).
For OSX this is a bit more work
Then do:
cmake .
make
How to run
Start as:
sudo tcpdump -nql | ./teller
And cry.
Configuration
Tracker data is read from tracker.conf
which you should only edit if
you've learned about more IP addresses for relevant trackers.
In teller.conf
you can edit for each tracker where the noise should end up
(left or right channel), and what the frequency should be.
Data source
The list of Google services IP addresses can be found on this Google support page.
Note that this splits out Google services and Google cloud user IP addresses. However, it appears the Google services set includes the cloud IP addresses, so you must check both sets before determining something is in fact a Google service and not a Google customer.
To run on a single process on Linux
Or, to track a single process, fe firefox
, start it and run:
sudo bpftrace netsendmsg.bt |
grep --line-buffered ^$(pgrep firefox) |
stdbuf -oL cut -f2 | ./cidr.py | ./teller
And cry.
Dependencies
This software gratefully builds on:
- doctest testing framework
- lpm Longest Prefix Match library
- Portable C Audio Library 1.2 - which you need to install yourself
- tcpdump of course