Sure
This commit is contained in:
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
||||||
@@ -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)
|
||||||
@@ -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
|
|
||||||
@@ -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.
|
|
||||||
@@ -1,17 +1,11 @@
|
|||||||
; stunnel.conf
|
|
||||||
; Run in background (no console popup)
|
|
||||||
foreground = quiet
|
foreground = quiet
|
||||||
|
debug = 7
|
||||||
; Reduce verbosity (4 = info, 3 = warnings only)
|
output = C:\Users\hocke\Documents\GitHub\Pokemon-DNS-DS-Server\wii-wfc-dev\stunnel\stunnel.log
|
||||||
debug = 4
|
|
||||||
|
|
||||||
; Write logs to file instead of popup
|
|
||||||
output = stunnel.log
|
|
||||||
|
|
||||||
[wfc]
|
[wfc]
|
||||||
accept = 0.0.0.0:443
|
accept = 0.0.0.0:443
|
||||||
connect = 127.0.0.1:8080
|
connect = 127.0.0.1:8080
|
||||||
cert = ../certs/server.crt
|
cert = C:\Users\hocke\Documents\GitHub\Pokemon-DNS-DS-Server\wii-wfc-dev\certs\server.crt
|
||||||
key = ../certs/server.key
|
key = C:\Users\hocke\Documents\GitHub\Pokemon-DNS-DS-Server\wii-wfc-dev\certs\server.key
|
||||||
sslVersion = SSLv23
|
sslVersion = SSLv23
|
||||||
ciphers = ALL:!aNULL
|
ciphers = ALL:!aNULL
|
||||||
Reference in New Issue
Block a user