| from flask import Flask, render_template, request, jsonify |
| from curl_cffi import requests |
| import random |
|
|
| app = Flask(__name__) |
|
|
| |
| 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: |
| |
| |
| 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) |