ztxi / app.py
Geek7's picture
Update app.py
53386d3 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
# βœ… Define the latest app version
LATEST_VERSION = "35.0.0"
# βœ… Store the latest APK download link
APK_DOWNLOAD_URL = "https://fastupload.io/df76f82413b02669"
@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('/check_update', methods=['GET'])
def check_update():
installed_version = request.args.get("current_version", "0")
update_available = installed_version < LATEST_VERSION
response = jsonify({
"latest_version": LATEST_VERSION,
"update_available": update_available
})
response.headers["Content-Type"] = "application/json" # βœ… Ensure JSON response
return response
@app.route('/get_apk_link', methods=['GET'])
def get_apk_link():
return jsonify({"apk_url": APK_DOWNLOAD_URL}) # βœ… Return latest APK link
@app.route('/get_webpage', methods=['GET'])
def get_webpage():
return jsonify({"url": "https://upload-apk.com"}) # βœ… Replace with your actual webpage URL
@app.route('/get_latest_version', methods=['GET'])
def get_latest_version():
latest_version = "34" # 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)