Initial poc commit.

This commit is contained in:
Kalzu Rekku
2025-12-29 22:52:33 +02:00
commit 6dd55cd2ba
4 changed files with 594 additions and 0 deletions

59
input_http_server.py Normal file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env python3
"""
HTTP Input Server - Serves IPs one per request from a list
Usage: python3 http_input_server.py
"""
from http.server import HTTPServer, BaseHTTPRequestHandler
import itertools
import signal
import sys
# List of IPs to serve (rotates through them)
IPS = [
"8.8.8.8",
"1.1.1.1",
"208.67.222.222",
"9.9.9.9",
"8.8.4.4"
]
ip_cycle = itertools.cycle(IPS)
class InputHandler(BaseHTTPRequestHandler):
def do_GET(self):
ip = next(ip_cycle)
print(f"[INPUT] Serving IP: {ip}")
self.send_response(200)
self.send_header('Content-Type', 'text/plain')
self.end_headers()
self.wfile.write(f"{ip}\n".encode())
def log_message(self, format, *args):
# Suppress default logging
pass
def signal_handler(sig, frame):
print("\n\n🛑 Shutting down gracefully...")
sys.exit(0)
if __name__ == "__main__":
PORT = 8080
# Register signal handlers for graceful shutdown
signal.signal(signal.SIGINT, signal_handler) # Ctrl+C
signal.signal(signal.SIGTERM, signal_handler) # kill command
server = HTTPServer(('0.0.0.0', PORT), InputHandler)
print(f"🌐 HTTP Input Server running on http://localhost:{PORT}")
print(f" Serving IPs in rotation: {IPS}")
print(f" Press Ctrl+C to stop")
try:
server.serve_forever()
except KeyboardInterrupt:
pass
finally:
server.server_close()
print("\n✅ Server stopped cleanly")