LocationHub/server/scripts/wigle-dummy.py

89 lines
2.6 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
""" Author: Hendrik Schutter, mail@hendrikschutter.com
"""
import requests
import os
import json
import argparse
import random
import http.server
import json
from urllib.parse import urlparse, parse_qs
port = 8000
def generateDummyResponse(netid):
response_payload = {
"success": True,
"totalResults": 1,
"first": 0,
"last": 0,
"resultCount": 1,
"results": [
{
"trilat": random.uniform(-90, 90),
"trilong": random.uniform(-180, 180),
"ssid": "Wifi-Name",
"qos": 0,
"transid": "string",
"firsttime": "2025-01-02T16:48:28.368Z",
"lasttime": "2025-01-02T16:48:28.368Z",
"lastupdt": "2025-01-02T16:48:28.368Z",
"netid": netid,
"name": "string",
"type": "string",
"comment": "string",
"wep": "string",
"bcninterval": 0,
"freenet": "string",
"dhcp": "string",
"paynet": "string",
"userfound": False,
"channel": 0,
"rcois": "string",
"encryption": "none",
"country": "string",
"region": "string",
"road": "string",
"city": "string",
"housenumber": "string",
"postalcode": "string",
}
],
"searchAfter": "string",
"search_after": 0,
}
return response_payload
class SimpleHTTPRequestHandler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
# Parse the URL and query parameters
parsed_url = urlparse(self.path)
if parsed_url.path == "/api/v2/network/search":
query_params = parse_qs(parsed_url.query)
netid = query_params.get("netid", [""])[0]
# Send response headers
self.send_response(200)
self.send_header("Content-Type", "application/json")
self.end_headers()
# Send the JSON response
self.wfile.write(json.dumps(generateDummyResponse(netid)).encode("utf-8"))
else:
# Handle 404 Not Found
self.send_response(404)
self.end_headers()
self.wfile.write(b"Not Found")
def main():
server = http.server.HTTPServer(("127.0.0.1", port), SimpleHTTPRequestHandler)
print(f"Server running on http://127.0.0.1:{port}/api/v2/network/search'...")
server.serve_forever()
if __name__ == "__main__":
main()