from flask import Flask, request, jsonify from duckduckgo_search import DDGS app = Flask(__name__) @app.route("/") def home(): return "✦ 𝐅𝐅𝐗 ✦ Universal Search API is Live!" @app.route("/search") def search_all(): query = request.args.get('query') if not query: return jsonify({"error": "Query is required"}), 400 results = {"query": query, "videos": [], "images": [], "files": [], "web": []} try: with DDGS() as ddgs: # 🎬 ভিডিও (১০টি লিংক) try: for r in ddgs.videos(query, safesearch="off", max_results=10): results["videos"].append({"title": r.get("title", ""), "link": r.get("content", "") or r.get("url", "")}) except: pass # 🖼️ ছবি (৫টি লিংক) try: for r in ddgs.images(query, safesearch="off", max_results=5): results["images"].append({"title": r.get("title", ""), "link": r.get("image", "") or r.get("url", "")}) except: pass # 📂 ফাইল (১০টি লিংক) try: file_query = f"{query} ext:pdf OR ext:apk OR ext:zip OR torrent OR download" for r in ddgs.text(file_query, safesearch="off", max_results=10): results["files"].append({"title": r.get("title", ""), "link": r.get("href", "")}) except: pass # 🌐 ওয়েবসাইট (১৫টি লিংক) try: web_query = f"{query} watch online OR official site OR wiki" for r in ddgs.text(web_query, safesearch="off", max_results=15): results["web"].append({"title": r.get("title", ""), "link": r.get("href", "")}) except: pass except Exception as e: return jsonify({"error": str(e)}), 500 return jsonify(results) if __name__ == "__main__": app.run(host="0.0.0.0", port=7860)