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)