2023-05-21 21:39:29 +03:00
|
|
|
import json
|
|
|
|
|
import os
|
2023-05-22 01:16:04 +03:00
|
|
|
import requests
|
2023-05-21 21:39:29 +03:00
|
|
|
from flask import Flask, request
|
2023-05-21 23:11:59 +03:00
|
|
|
from waitress import serve
|
2023-05-21 21:39:29 +03:00
|
|
|
from functools import reduce
|
|
|
|
|
|
2023-05-22 01:16:04 +03:00
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
2023-05-21 21:39:29 +03:00
|
|
|
app = Flask(__name__)
|
|
|
|
|
|
|
|
|
|
@app.route("/track", methods = ['GET'])
|
|
|
|
|
def track():
|
|
|
|
|
if request.method == 'GET' and request.args.get('hash'):
|
|
|
|
|
hash = str(request.args.get('hash'))
|
|
|
|
|
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]['visits']
|
|
|
|
|
else:
|
|
|
|
|
visits = list()
|
|
|
|
|
|
|
|
|
|
visits.append(url)
|
|
|
|
|
visits = list(set(visits))
|
|
|
|
|
db.update({
|
|
|
|
|
hash : {
|
|
|
|
|
'visits' : visits,
|
|
|
|
|
'agent' : ua
|
|
|
|
|
}
|
|
|
|
|
})
|
2023-05-22 01:16:04 +03:00
|
|
|
|
|
|
|
|
send_msg(f'User <{hash}> visited { url } on { ua }')
|
|
|
|
|
|
2023-05-21 21:39:29 +03:00
|
|
|
with open('db.json', 'w+') as dbw:
|
|
|
|
|
dbw.write(json.dumps(db, indent=4))
|
|
|
|
|
|
|
|
|
|
return str(len(db[hash]))
|
|
|
|
|
else:
|
|
|
|
|
return 'hash missing'
|
|
|
|
|
|
2023-05-21 23:20:51 +03:00
|
|
|
serve(app, host='0.0.0.0', port=8001)
|