import os import threading from datetime import datetime from http.server import HTTPServer from time import sleep import yaml import database from cleanup import session_cleanup from config import load_config from database import init_db from handlers import FileServerHandler global CONFIG CONFIG = load_config() def log(message): if CONFIG.get("logging", {}).get("enabled", True): print(f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] {message}") def main(): init_db() log("Starting SimpliestFS server...") # Start session cleanup thread cleanup_thread = threading.Thread(target=session_cleanup, daemon=True) cleanup_thread.start() # Start server server_address = (CONFIG["server"]["host"], CONFIG["server"]["port"]) httpd = HTTPServer(server_address, FileServerHandler) log( f"SimpliestFS server running on {CONFIG['server']['host']}:{CONFIG['server']['port']}" ) httpd.serve_forever() if __name__ == "__main__": while True: try: main() except KeyboardInterrupt: exit(0) except: pass