Spaces:
Paused
Paused
| import os | |
| import sys | |
| # DON\'T CHANGE THIS !!! | |
| sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) | |
| from flask import Flask, send_from_directory | |
| from models.user import db | |
| from routes.user import user_bp | |
| from routes.auth import auth_bp | |
| from routes.isp_api import init_engines, isp_api | |
| from core.openvpn_manager import initialize_openvpn_manager | |
| app = Flask(__name__, static_folder=os.path.join(os.path.dirname(__file__), 'static')) | |
| app.config['SECRET_KEY'] = 'asdf#FGSgvasgf$5$WGT' | |
| app.register_blueprint(user_bp, url_prefix='/api') | |
| app.register_blueprint(isp_api, url_prefix='/api') | |
| app.register_blueprint(auth_bp, url_prefix='/api') | |
| # uncomment if you need to use database | |
| app.config['SQLALCHEMY_DATABASE_URI'] = f"sqlite:///{os.path.join(os.path.dirname(__file__), 'database', 'app.db')}" | |
| app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False | |
| db.init_app(app) | |
| with app.app_context(): | |
| db.create_all() | |
| # Default configuration for engines | |
| app.config["dhcp"] = { | |
| "network": "10.0.0.0/24", | |
| "range_start": "10.0.0.10", | |
| "range_end": "10.0.0.100", | |
| "lease_time": 3600, | |
| "gateway": "10.0.0.1", | |
| "dns_servers": ["8.8.8.8", "8.8.4.4"] | |
| } | |
| # Initialize engines only once, when the Flask app is not in debug mode's reloader process | |
| if not app.debug or os.environ.get('WERKZEUG_RUN_MAIN') == 'true': | |
| init_engines(app.config) | |
| initialize_openvpn_manager(app.config) | |
| def serve_auth(): | |
| return send_from_directory(app.static_folder, "auth.html") | |
| def serve_dashboard(): | |
| return send_from_directory(app.static_folder, "dashboard.html") | |
| def serve_root(): | |
| return send_from_directory(app.static_folder, "index.html") | |
| def serve(path): | |
| static_folder_path = app.static_folder | |
| if static_folder_path is None: | |
| return "Static folder not configured", 404 | |
| if path != "" and os.path.exists(os.path.join(static_folder_path, path)): | |
| return send_from_directory(static_folder_path, path) | |
| else: | |
| index_path = os.path.join(static_folder_path, 'index.html') | |
| if os.path.exists(index_path): | |
| return send_from_directory(static_folder_path, 'index.html') | |
| else: | |
| return "index.html not found", 404 | |
| if __name__ == '__main__': | |
| app.run(host='0.0.0.0', port=5000, debug=False) | |