commit 94c28a75f0510c3f1e7e43da1e9e120004b3643c Author: KyuDev Date: Thu Apr 13 15:54:27 2023 +0200 Webserver init diff --git a/webserver/http_referer.py b/webserver/http_referer.py new file mode 100644 index 0000000..03e9a1c --- /dev/null +++ b/webserver/http_referer.py @@ -0,0 +1,19 @@ +from flask import Flask, request, redirect + +app = Flask(__name__) + +app.config.update( + DEBUG = False, + SECRET_KEY = 'secret_this_wont_be_important' +) + +@app.errorhandler(401) +def custom_401(error): + return redirect("401 please just stop, thanks") + +@app.errorhandler(404) +def custom_404(error): + return("page not found") + +if __name__ == '__main__': + app.run(host='185.78.255.231', port=80) diff --git a/webserver/main.py b/webserver/main.py new file mode 100644 index 0000000..07c42d8 --- /dev/null +++ b/webserver/main.py @@ -0,0 +1,65 @@ +import os, datetime, requests, random, json, time, string +from werkzeug.security import generate_password_hash +from werkzeug.utils import secure_filename +from flask import Flask, request, render_template, redirect, send_file, url_for, jsonify, session, flash, after_this_request +from flask_login import current_user, login_user, LoginManager, UserMixin, login_required, login_user, logout_user +from flask_mobility import Mobility +from flask_caching import Cache +from flask_ipban import IpBan +from device_detector import DeviceDetector +from flask_sslify import SSLify +from requests_oauthlib import OAuth2Session +from shutil import copyfile +from werkzeug.middleware.shared_data import SharedDataMiddleware +from oauthlib.oauth2 import WebApplicationClient +from discord_webhook import DiscordWebhook, DiscordEmbed + +contact_support_dc_webhook = "" + +app = Flask(__name__) + +app.config.update( + DEBUG=False, + SECRET_KEY='secret_password_' + ''.join(str(random.choice(string.ascii_lowercase)) for i in range(20)) +) + +login_manager = LoginManager() +login_manager.init_app(app) + + +class User(UserMixin): + def __init__(self, id): + self.id = id + self.name = "user" + str(id) + self.password = self.name + "_secret" + + def __repr__(self): + return "%d/%s/%s" % (self.id, self.name, self.password) + +@login_manager.user_loader +def load_user(userid): + return User(userid) + + +def get_username(self): + return self.username + + +@app.route('/') +def homepage(): + return redirect("/login") + + +# Error handling +@app.errorhandler(401) +def custom_401(error): + return redirect("/") + + +@app.errorhandler(404) +def custom_404(error): + return redirect("/") + +if __name__ == '__main__': + app.run(host='185.78.255.231', threaded=True,use_reloader=True, port=443, + ssl_context=('/etc/letsencrypt/live/cipherwatch.asdatindustries.com/fullchain.pem', '/etc/letsencrypt/live/cipherwatch.asdatindustries.com/privkey.pem')) \ No newline at end of file diff --git a/webserver/static/main_free.png b/webserver/static/main_free.png new file mode 100644 index 0000000..10a3296 Binary files /dev/null and b/webserver/static/main_free.png differ diff --git a/webserver/templates/login/invalid_credentials_noti.html b/webserver/templates/login/invalid_credentials_noti.html new file mode 100644 index 0000000..9b9c788 --- /dev/null +++ b/webserver/templates/login/invalid_credentials_noti.html @@ -0,0 +1,217 @@ + + + + + Invalid! + + + + + + + + +
+ +
\ No newline at end of file diff --git a/webserver/templates/login/main_login.html b/webserver/templates/login/main_login.html new file mode 100644 index 0000000..ec35a1e --- /dev/null +++ b/webserver/templates/login/main_login.html @@ -0,0 +1,219 @@ + + + + + Login + + + + + + + + + + +
+ +
\ No newline at end of file