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)