File size: 1,523 Bytes
7642f6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import os
import uuid
import shutil
import hashlib
import datetime
from flask import Flask, request

def get_key_sha256(key):
    sha256 = hashlib.sha256()
    sha256.update(key.encode('utf-8'))
    return sha256.hexdigest()

match_sha256 = 'ffa007286cff75ab9c14e42282edd8e7e28b467a6e1bcd3d9b90dc40d375cae3'

data_folder = 'static'
if not os.path.isdir(data_folder):
    os.makedirs(data_folder)

app = Flask(__name__, static_url_path='')
@app.route("/put", methods = ['POST'])
def put():
    d = request.json
    key = d['key']
    if not get_key_sha256(key) == match_sha256:
        return 'err'
    msg = d['msg']
    now = str(datetime.datetime.now()).replace(':', '_')
    file_name = now + '___'+str(uuid.uuid4())
    open(os.path.join(data_folder, file_name), 'w').write(msg)
    return 'ok'

@app.route("/get", methods = ['GET'])
def get():
    d = request.headers
    key = d['Key']
    if not get_key_sha256(key) == match_sha256:
        return 'err'
    files = sorted(os.listdir(data_folder))
    txt = ''
    for f in files:
        ff = f.split('___')[0]
        ff = ff.replace('_', ':')
        txt += ff+':'
        txt += open(os.path.join(data_folder, f)).read()+'\n'
    return txt

@app.route("/clear", methods = ['GET'])
def clear():
    d = request.headers
    key = d['Key']
    if not get_key_sha256(key) == match_sha256:
        return 'err'
    shutil.rmtree(data_folder)
    os.makedirs(data_folder)
    return 'ok'

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=7860, debug=True)