cos / app.py
AnesKAM's picture
Update app.py
2bef995 verified
from flask import Flask, render_template, request, jsonify
from curl_cffi import requests
import random
app = Flask(__name__)
# السيرفر المستقر (يمكنك تغييره من searx.space إذا لزم الأمر)
SEARXNG_URL = 'https://search.rhscz.eu'
@app.route('/')
def home():
return render_template('index.html')
@app.route('/search')
def search():
query = request.args.get('q')
if not query:
return jsonify({"error": "No query provided"}), 400
try:
# 🚀 محاكاة كاملة لمتصفح Chrome 120 لتجاوز الحظر
# impersonate="chrome120" تقوم بمحاكاة الـ TLS Fingerprint والـ Headers
response = requests.get(
f"{SEARXNG_URL}/search",
params={'q': query, 'format': 'json'},
impersonate="chrome120",
timeout=10
)
if response.status_code == 200:
return jsonify(response.json())
elif response.status_code == 429:
return jsonify({"error": "Server overloaded (429). Please try again in a minute."}), 429
else:
return jsonify({"error": f"Engine error: {response.status_code}"}), response.status_code
except Exception as e:
return jsonify({"error": f"Simulation Error: {str(e)}"}), 500
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860)