googerteller/README.md

87 lines
2.6 KiB
Markdown
Raw Normal View History

2022-08-21 14:41:01 -05:00
# googerteller
Audible feedback on just how much your browsing feeds into Google.
2022-08-21 15:48:40 -05:00
2022-08-29 09:26:51 -05:00
By bert@hubertnet.nl / https://berthub.eu/
2022-08-21 17:07:55 -05:00
2022-08-23 00:32:25 -05:00
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.
2022-08-23 00:32:25 -05:00
2022-08-22 15:07:07 -05:00
Demo video [in this tweet](https://twitter.com/bert_hu_bert/status/1561466204602220544)
2022-08-29 09:26:51 -05:00
[Blog post with more videos](https://berthub.eu/articles/posts/tracker-beeper/)
## Installing on OSX:
2022-09-05 09:34:42 -05:00
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
2022-09-05 09:37:16 -05:00
Homebrew' into the terminal app ([Apple
help](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac). This might take quite a while.
2022-09-05 09:34:42 -05:00
Then run:
```
brew tap robertjakub/teller
brew install --HEAD googerteller
sudo tcpdump -nql | teller
```
2022-09-05 09:34:42 -05:00
And it should work.
2022-08-21 15:48:40 -05:00
## How to compile
2022-08-29 09:26:51 -05:00
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).
2022-08-29 09:26:51 -05:00
For OSX [this is a bit more work](https://github.com/espeak-ng/pcaudiolib#mac-os)
2022-08-29 09:37:38 -05:00
Then do:
2022-08-21 15:48:40 -05:00
```
cmake .
make
```
## How to run
Start as:
2022-08-22 06:23:14 -05:00
```
sudo tcpdump -nql | ./teller
```
2022-08-23 03:25:40 -05:00
And cry.
2022-08-22 06:23:14 -05:00
2022-08-29 09:37:38 -05:00
## 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](https://support.google.com/a/answer/10026322?hl=en).
Note that this splits out Google services and Google cloud user IP
2022-08-23 03:25:40 -05:00
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:
```shell
sudo bpftrace netsendmsg.bt |
grep --line-buffered ^$(pgrep firefox) |
stdbuf -oL cut -f2 | ./cidr.py | ./teller
```
And cry.
2022-08-29 09:23:46 -05:00
## Dependencies
This software gratefully builds on:
* [doctest](https://github.com/doctest/doctest) testing framework
* [lpm](https://github.com/rmind/liblpm) Longest Prefix Match library
* [Portable C Audio Library 1.2](https://github.com/espeak-ng/pcaudiolib) - which you need to install yourself
* tcpdump of course