diff --git a/ac_logs/unknown_ac_20250920T051933901071Z.bin b/ac_logs/unknown_ac_20250920T051933901071Z.bin deleted file mode 100644 index e69de29..0000000 diff --git a/ac_logs/unknown_ac_20250920T051933901071Z.bin.meta b/ac_logs/unknown_ac_20250920T051933901071Z.bin.meta deleted file mode 100644 index c2f3c6c..0000000 --- a/ac_logs/unknown_ac_20250920T051933901071Z.bin.meta +++ /dev/null @@ -1,8 +0,0 @@ -Headers: -Host: 192.168.0.30:8080 -Upgrade-Insecure-Requests: 1 -Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 -User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1 -Accept-Language: en-US,en;q=0.9 -Accept-Encoding: gzip, deflate -Connection: keep-alive diff --git a/ac_logs/unknown_favicon.ico_20250920T051934015241Z.bin b/ac_logs/unknown_favicon.ico_20250920T051934015241Z.bin deleted file mode 100644 index e69de29..0000000 diff --git a/ac_logs/unknown_favicon.ico_20250920T051934015241Z.bin.meta b/ac_logs/unknown_favicon.ico_20250920T051934015241Z.bin.meta deleted file mode 100644 index f472511..0000000 --- a/ac_logs/unknown_favicon.ico_20250920T051934015241Z.bin.meta +++ /dev/null @@ -1,6 +0,0 @@ -Headers: -Host: 192.168.0.30:8080 -Connection: keep-alive -User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1 -Accept-Encoding: gzip, deflate -Accept-Language: en-US,en;q=0.9 diff --git a/ac_logs/unknown_favicon.ico_20250920T052017843768Z.bin b/ac_logs/unknown_favicon.ico_20250920T052017843768Z.bin deleted file mode 100644 index e69de29..0000000 diff --git a/ac_logs/unknown_favicon.ico_20250920T052017843768Z.bin.meta b/ac_logs/unknown_favicon.ico_20250920T052017843768Z.bin.meta deleted file mode 100644 index f472511..0000000 --- a/ac_logs/unknown_favicon.ico_20250920T052017843768Z.bin.meta +++ /dev/null @@ -1,6 +0,0 @@ -Headers: -Host: 192.168.0.30:8080 -Connection: keep-alive -User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1 -Accept-Encoding: gzip, deflate -Accept-Language: en-US,en;q=0.9 diff --git a/ac_logs/unknown_favicon.ico_20250920T052022406002Z.bin b/ac_logs/unknown_favicon.ico_20250920T052022406002Z.bin deleted file mode 100644 index e69de29..0000000 diff --git a/ac_logs/unknown_favicon.ico_20250920T052022406002Z.bin.meta b/ac_logs/unknown_favicon.ico_20250920T052022406002Z.bin.meta deleted file mode 100644 index f472511..0000000 --- a/ac_logs/unknown_favicon.ico_20250920T052022406002Z.bin.meta +++ /dev/null @@ -1,6 +0,0 @@ -Headers: -Host: 192.168.0.30:8080 -Connection: keep-alive -User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1 -Accept-Encoding: gzip, deflate -Accept-Language: en-US,en;q=0.9 diff --git a/ac_logs/unknown_favicon.ico_20250920T053055565208Z.bin b/ac_logs/unknown_favicon.ico_20250920T053055565208Z.bin deleted file mode 100644 index e69de29..0000000 diff --git a/ac_logs/unknown_favicon.ico_20250920T053055565208Z.bin.meta b/ac_logs/unknown_favicon.ico_20250920T053055565208Z.bin.meta deleted file mode 100644 index f472511..0000000 --- a/ac_logs/unknown_favicon.ico_20250920T053055565208Z.bin.meta +++ /dev/null @@ -1,6 +0,0 @@ -Headers: -Host: 192.168.0.30:8080 -Connection: keep-alive -User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1 -Accept-Encoding: gzip, deflate -Accept-Language: en-US,en;q=0.9 diff --git a/ac_logs/unknown_favicon.ico_20250920T054921452607Z.bin b/ac_logs/unknown_favicon.ico_20250920T054921452607Z.bin deleted file mode 100644 index e69de29..0000000 diff --git a/ac_logs/unknown_favicon.ico_20250920T054921452607Z.bin.meta b/ac_logs/unknown_favicon.ico_20250920T054921452607Z.bin.meta deleted file mode 100644 index f472511..0000000 --- a/ac_logs/unknown_favicon.ico_20250920T054921452607Z.bin.meta +++ /dev/null @@ -1,6 +0,0 @@ -Headers: -Host: 192.168.0.30:8080 -Connection: keep-alive -User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1 -Accept-Encoding: gzip, deflate -Accept-Language: en-US,en;q=0.9 diff --git a/ac_logs/unknown_list_20250920T052017795684Z.bin b/ac_logs/unknown_list_20250920T052017795684Z.bin deleted file mode 100644 index e69de29..0000000 diff --git a/ac_logs/unknown_list_20250920T052017795684Z.bin.meta b/ac_logs/unknown_list_20250920T052017795684Z.bin.meta deleted file mode 100644 index c2f3c6c..0000000 --- a/ac_logs/unknown_list_20250920T052017795684Z.bin.meta +++ /dev/null @@ -1,8 +0,0 @@ -Headers: -Host: 192.168.0.30:8080 -Upgrade-Insecure-Requests: 1 -Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 -User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1 -Accept-Language: en-US,en;q=0.9 -Accept-Encoding: gzip, deflate -Connection: keep-alive diff --git a/ac_logs/unknown_list_20250920T052022360296Z.bin b/ac_logs/unknown_list_20250920T052022360296Z.bin deleted file mode 100644 index e69de29..0000000 diff --git a/ac_logs/unknown_list_20250920T052022360296Z.bin.meta b/ac_logs/unknown_list_20250920T052022360296Z.bin.meta deleted file mode 100644 index c2f3c6c..0000000 --- a/ac_logs/unknown_list_20250920T052022360296Z.bin.meta +++ /dev/null @@ -1,8 +0,0 @@ -Headers: -Host: 192.168.0.30:8080 -Upgrade-Insecure-Requests: 1 -Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 -User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1 -Accept-Language: en-US,en;q=0.9 -Accept-Encoding: gzip, deflate -Connection: keep-alive diff --git a/dns_queries.log b/dns_queries.log new file mode 100644 index 0000000..a0f65f0 --- /dev/null +++ b/dns_queries.log @@ -0,0 +1,2 @@ +[2025-09-20 23:20:20] conntest.nintendowifi.net. (A) -> REDIRECT 192.168.0.30 +[2025-09-20 23:24:29] conntest.nintendowifi.net. (A) -> REDIRECT 192.168.0.30 diff --git a/run_all b/run_all new file mode 100644 index 0000000..c34fe4e --- /dev/null +++ b/run_all @@ -0,0 +1,65 @@ +import subprocess +import signal +import sys +import os +import threading +import time + +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +STUNNEL_CONF = os.path.join(BASE_DIR, "wii-wfc-dev", "stunnel", "stunnel.conf") +STUNNEL_LOG = os.path.join(BASE_DIR, "wii-wfc-dev", "stunnel", "stunnel.log") + +processes = [] + +def start_process(name, cmd): + print(f"[+] Starting {name}...") + p = subprocess.Popen(cmd, cwd=BASE_DIR) + processes.append(p) + return p + +def tail_log(filepath): + """ Continuously print new lines from stunnel.log """ + while True: + try: + with open(filepath, "r") as f: + f.seek(0, os.SEEK_END) + while True: + line = f.readline() + if not line: + time.sleep(0.5) + continue + print(f"[stunnel] {line.strip()}") + except FileNotFoundError: + time.sleep(1) + +def stop_all(signum, frame): + print("\nStopping all services...") + for p in processes: + try: + p.terminate() + except Exception: + pass + sys.exit(0) + +if __name__ == "__main__": + print("=== Starting all services in one terminal ===") + print("Press CTRL+C to stop everything.\n") + + # Start services + start_process("DNS Server", ["python", "dnsserver.py"]) + start_process("Game Server", ["python", "server.py"]) + start_process("stunnel (TLS Proxy)", ["stunnel", STUNNEL_CONF]) + + # Start log tailing in a background thread + t = threading.Thread(target=tail_log, args=(STUNNEL_LOG,), daemon=True) + t.start() + + # Handle CTRL+C + signal.signal(signal.SIGINT, stop_all) + + # Windows-compatible keep-alive loop + try: + while True: + time.sleep(1) + except KeyboardInterrupt: + stop_all(None, None) diff --git a/start_services.bat b/start_services.bat deleted file mode 100644 index 6712ef6..0000000 --- a/start_services.bat +++ /dev/null @@ -1,19 +0,0 @@ -@echo off -setlocal - -REM Paths -set BASE_DIR=C:\Users\hocke\Documents\GitHub\Pokemon-DNS-DS-Server -set STUNNEL_EXE="C:\Program Files (x86)\stunnel\bin\stunnel.exe" -set STUNNEL_CONF=%BASE_DIR%\wii-wfc-dev\stunnel\stunnel.conf - -echo === Starting DNS Server === -start "DNS Server" cmd /k "cd /d %BASE_DIR% && python dnsserver.py" - -echo === Starting Flask Server === -start "Flask Server" cmd /k "cd /d %BASE_DIR% && python server.py" - -echo === Starting stunnel === -start "stunnel" %STUNNEL_EXE% %STUNNEL_CONF% - -echo All services launched! -pause diff --git a/stop_services.bat b/stop_services.bat deleted file mode 100644 index d78a154..0000000 --- a/stop_services.bat +++ /dev/null @@ -1,29 +0,0 @@ -@echo off -setlocal - -REM Paths -set BASE_DIR=C:\Users\hocke\Documents\GitHub\Pokemon-DNS-DS-Server -set STUNNEL_EXE="C:\Program Files (x86)\stunnel\bin\stunnel.exe" -set STUNNEL_CONF=%BASE_DIR%\stunnel\stunnel.conf - -REM Start DNS Server -start "DNS Server" cmd /c "cd /d %BASE_DIR% && python dnsserver.py" - -REM Start Flask Server -start "Flask Server" cmd /c "cd /d %BASE_DIR% && python server.py" - -REM Start stunnel -start "stunnel" %STUNNEL_EXE% %STUNNEL_CONF% - -echo. -echo Servers are running. Close this window to stop them all. -echo. - -REM Wait until user closes window -pause >nul - -REM Kill services -taskkill /IM python.exe /F >nul 2>&1 -taskkill /IM stunnel.exe /F >nul 2>&1 - -echo All services stopped. diff --git a/wii-wfc-dev/stunnel/stunnel.conf b/wii-wfc-dev/stunnel/stunnel.conf index 8463108..736bed8 100644 --- a/wii-wfc-dev/stunnel/stunnel.conf +++ b/wii-wfc-dev/stunnel/stunnel.conf @@ -1,17 +1,11 @@ -; stunnel.conf -; Run in background (no console popup) foreground = quiet - -; Reduce verbosity (4 = info, 3 = warnings only) -debug = 4 - -; Write logs to file instead of popup -output = stunnel.log +debug = 7 +output = C:\Users\hocke\Documents\GitHub\Pokemon-DNS-DS-Server\wii-wfc-dev\stunnel\stunnel.log [wfc] accept = 0.0.0.0:443 connect = 127.0.0.1:8080 -cert = ../certs/server.crt -key = ../certs/server.key +cert = C:\Users\hocke\Documents\GitHub\Pokemon-DNS-DS-Server\wii-wfc-dev\certs\server.crt +key = C:\Users\hocke\Documents\GitHub\Pokemon-DNS-DS-Server\wii-wfc-dev\certs\server.key sslVersion = SSLv23 -ciphers = ALL:!aNULL +ciphers = ALL:!aNULL \ No newline at end of file