from flask import Flask, request, Response import socket import base64 app = Flask(__name__) # Реальный DNS для обычных сайтов REAL_DNS = "8.8.8.8" # IP рабочего прокси для Бравла (проверенный адрес обхода) BRAWL_PROXY = "172.67.155.122" @app.route('/dns-query', methods=['GET', 'POST']) def dns_query(): query_data = request.data if not query_data and 'dns' in request.args: padding = '=' * (4 - len(request.args.get('dns')) % 4) query_data = base64.urlsafe_b64decode(request.args.get('dns') + padding) if not query_data: return "DNS Up", 200 # Проверяем, ищет ли телефон сервера Бравла is_brawl = b"brawlstars" in query_data.lower() or b"supercell" in query_data.lower() try: if is_brawl: print("!!! ПЕРЕХВАЧЕН ЗАПРОС БРАВЛА !!!") # Вместо того чтобы спрашивать Google, мы можем сами собрать ответ, # но для начала давай попробуем переслать запрос на Comss только для игры target_dns = "176.9.93.198" else: target_dns = REAL_DNS sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.settimeout(3) sock.sendto(query_data, (target_dns, 53)) data, _ = sock.recvfrom(4096) return Response(data, mimetype='application/dns-message') except: return Response(status=500) if __name__ == '__main__': app.run(host='0.0.0.0', port=7860)