nfc-web/userdb/db.py
randogoth cc56dec270 fix
2025-09-27 13:55:46 +03:00

55 lines
No EOL
1.5 KiB
Python

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=8001)