From 2432117bf37c244ebafeaadcc213cb07b9139e28 Mon Sep 17 00:00:00 2001 From: HorizonCode Date: Sat, 19 Jun 2021 04:30:55 +0200 Subject: [PATCH] haha yes --- avatar-server.py | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 avatar-server.py diff --git a/avatar-server.py b/avatar-server.py new file mode 100644 index 0000000..903c3fb --- /dev/null +++ b/avatar-server.py @@ -0,0 +1,62 @@ +import os +import json +import urllib +from urllib.request import Request, urlopen +from pyfiglet import Figlet +from flask import Flask, send_file, jsonify +from subprocess import call +from sys import platform as _platform + +if _platform == 'win32' or _platform == 'win64': + call('cls', shell=True) +elif _platform == 'linux' or _platform == 'linux2': + call('clear', shell=True) + +f = Figlet(font='stop') +print(f.renderText('Avatar-Server')) + +app = Flask(__name__) +app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 1 + +avatar_dir = "avatars" + +if not os.path.exists(avatar_dir): + os.makedirs(avatar_dir) + +@app.route("/status") +def serverStatus(): + return jsonify({ + "response": 200, + "status": 1 + }) + +@app.route("/") +def serveAvatar(uid): + avatarPath = "{}/0.png".format(avatar_dir) + try: + supportGIF = False + url="https://new.ez-pp.farm/api/v1/users?id={}".format(uid) + req = Request(url, headers={'User-Agent': 'Mozilla/5.0', 'X-Ripple-Token': 'yes'}) + web_byte = urlopen(req) + web_read = web_byte.read() + webpage = web_read.decode('utf-8') + result = json.loads(webpage) + + if result and result["privileges"]: + if (result["privileges"] & 1 << 2) != 0: + supportGIF = True + + if os.path.isfile("{}/{}.gif".format(avatar_dir, uid)) and supportGIF: + avatarPath = "{}/{}.gif".format(avatar_dir, uid) + else: + if os.path.isfile("{}/{}.png".format(avatar_dir, uid)): + avatarPath = "{}/{}.png".format(avatar_dir, uid) + except urllib.error.HTTPError: + pass + return send_file(avatarPath) + +@app.errorhandler(404) +def page_not_found(error): + return send_file("{}/0.png".format(avatar_dir)) + +app.run(host="0.0.0.0", port=5000)