THUGS(red) Wardrive
Sign in Join

About THUGS(red) Wardrive

A common place for the THUGS(red) community to collect, keep and share what we find while wardriving — instead of leaving it scattered across a dozen SD cards in half a dozen incompatible formats.

Why this exists

Wardriving produces a surprising amount of data and almost no good way to keep it. A Kismet run leaves you with .netxml. A phone running WiGLE gives you CSV. A home-built ESP32 rig writes whatever its sketch happened to print. Each one ends up on a different device, in a different shape, and the interesting part — what did we actually see, and where — stays locked inside a file nobody opens again.

This site is the shared place for that data. Upload the dump your gear produced, whatever format it is in, and it gets normalised into the same dataset as everyone else's: one record per access point, every sighting kept, all of it searchable, sortable and on a map. A drive from last summer sits alongside one from last night, and both are useful.

It is deliberately a community archive rather than a public dragnet. Every upload is reviewed before it appears, contributors can hide their own findings, and moderators can hide anything — see privacy below.

Who is behind it

THUGS(red) is a local Danish hacking community — people who like taking things apart, understanding how they work, and occasionally driving around town with an antenna on the dashboard. We are hobbyists, not a company, and this is a hobby project.

The community lives on Discord, and new faces are welcome:

Join the THUGS(red) Discord

The person behind THUGS(red) and this site is Kawaiipantsu, whose other work is on GitHub.

A note on privacy

Wardriving records the existence and rough position of wireless access points. It does not capture traffic, does not attempt to connect to anything, and does not break encryption — a beacon frame announcing "I am here, and I am called this" is broadcast to everyone in range by design. Still, an access point can be somebody's home, so the site takes a few positions on that:

If a network of yours is listed here and you would rather it were not, ask in the Discord and a moderator will hide it.

How the site is built

Plainly, and on purpose. There is no framework, no build step, and no package manager — a stack that can be understood by reading it, and that will still run in five years without a dependency archaeology expedition.

Backend
PHP 8 on Apache. No framework; a small router, a thin PDO wrapper, and plain PHP templates.
Database
MariaDB, with spatial indexing so map queries stay fast as the archive grows.
Frontend
Hand-written CSS and vanilla JavaScript. Leaflet for the map, self-hosted rather than pulled from a CDN.
Dependencies
One: Leaflet. Its files are pinned by hash and verified on demand.

The interesting parts

Security is treated as part of the build rather than a later pass: a strict content security policy with no inline scripts or styles, CSRF protection on every state-changing action, prepared statements everywhere, uploads stored outside the web root, and HTTP methods restricted per route. There is a test suite covering the authorisation rules and the parsers, and an end-to-end run that walks the whole pipeline from upload to map.

Getting involved

Build a rig, go for a drive, upload what you find. If you want to know how to get started — setting up Kismet, using a Hak5 Pineapple, or building an ESP32 with GPS that talks straight to this site — ask in the Discord; written guides are on the way.

So far the archive holds 6,128 access points from 6,143 observations, contributed by 1 person.