BdnS / app.py
Sk0lovek's picture
Upload 2 files
da3cb12 verified
Raw
History Blame Contribute Delete
1.64 kB
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)