File size: 2,107 Bytes
bc4ef74
b82bad9
 
bc4ef74
b82bad9
bc4ef74
b82bad9
b71f48b
b82bad9
bc4ef74
 
 
b82bad9
bc4ef74
b82bad9
b71f48b
b82bad9
 
 
b71f48b
b82bad9
b71f48b
b82bad9
 
 
82afa70
b82bad9
82afa70
b82bad9
 
 
b71f48b
b82bad9
82afa70
b71f48b
b82bad9
 
 
b71f48b
b82bad9
82afa70
b71f48b
b82bad9
 
 
 
bc4ef74
b82bad9
bc4ef74
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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)