{"id":13845227,"url":"https://github.com/GONZOsint/geowifi","last_synced_at":"2025-07-12T01:32:08.873Z","repository":{"id":38453117,"uuid":"455991056","full_name":"GONZOsint/geowifi","owner":"GONZOsint","description":"Search WiFi geolocation data by BSSID and SSID on different public databases.","archived":false,"fork":false,"pushed_at":"2023-04-02T18:45:06.000Z","size":57,"stargazers_count":896,"open_issues_count":5,"forks_count":94,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-08-05T17:44:06.174Z","etag":null,"topics":["geolocation","osint","wifi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GONZOsint.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-02-05T21:35:12.000Z","updated_at":"2024-08-05T16:20:55.000Z","dependencies_parsed_at":"2024-01-14T10:03:22.916Z","dependency_job_id":"ad58781b-e099-4c0c-92b2-a612b3c9908c","html_url":"https://github.com/GONZOsint/geowifi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GONZOsint%2Fgeowifi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GONZOsint%2Fgeowifi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GONZOsint%2Fgeowifi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GONZOsint%2Fgeowifi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GONZOsint","download_url":"https://codeload.github.com/GONZOsint/geowifi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225784302,"owners_count":17523619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geolocation","osint","wifi"],"created_at":"2024-08-04T17:03:16.761Z","updated_at":"2025-07-12T01:32:08.859Z","avatar_url":"https://github.com/GONZOsint.png","language":"Python","funding_links":[],"categories":["[](#table-of-contents) Table of contents","Python"],"sub_categories":["[](#communications-internet-technologies)Communications, Internet, Technologies"],"readme":"\n# 📡💘🌎 | geowifi  \n\nSearch WiFi geolocation data by BSSID and SSID on different public databases.\n\n![geowifi](https://imgur.com/C4eZL2P.png)\n\n### 💾 Databases\n\n\n| **[Wigle](https://wigle.net/)**       | **Apple**                           | **[Google](https://developers.google.com/maps/documentation/geolocation/overview)** | **[Milnikov](https://www.mylnikov.org/)**             |\n|---------------------------------------|-------------------------------------|-------------------------------------------------------------------------------------|-------------------------------------------------------|\n| **[WifiDB](https://www.wifidb.net/)** | **[Combain](https://combain.com/)** | **[Freifunk Carte](https://www.freifunk-karte.de/)**                                | **❌ (Discontinued) [OpenWifi](https://openwifi.su/)** |\n\n---\n\n## ✔️Prerequisites\n\n- [Python3](https://www.python.org/download/releases/3.0/).\n- In order to display emojis on **Windows**, it is recommended to install the [new Windows terminal](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701).\n\n---\n\n## 🔑 APIs and configuration file\n\nThe tool has a configuration file in the `gw_utils` folder called **config.yaml**. Each of the configuration parameters and how to obtain the necessary information is explained below:\n\n\n- ### **wigle_auth**: \nIn order to use the Wigle service it is necessary to [obtain an API](https://api.wigle.net/)  and configure the `gw_utils/config.yaml` file replacing the value of the \"**wigle_auth**\" parameter for the \"**Encoded for use**\" data [provided by Wigle](https://wigle.net/account).\n\n- ### **google_api**: \nIn order to use the [Google Geolocation Services](https://developers.google.com/maps/documentation/geolocation/overview) it is necessary to [obtain an API](https://developers.google.com/maps/documentation/geolocation/get-api-key)  and configure the `gw_utils/config.yaml` file replacing the value of the \"**google_api**\" parameter for the \"**API**\" provided. Google provides $200 of free monthly usage.\n\n- ### **combain_api**: \nIn order to use the [Combain API](https://combain.com/api/) it is necessary to [obtain an API](https://portal.combain.com/#/auth/register)  and configure the `gw_utils/config.yaml` file replacing the value of the \"**combain_api**\" parameter for the \"**API**\" provided. Combain provides a free trial and paid plans.\n\n\n- ### **no-ssl-verify**: \nOption to enable or disable the SSL verification process on requests.\n\n---\n\n## 🛠️ Installation\n\nStart by cloning locally the GitHub repo then enter into the geowifi folder.\ngit must be present on your system\n```bash\ngit clone https://github.com/GONZOsint/geowifi\ncd ./geowifi/\n```\n\nAlternative is to use https://github.com/GONZOsint/geowifi/archive/refs/heads/main.zip then unzip the downloaded file.\n\n### Use local Python ##\n\nNote: Use the package manager [pip](https://pip.pypa.io/en/stable/) to install requirements.\n\n```bash\nvirtualenv geowifi\nsource geowifi/bin/activate\npython3 -m pip install -r requirements.txt\n```\n\n### Docker ###\n\n```bash\ndocker build -t geowifi:latest .\n```\n\n---\n\n## 🔎 Usage\n\n```\nusage: geowifi.py [-h] [-s {bssid,ssid}] [-o {map,json}] identifier\n\nSearch for information about a network with a specific BSSID or SSID.\n\npositional arguments:\n  identifier            The BSSID or SSID of the network to search for.\n\noptions:\n  -h, --help            show this help message and exit\n  -s {bssid,ssid}, --search-by {bssid,ssid}\n                        Specifies whether to search by BSSID or SSID (default: bssid)\n  -o {map,json}, --output-format {map,json}\n                        Specifies the output format for the search results (default: map)\n```\n\n- Search by BSSID:\n\n```\npython3 geowifi.py -s bssid \u003cinput\u003e\n```\n\n- Search by SSID:\n\n```\npython3 geowifi.py -s ssid \u003cinput\u003e\n```\n\nIt is possible to export the results in json format using the `-o json` parameter and show the locations on html map using `-o map`.\n\n### 🐳 Docker usage ###\n\n```bash\ndocker run --rm geowifi:latest\n```\n\n- Search by BSSID:\n\n```bash\ndocker run --rm geowifi:latest -s bssid \u003cinput\u003e\n```\n\n- Search by SSID:\n\n```bash\ndocker run --rm geowifi:latest -s ssid \u003cinput\u003e\n```\n\n### 🗺️ Map output example\n\n![Map output](https://imgur.com/CilV4LR.png)\n\n### 💾 Json output example\n\n```json\n[\n  {\n    \"module\": \"google\", \n    \"bssid\": \"C8:XX:XX:XX:5E:45\", \n    \"latitude\": 33.571844, \n    \"longitude\": -1XX.XXXXX97\n  }, \n  {\n    \"module\": \"combain\", \n    \"error\": \"Not enough witooth\"}, \n  {\n    \"module\": \"mylnikov\", \n    \"error\": \"Object was not found\"\n  },\n  {\n    \"module\": \"vendor_check\", \n    \"vendor\": \"Cisco-Linksys, LLC\"}, \n  {\n    \"module\": \"apple\", \n    \"bssid\": \"C8:XX:XX:XX:5E:45\", \n    \"latitude\": 33.57198715, \n    \"longitude\": -1XX.XXXXX12}, \n  {\n    \"module\": \"wigle\", \n    \"bssid\": \"C8:XX:XX:XX:5E:45\", \n    \"ssid\": \"Vertigo\", \n    \"latitude\": 33.60998154, \n    \"longitude\": -1XX.XXXXX22}, \n  {\n    \"module\": \"wifidb\", \n    \"bssid\": \"C8:XX:XX:XX:5E:45\", \n    \"ssid\": \"Vertigo\", \n    \"latitude\": 33.6109, \n    \"longitude\": -1XX.XXXXX533\n  }\n]\n```\n\n---\n\n## 📢 Mentions\n\n- This project uses some of the research and code used at [iSniff-GPS](https://github.com/hubert3/iSniff-GPS).\n- Thanks to [Micah Hoffman](https://twitter.com/WebBreacher) for his attention and answers to my questions.\n- Thanks to [kennbro](https://twitter.com/kennbroorg) for lending me his scrupulous eyes to give me feedback.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGONZOsint%2Fgeowifi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGONZOsint%2Fgeowifi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGONZOsint%2Fgeowifi/lists"}