WATCH DOGS GO WARS
Prawdziwy wardriving. Prawdziwy hardware. Prawdziwa mapa świata. Cyberpunkowa gra terenowa łącząca to wszystko w jedno.
KONCEPT
Grasz jako hacker z przenośnym terminalem. Twoja misja: odkrywać, mapować i zdobywać punkty za eksplorację cyfrowego świata wokół Ciebie. Tworzysz drużyny z innymi graczami, wspólnie pokrywacie miasta, rywalizujecie na leaderboardzie, zdobywacie odznaki.
Na mapie — w czasie rzeczywistym — pojawiają się symulowane cyberataki inspirowane grą Watch Dogs i prawdziwe wiadomości z portali cyberbezpieczeństwa. Każde zdarzenie w prawdziwej lokalizacji na mapie, w języku danego kraju.
SPRZĘT
Absolutnym fundamentem jest ESP32-C5 z firmware'm projectZero — to on skanuje sieci WiFi i BLE, przechwytuje handshake'i i zbiera dane o infrastrukturze bezprzewodowej wokół Ciebie. Bez niego — nie ma wardrivingu. To jest serce całego systemu, reszta to dodatki.
Głównym terminalem jest ClockworkPi uConsole (sklep EU) — przenośny komputer w stylu retro-cyberpunk z ekranem 5", klawiaturą i baterią. Na nim działa gra, tu widzisz co skanuje ESP32, tu zarządzasz misjami.
Kolejny kluczowy element to AIO v2 od Hacker Gadgets — moduł All-In-One który rozszerza uConsole o: GPS do geolokalizacji, LoRa do komunikacji mesh (MeshCore), SDR do przechwytywania sygnałów ADS-B z samolotów. Jedno urządzenie, trzy supermoce, plug & play.
Do tego dochodzą akcesoria które rozszerzają możliwości:
- Flipper Zero — multi-tool do badania bezpieczeństwa RF. SubGHz, RFID, NFC, IR — działa jako dodatkowy moduł przesyłający dane do gry
- LILYGO T-Watch Ultra — skromny ale skuteczny substytut dla tych, którzy nie mają AIO. Obsługuje NFC i wardriving WiFi na nadgarstku. Mniej możliwości, ale wciąż w grze
- Biscuit — przenośne urządzenia wardrivingowe od społeczności, wspierane natywnie przez WDGWars (integracja w toku)
- Urządzenia z Bruce Firmware (fork WDGWars) — mój własny fork popularnego Bruce Predatory Firmware na ESP32, z wbudowanym uploadem prosto na platformę. Cardputer, M5Stick, dowolne ESP32 które obsługuje Bruce — wszystko działa bez komputera
Gra jest napisana praktycznie w całości w Pythonie — co oznacza, że bariera wejścia dla deweloperów jest niska. Liczymy na rozwój społeczności i nowe pluginy do kolejnych akcesoriów. Masz ESP32 z anteną? Raspberry Pi z kartą WiFi? Jeśli potrafisz wygenerować CSV z danymi — platforma je przyjmie. A jeśli potrafisz napisać plugin w Pythonie — gra go uruchomi.
A dzięki otwartemu REST API z dokumentacją i przykładami w Pythonie, C, Bash i JavaScript — integracja własnych aplikacji, skryptów czy firmware'ów z platformą Watch Dogs Go Wars to kwestia kilku linii kodu. Masz własny projekt zbierający dane? Podepnij go do naszego API i Twoje dane pojawią się na globalnej mapie obok wszystkich innych wardriverów.
WOJNY DRUŻYN O TERYTORIUM
To nie jest bierny tracker WiFi. To gra wojenna o kontrolę nad cyfrowym terytorium. Każdy AP na mapie należy do drużyny, która go ostatnio zeskanowała. Chcesz zabrać wrogowi teren? Jedź tam fizycznie z urządzeniem i skanuj. AP można utwardzać wielokrotnymi skanami — im więcej skanów, tym trudniej przejąć. Dochodzi do tego system kontraktów Bounty Hunt: drużyny wynajmują łowców do zdejmowania konkretnych kafelków terytorium przeciwnika.
→ Pełne reguły, ekonomia kredytów, anti-cheat: /rules
INTEGRACJE
Platforma ciągle rośnie. Najnowsza udana integracja to Bruce Predatory Firmware — popularny firmware do ESP32 używany przez społeczność wardriverów i security researcherów. Bruce skanuje sieci WiFi/BLE, zapisuje dane w formacie WiGLE CSV, a teraz może je uploadować bezpośrednio na WDGoWars jednym kliknięciem — bez komputera, bez kabla, prosto z urządzenia.
Jak ustawić upload na WDGoWars w Bruce:
- 1. Zarejestruj się na wdgwars.pl i wygeneruj klucz API w profilu
- 2. W Bruce:
WiFi → Settings— ustaw swoje WiFi - 3. W Bruce:
GPS → Wardriving— skanuj sieci - 4. W Bruce:
Files → SD → BruceWardriving— wybierz plik CSV - 5. Wybierz
WDGoWars Upload— wpisz klucz API i gotowe!
Pracujemy nad kolejnymi integracjami:
- Kismet — zaawansowany sniffer WiFi/BLE/Zigbee dla Linuxa
- Pwnagotchi — AI-driven wardriving companion
- Własne firmware ESP32 — każdy kto generuje WiGLE CSV może uploadować dane
Wszystko spina otwarte REST API — dwie metody uploadu (prosty CSV multipart dla firmware, zaawansowany JSON z HMAC-SHA256 dla aplikacji), synchronizacja odznak, feed terytorialny, dane z mapy. Pełna dokumentacja z przykładami kodu w Pythonie, C, Bash i JavaScript dostępna jest w sekcji Help po zalogowaniu.
API DLA DEVELOPERÓW
WDGoWars udostępnia REST API do uploadu danych z dowolnego urządzenia wardrivingowego. Masz do wyboru dwie metody:
Metoda 1: CSV Upload (prosta)
Wyślij surowy plik CSV/LOG (format WiGLE/Bruce) jako multipart. Serwer sam go sparsuje. Idealna dla firmware (Bruce, Kismet, Marauder).
Akceptowany format — WigleWifi-1.6 (generowany przez Bruce, Kismet, WiGLE app):
WigleWifi-1.6,appRelease=...,model=...,device=...,board=...,brand=... MAC,SSID,AuthMode,FirstSeen,Channel,Frequency,RSSI,CurrentLatitude,CurrentLongitude,AltitudeMeters,AccuracyMeters,RCOIs,MfgrId,Type AA:BB:CC:DD:EE:FF,NazwaSieci,[WPA2_PSK],2026-04-09 12:00:00,6,2437,-45,52.2297,21.0122,120,10,,0,WIFI
POST https://wdgwars.pl/api/upload-csvHeader: X-API-Key: <64-znakowy-klucz-z-profilu>Body: multipart/form-data, pole "file" = plik .csv lub .log
curl -X POST "https://wdgwars.pl/api/upload-csv" \ -H "X-API-Key: YOUR_64_CHAR_HEX_KEY" \ -F "file=@wardriving.csv"
Bruce Predatory Firmware
Integracja z WDGoWars jest już dostępna — wersja wczesna, trwa wdrażanie do oficjalnego Bruce. Upload bezpośrednio z ESP32 — bez komputera. Pobierz firmware
- Wygeneruj klucz API w swoim profilu na WDGoWars
- W Bruce:
WiFi → Settings— podłącz się do WiFi - W Bruce:
GPS → Wardriving— skanuj sieci WiFi/BLE - W Bruce:
Files → SD → BruceWardriving— wybierz plik CSV - Wybierz
WDGoWars Upload— wpisz klucz API i gotowe!
Metoda 2: JSON Upload (zaawansowana)
Pełna kontrola — budujesz JSON payload, podpisujesz HMAC-SHA256. Idealna dla gier i aplikacji desktopowych.
POST https://wdgwars.pl/api/upload
Przykłady implementacji
import json, base64, hmac, hashlib, secrets, urllib.request
API_KEY = "your-64-char-hex-key-here"
URL = "https://wdgwars.pl/api/upload/"
payload = {"networks": [{"bssid":"AA:BB:CC:DD:EE:FF","ssid":"MyWiFi",
"auth":"WPA2","channel":6,"rssi":-45,"lat":52.23,"lon":21.01,
"type":"WIFI","first_seen":"2026-04-05 12:00:00"}]}
data_b64 = base64.b64encode(json.dumps(payload).encode()).decode()
nonce = secrets.token_hex(8)
sig = hmac.new(API_KEY.encode(), (nonce + data_b64).encode(),
hashlib.sha256).hexdigest()
body = json.dumps({"data": data_b64, "nonce": nonce, "sig": sig}).encode()
req = urllib.request.Request(URL, data=body, headers={
"X-API-Key": API_KEY, "Content-Type": "application/json"})
resp = urllib.request.urlopen(req)
print(json.loads(resp.read()))
Metoda 3: User Info (dla integracji)
Prosty endpoint do pobrania statystyk zalogowanego użytkownika. Używany przez aplikacje trzecie (np. Biscuit) do walidacji klucza API i wyświetlania dashboardu.
GET https://wdgwars.pl/api/meHeader: X-API-Key: <64-znakowy-klucz>
Odpowiedź (JSON):
{
"ok": true,
"username": "locosp",
"wifi": 37469,
"ble": 2109,
"aircraft": 22,
"mesh": 93,
"total": 39619,
"badges": ["first_blood", "wifi_10k", "gang_leader", ...],
"gang": "Watch Dogs OG's"
}
Nieprawidłowy lub nieaktywny klucz → 401 {"ok":false,"error":"Invalid API key"}. Używaj do walidacji klucza przy dodawaniu go w swojej aplikacji.
Uwagi o duplikatach i limitach
- Maksymalny rozmiar pliku: 35 MB dla
/api/upload-csv - Duplikaty w pliku są OK — wiele beacon frames tego samego AP jest mergowanych do jednego wpisu z najsilniejszym RSSI + uśrednionym GPS (lepsza trilateracja). Response zawiera
merged_samplesz liczbą scalonych próbek. - 1h cooldown per AP per user — ten sam AP od tego samego usera nie wylicza score więcej niż raz na godzinę (ale nadal refines position).
- Daily cap: 500 000 nowych AP na dobę na usera.
- Rate limit API: 30 requestów/min per klucz. Nadwyżka →
429.
CO WIDAĆ NA MAPIE
DLA CONTENT CREATORÓW
Jeśli tworzysz content o cyberbezpieczeństwie, hardware hacking, wardrivingu, retro computing lub hackingu:
- Wygląda obłędnie — ciemna mapa, pulsujące markery, glitch effects, symulowane cyberataki, video tło z gameplay
- Prawdziwy hardware — nie pikselowa gierka, prawdziwe urządzenia, prawdziwe spacery po mieście
- Społeczność — drużyny, leaderboard, rywalizacja, odznaki
- Otwarte API — każdy może zintegrować swoje urządzenie
- W 100% legalne — pasywne nasłuchiwanie publicznie dostępnych danych
BRANDING
Nazwa pełna: WDGoWars (razem) — czasem: Watch Dogs Go Wars, WDG, wdgwars. NIE używaj: WDGWars, Watch Dogs: Go Wars, WatchDogWars.
Zasady użycia:
- Nie modyfikuj logo (żadnego rozciągania, zmiany kolorów, dorabiania tekstu pod spodem)
- Minimalny rozmiar: 64px szerokości (mniej → nieczytelny goryl)
- Na jasnym tle — dodaj mu ciemny box lub halo (logo zaprojektowane pod dark mode)
- Favicon/ikonka bez tekstu: /static/favicon.ico
Hashtagi: #wdgwars #wardriving #watchdogsgo
INFORMACJE PRAWNE
Charakter danych. Platforma WDGoWars przetwarza wyłącznie dane publicznie nadawane przez urządzenia bezprzewodowe w ramkach beacon 802.11 (BSSID, SSID, typ szyfrowania, siła sygnału) oraz publicznie nadawane sygnały ADS-B samolotów.
Brak przechwytywania ruchu. Platforma NIE przechwytuje, NIE zapisuje i NIE analizuje treści komunikacji sieciowej, pakietów danych użytkowników sieci ani żadnych informacji osobowych.
Bezpieczeństwo transmisji. Komunikacja między urządzeniami użytkowników a serwerem platformy jest szyfrowana protokołem TLS (HTTPS). Dane uwierzytelniające (klucze API) przechowywane są w formie zahashowanej (bcrypt). Integralność danych zabezpieczona jest podpisami kryptograficznymi HMAC-SHA256.
Odpowiedzialność użytkowników. Operator platformy nie ponosi odpowiedzialności za sposób wykorzystania platformy przez użytkowników. Użytkownicy zobowiązani są do przestrzegania obowiązującego prawa w swoich jurysdykcjach.
Dane osobowe. Platforma przechowuje minimum danych osobowych: nazwę użytkownika, zahashowane hasło i opcjonalny kraj. Nie wymagamy adresu email. Odzyskiwanie konta odbywa się przez seed phrase (24 słowa).
Prawo do usunięcia. Każdy użytkownik może samodzielnie usunąć swoje konto i wszystkie powiązane dane w panelu profilu.
Brak gwarancji. Platforma dostarczana jest "as is" bez jakichkolwiek gwarancji.
FILMY SPOŁECZNOŚCI
Filmy tworzone przez społeczność z hashtagiem #wdgwars.
DLA YOUTUBERÓW — JAK ZAŁAPAĆ SIĘ NA MAPĘ 📡
Na głównej mapie i tutaj w sekcji Filmy społeczności automatycznie pokazujemy filmy z kanałów YouTube dodanych do trackera. Żeby Twój film się załapał, dodaj jeden z tych hashtagów w tytule lub opisie:
#wdgwars
#WDGoWars
#WatchDogsGoWars
#WatchDogsGo
Wielkość liter nie ma znaczenia. Tytuł lub opis — oba działają, ale tytuł jest lepszy bo jest bardziej widoczny. Dla shortsów szczególnie wrzuć hashtag też do opisu — większość widzów i tak scrolluje bez czytania.
Gdzie się to pokaże?
- Mapa główna — jako duży, centralny overlay. Raz na użytkownika (z przyciskiem X, nikt nie jest spamowany).
- Strona /press — w sekcji Filmy społeczności jako grid thumbnaili.
Jak to działa technicznie?
- Odświeża się co ~30 minut (polling RSS kanału)
- Bez approval, bez kluczy API, bez oAuth — tylko hashtag
- Jeśli ktoś raz zamknął overlay z Twoim filmem → już go nie zobaczy (ale inni nadal tak)
- Na razie tylko kanały dodane do trackera przez admina są scanowane
Żeby dodać swój kanał do trackera — napisz do admina (@locosp na Discordzie / GitHubie). Potem już tylko taguj i masz gwarancję że wszystkie Twoje wardriving filmy trafią przed oczy graczy 🙏
Happy wardriving 📡