from http.server import BaseHTTPRequestHandler, HTTPServer
import json
import socket
def get_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.connect(('8.8.8.8', 80))
IP = s.getsockname()[0]
except Exception:
IP = '127.0.0.1'
finally:
s.close()
return IP
class FakeServer(BaseHTTPRequestHandler):
def do_POST(self):
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
response = {"code": 0, "message": "Success"}
self.wfile.write(json.dumps(response).encode('utf-8'))
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html; charset=utf-8')
self.end_headers()
# HTML-страница с попыткой запустить настройки Android
html = """
<!DOCTYPE html>
<html>
<head><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>System Update</title></head>
<body style="font-family: Arial; text-align: center; padding-top: 40px;">
<h2>Обновление системы</h2>
<p>Для продолжения нажмите кнопку ниже.</p>
<br>
<!-- Попытка запустить настройки Android -->
<a href="intent:#Intent;action=android.settings.SETTINGS;end" style="background-color: #28a745; color: white; padding: 15px 30px; text-decoration: none; border-radius: 5px; font-size: 18px;">Открыть Настройки</a>
<br><br>
<!-- Попытка открыть браузер -->
<a href="intent:#Intent;action=android.intent.action.VIEW;type=text/html;end" style="background-color: #007bff; color: white; padding: 15px 30px; text-decoration: none; border-radius: 5px; font-size: 18px;">Запустить Браузер</a>
</body>
</html>
"""
self.wfile.write(html.encode('utf-8'))
def log_message(self, format, *args):
pass
my_ip = get_ip()
print("=" * 50)
print(f" IP ДЛЯ DNS: {my_ip}")
print("=" * 50)
print(" СЕРВЕР-ИНЖЕКТОР ЗАПУЩЕН!")
print(" Ждем подключения телефона...")
server = HTTPServer(('0.0.0.0', 80), FakeServer)
server.serve_forever()