Proof of concept about tracking contacts in WhatsApp.
- The
blog1branch refers to this blog entry about web scraping exploration. - The
masterbranch to the second blog entry about mass tracking.
DISCLAIMER: This is a Proof of Concept to raise awareness. Don't use the source code to track someone, don't be a dick.
The POC is composed of:
- The Node.js WhatsApp scraper robot - Gather the data
- The InfluxDB 2.0 service - Store the data
- The Grafana 6.7 service - Visualize the data
# run the InfluxDB and Grafana services
docker-compose up -d influxdb grafana- Go to http://localhost:9999, setup an admin account
- Name the initial organization like you want,
initial-orgfor instance - Name the initial bucket anything, like
yolo, we won't use the initial one because there will be sample data in it
- Name the initial organization like you want,
- Create a new bucket
whatsapp-tracking - Generate a token
whatsapp-tracking-scraperwith write permission towhatsapp-trackingbucket - Generate a token
grafanawith 'all access'
- Go to http://localhost:3000, setup an admin account
- Add the data source using the plugin
Flux (InfluxDB) [BETA](for InfluxDB 2.0)- URL:
http://influxdb:9999 - with credentials:
true - Organization:
initial-org - Default Bucket:
whatsapp-tracking - Token: the grafana token
- URL:
- Import the dashboard (file
grafana-dashboard.json)
Create a file .env in the root directory to setup your environment.
CONTACT_TARGET=YourContactName
INFLUXDB_TOKEN=The whatsapp-tracking-scraper token
INFLUXDB_ORG=initial-org
INFLUXDB_BUCKET=whatsapp-tracking
# init the robot
npm install
# run the robot
node index.jsdocker-compose up scraper
# Look at `./data/screenshots/` to get the QR code peering.