36 lines
No EOL
875 B
Python
36 lines
No EOL
875 B
Python
#!/usr/bin/python3
|
|
import cgi
|
|
import json
|
|
import os
|
|
|
|
args = cgi.FieldStorage()
|
|
|
|
def track():
|
|
if args['hash']:
|
|
hash = str(args['hash'])
|
|
ua = str(args['ua'])
|
|
url = str(args['url'] or os.getenv('HTTP_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
|
|
}
|
|
})
|
|
with open('db.json', 'w+') as dbw:
|
|
dbw.write(json.dumps(db, indent=4))
|
|
|
|
print(str(len(db[hash])))
|
|
else:
|
|
print('hash missing') |