https://github.com/leonrjg/vakthund
Self-hosted web dashboard for security researchers to manage and track IoT devices from public sources such as Shodan or ZoomEye.
https://github.com/leonrjg/vakthund
censys dashboard fofa internet-of-things iot javascript python security self-hosted shodan zoomeye
Last synced: 21 days ago
JSON representation
Self-hosted web dashboard for security researchers to manage and track IoT devices from public sources such as Shodan or ZoomEye.
- Host: GitHub
- URL: https://github.com/leonrjg/vakthund
- Owner: leonrjg
- License: mit
- Created: 2024-01-01T22:30:30.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-11-29T15:38:19.000Z (6 months ago)
- Last Synced: 2025-12-01T15:45:14.032Z (6 months ago)
- Topics: censys, dashboard, fofa, internet-of-things, iot, javascript, python, security, self-hosted, shodan, zoomeye
- Language: JavaScript
- Homepage:
- Size: 33.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
Vakthund
Self-hosted web dashboard for security researchers to manage IoT devices from public sources such as Shodan or ZoomEye.

## 🟍 Features:
🟢 Periodically save hosts that match certain criteria on IoT search engines
🟢 Configure and execute actions targeting certain hosts
🟢 Add multiple search engine queries for each device
🟢 Filter hosts by tag, device type or any related value
🟢 Confirm whether a host is online directly on the web interface
🟢 See the full result from the search engine on the web interface
## Screenshots



## Supported Search Engines
- Shodan
- ZoomEye
- Censys (Coming soon)
- Fofa.so
## Setup (Docker)
Requirements: Node.js 18+, Python 3
```sh
git clone https://github.com/leonrjg/Vakthund.git
cd Vakthund
docker compose up
```
Once the setup is done, go to http://localhost:18000 on your browser.
If the app is not working, the following commands might help:
## Troubleshooting
### Tips
- Make sure the "data" directory is writable since the app will attempt to create a SQLite database there if no other DBMS is configured.
- If you wish to use another DBMS, set the following environment variables accordingly: `db_type=[sqlite|mysql|postgres]` `db_host` `db_user` `db_password` `db_name`
## Configuration
By following the previous steps, you will have the web dashboard working.
You can run scans to grab/update results from the **Logs** page.
You can also run scans manually via CLI:
```sh
cd vakthund-engine
python main.py
```
You can add your search engine API keys (Shodan, ZoomEye, etc) on the **Settings** page of the web dashboard.