import json import os import requests from flask import Flask, request from waitress import serve from functools import reduce TOKEN = '5828518687:AAFxnEivg-SVL0OzAs2NrLiISKksjMLZq6M' CHAT_ID = '26113616' def send_msg(text): url_req = "https://api.telegram.org/bot" + TOKEN + "/sendMessage" + "?chat_id=" + CHAT_ID + "&text=" + text + "&parse_mode=markdown&disable_web_page_preview=true" return requests.get(url_req) app = Flask(__name__) @app.route("/track", methods = ['GET']) def track(): if request.method == 'GET' and request.args.get('hash') and request.args.get('cat'): hash = str(request.args.get('hash')) cat = str(request.args.get('cat')) ua = str(request.args.get('ua')) url = str(request.values.get("url") or request.headers.get("Referer")) if os.path.exists('db.json'): with open('db.json', 'r') as db: db = json.loads(db.read()) else: db = {} if hash in db.keys(): visits = db[hash][cat] else: visits = list() visits.append(url) visits = list(set(visits)) db.update({ hash : { cat : visits, 'agent' : ua } }) send_msg(f'User <{hash}> visited { url } on { ua } ({ str(len(db[hash][cat])) })') with open('db.json', 'w+') as dbw: dbw.write(json.dumps(db, indent=4)) return str(len(db[hash][cat])) else: return str(0) serve(app, host='0.0.0.0', port=5000)