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)