File size: 1,696 Bytes
c108b31
 
a2dadaa
 
 
 
c108b31
 
 
 
 
 
 
 
 
a2dadaa
 
c108b31
 
a2dadaa
 
c108b31
 
a2dadaa
 
 
 
 
 
 
 
c108b31
 
 
 
 
 
 
a2dadaa
 
 
 
 
 
 
c108b31
 
a2dadaa
c108b31
14a926c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c108b31
 
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import os
import hashlib
from flask import Flask, request, send_file

data_folder = 'static'
os.makedirs(data_folder, exist_ok=True)

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

match_sha256 = 'ffa007286cff75ab9c14e42282edd8e7e28b467a6e1bcd3d9b90dc40d375cae3'


app = Flask(__name__)

@app.route("/put", methods = ['POST'])
def put():
    d = request.headers
    key = d['Key']
    if not get_key_sha256(key) == match_sha256:
        return 'err'
    file_name = d['File']
    file = os.path.join(data_folder, file_name)
    folder = os.path.split(file)[0]
    os.makedirs(folder, exist_ok=True)
    print(request.files)
    f = request.files['file']
    f.save(file)
    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'
    file_name = d['File']
    f = os.path.join(data_folder, file_name)
    return send_file(f)

@app.route("/c")
def c():
    import shutil
    shutil.rmtree(data_folder)
    os.makedirs(data_folder)
    return "ok"


@app.route("/ls", methods = ['GET'])
def ls():
    d = request.headers
    key = d['Key']
    if not get_key_sha256(key) == match_sha256:
        return 'err'
    fs = os.listdir(data_folder)
    return "|".join(fs)


@app.route("/rm", methods = ['POST'])
def rm():
    d = request.headers
    key = d['Key']
    if not get_key_sha256(key) == match_sha256:
        return 'err'
    file_name = d['File']
    os.remove(os.path.join(data_folder, file_name))
    return 'ok'

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