
Research
Security News
Malicious npm Packages Use Telegram to Exfiltrate BullX Credentials
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
This is a script that generates an interactive geo heatmap from your Google location history data using Python, Folium and OpenStreetMap.
If you don't already have Python 3+ installed, grab it from https://www.python.org/downloads/. You'll want to download install the latest version of Python 3.x. As of 2019-11-22, that is Version 3.8.
For ease of python version handling, I'd recommend installing it through pyenv.
Here you can find out how to download your Google data: https://support.google.com/accounts/answer/3024190?hl=en
Here you can download all of the data that Google has stored on you: https://takeout.google.com/
To use this script, you only need to select and download your "Location History", which Google will provide to you as a JSON file by default. KML is also an output option and is accepted for this program.
In a command prompt or Terminal window, navigate to the directory containing the location data files. Then, type the following, and press enter:
pip install geo-heatmap
In the same command prompt or Terminal window, type the following, and press enter:
geo-heatmap <file> [<file> ...]
Replace the string <file>
from above with the path to any of the following files:
Location History.json
JSON file from Google TakeoutLocation History.kml
KML file from Google Takeouttakeout-*.zip
raw download from Google Takeout that contains either of the above filesSingle file:
geo-heatmap C:\Users\Testuser\Desktop\locations.json
geo-heatmap "C:\Users\Testuser\Desktop\Location History.json"
geo-heatmap locations.json
Multiple files:
geo-heatmap locations.json locations.kml takeout.zip
Using the stream option (for users with Memory Errors):
geo-heatmap -s locations.json
Set a date range:
geo-heatmap --min-date 2017-01-02 --max-date 2018-12-30 locations.json
usage: geo-heatmap [-h] [-o] [--min-date YYYY-MM-DD]
[--max-date YYYY-MM-DD] [-s] [--map MAP]
file [file ...]
positional arguments:
file Any of the following files:
1. Your location history JSON file from Google Takeout
2. Your location history KML file from Google Takeout
3. The takeout-*.zip raw download from Google Takeout
that contains either of the above files
optional arguments:
-h, --help show this help message and exit
-o , --output Path of heatmap HTML output file.
--min-date YYYY-MM-DD
The earliest date from which you want to see data in the heatmap.
--max-date YYYY-MM-DD
The latest date from which you want to see data in the heatmap.
-s, --stream Option to iteratively load data.
--map MAP, -m MAP The name of the map tiles you want to use.
(e.g. 'OpenStreetMap', 'StamenTerrain', 'StamenToner', 'StamenWatercolor')
The script will generate a HTML file named heatmap.html
. This file will automatically open in your browser once the script completes. Enjoy!
MemoryError
when I try to run the script. What's going on?Your LocationHistory.json
file is probably huge, and Python is running out of memory when the script tries to parse that file.
To fix this, download and install the 64-bit version of Python. To do this:
If this does not fix the issue you can use the stream option:
geo-heatmap -s <file>
This will be slower but will use much less memory to load your location data.
SyntaxError
when running pip install -r requirements.txt
or python geo_heatmap.py <file>
. What am I doing wrong?You are probably using the python interpreter to run these commands. Try to run them in cmd.exe or Windows PowerShell (Windows) or the Terminal (Linux, MacOS).
TypeError: __init__() got an unexpected keyword argument 'max_value'
. What can I do to fix this?Try to run:
pip uninstall progressbar
pip install progressbar2
You probably have progressbar installed, which uses maxval
as an argument for __init__
. Progressbar2 uses max_value
.
This project is using Poetry to manage dependencies. You can install it by following their guide.
If you would like to develop on this further, after cloning this repository and navigating into it you can get up and running with the following:
poetry install
poetry run geo-heatmap
FAQs
Generate an interactive geo-heatmap from your Google location data
We found that geo-heatmap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.
Security News
AI-generated slop reports are making bug bounty triage harder, wasting maintainer time, and straining trust in vulnerability disclosure programs.