ztxi / app.py
Geek7's picture
Update app.py
b84882d verified
from flask import Flask, jsonify
from flask_cors import CORS
import subprocess
import IP2Location
import requests
app = Flask(__name__)
CORS(app) # Enable CORS for all routes
@app.route('/')
def home():
return ""
# Define ECPM values for different countries based on timezones
ECPM_VALUES = {
"America/New_York": 60, # USA (Eastern)
"America/Chicago": 58, # USA (Central)
"America/Denver": 55, # USA (Mountain)
"America/Los_Angeles": 52, # USA (Pacific)
"Europe/London": 70, # UK
"Europe/Paris": 65, # France
"Europe/Berlin": 67, # Germany
"Europe/Zurich": 66, # Switzerland
"Europe/Copenhagen": 64, # Denmark
"Europe/Madrid": 63, # Spain
"Europe/Rome": 62, # Italy
"Europe/Stockholm": 68, # Sweden
"Europe/Oslo": 69, # Norway
"America/Sao_Paulo": 45, # Brazil
"Australia/Sydney": 75, # Australia
"Europe/Chisinau": 55, # Moldova
"Europe/Amsterdam": 66, # Netherlands
"Europe/Lisbon": 61, # Portugal
"Europe/Brussels": 64, # Belgium
"Pacific/Auckland": 80 # New Zealand
}
@app.route('/get_ecpm_player', methods=['GET'])
def get_ecpm():
# Get timezone from request
user_timezone = request.args.get('timezone', 'Unknown')
# Get corresponding ECPM value
ecpm_value = ECPM_VALUES.get(user_timezone, 50) # Default to 50 if not found
return jsonify({"ecpm": ecpm_value, "timezone": user_timezone})
@app.route('/get-ip', methods=['GET'])
def get_ip():
try:
# Use ipify API to get the public IP
response = requests.get("https://api64.ipify.org?format=json")
data = response.json()
user_ip = data.get("ip", "Unknown")
# Use ipwhois.app to get IP details
details_response = requests.get(f"https://ipwhois.app/json/{user_ip}")
details = details_response.json()
return jsonify({
"ip": user_ip,
"type": "IPv6" if ":" in user_ip else "IPv4",
"country": details.get("country", "Unknown"),
"isp": details.get("isp", "Unknown"),
"proxy": details.get("proxy", False) # Detect if IP is a proxy
})
except Exception as e:
return jsonify({"error": str(e)}), 500
@app.route('/get_latest_version', methods=['GET'])
def get_latest_version():
latest_version = "31.0" # Use snake_case for internal Python variables
return jsonify({'latestVersion': latest_version}) # Use camelCase in JSON response
@app.route('/get_latest_version2', methods=['GET'])
def get_latest_version2():
latest_version = "7.0" # Use snake_case for internal Python variables
return jsonify({'latestVersion': latest_version}) # Use camelCase in JSON response
# API endpoint returning hardcoded features
@app.route('/api/features')
def get_features():
features = [
# {"name": "πŸš€ Fast", "description": "Quick response time with optimized performance."}
]
return jsonify(features)
# API endpoint returning hardcoded features
@app.route('/api/features2')
def get_features2():
features = [
# {"name": "πŸš€ Fast", "description": "Quick response time with optimized performance."}
]
return jsonify(features)
if __name__ == '__main__':
subprocess.Popen(["python", "wk.py"]) # Start awake.py
app.run(host='0.0.0.0', port=7860)