Current File : /var/www/dashbridge.online/app.py
from flask import Flask, request, make_response
from datetime import datetime
import random
import requests
import xml.etree.ElementTree as ET

app = Flask(__name__)

# Referer & User-Agent fake (opsional, bisa untuk future development / log)
REFERERS = [
    "https://www.google.com/", "https://www.facebook.com/", "https://twitter.com/",
    "https://www.instagram.com/", "https://search.yahoo.com/", "https://duckduckgo.com/"
]

USER_AGENTS = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", "Mozilla/5.0 (Macintosh; Intel Mac OS X)",
    "Mozilla/5.0 (X11; Linux x86_64)", "Mozilla/5.0 (Linux; Android 11)", "Mozilla/5.0 (iPhone)"
]

# Cuma handle 1 domain
RSS_FEED_URL = "https://dashbridge.online/feed"

def get_random_post_url():
    try:
        response = requests.get(RSS_FEED_URL, timeout=5)
        if response.status_code != 200:
            return None
        root = ET.fromstring(response.content)
        items = root.findall(".//item")
        urls = [item.find("link").text for item in items if item.find("link") is not None]
        return random.choice(urls) if urls else None
    except Exception as e:
        print(f"[RSS ERROR] {e}")
        return None

@app.route('/watch-video')
def watch_video_redirect():
    ua = request.headers.get('User-Agent', '')
    referer = request.headers.get('Referer', '')
    ip = request.remote_addr

    if any(bot in ua.lower() for bot in ['bot', 'spider', 'crawler']):
        return "Bot tidak diarahkan", 200

    post_url = get_random_post_url()
    if not post_url:
        return "Gagal ambil artikel", 500

    delay_seconds = random.randint(3, 10)

    print(f"[dashbridge] {datetime.now()} | IP: {ip} | Delay: {delay_seconds}s | From: {referer} | UA: {ua} | ? {post_url}")

    html = f'''
    <html>
    <head>
        <title>Redirecting...</title>
        <meta name="robots" content="noindex, nofollow" />
    </head>
    <body>
        <script>
            setTimeout(function() {{
                window.location.href = "{post_url}";
            }}, {delay_seconds * 1000});
        </script>
        <p>Sedang mengalihkan ke artikel... <a href="{post_url}">Klik di sini jika tidak otomatis.</a></p>
    </body>
    </html>
    '''

    return make_response(html, 200)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)