import http.server, socketserver, urllib.parse, datetime
class H(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path.startswith("/beacon"):
            q=urllib.parse.unquote(self.path.split("?",1)[1] if "?" in self.path else "")
            line=f"[{datetime.datetime.now().isoformat()}] BEACON: {q}"
            print(line, flush=True)
            open("/root/poc/beacons.log","a").write(line+"\n")
            self.send_response(204); self.end_headers(); return
        return super().do_GET()
    def log_message(self,f,*a):
        print(f"[{datetime.datetime.now().isoformat()}] {self.address_string()} {f%a}", flush=True)
socketserver.TCPServer.allow_reuse_address=True
with socketserver.TCPServer(("0.0.0.0",8099),H) as s:
    print("serving on 8099", flush=True); s.serve_forever()
