#!/usr/bin/env python3
"""Serve POC files on two ports so the iframe is cross-origin (=> OOPIF).

  http://localhost:8080/poc.html       -> victim main frame
  http://localhost:8081/attacker.html  -> "compromised" OOPIF renderer
"""
import http.server
import os
import socketserver
import threading

HERE = os.path.dirname(os.path.abspath(__file__))


class Handler(http.server.SimpleHTTPRequestHandler):
    def __init__(self, *a, **kw):
        super().__init__(*a, directory=HERE, **kw)

    def log_message(self, fmt, *args):  # quieter
        pass


class ReuseTCP(socketserver.TCPServer):
    allow_reuse_address = True


def serve(port):
    httpd = ReuseTCP(("0.0.0.0", port), Handler)
    print(f"[server] listening on http://localhost:{port}/")
    httpd.serve_forever()


if __name__ == "__main__":
    threading.Thread(target=serve, args=(8081,), daemon=True).start()
    serve(8080)
