fixing dashboard to ensure starts with forward slash, put back the server_header option to allow pinning

This commit is contained in:
Phillip Tarrant
2026-01-03 13:56:16 -06:00
parent 349c149335
commit 4c490e30cb
3 changed files with 16 additions and 2 deletions

View File

@@ -16,6 +16,7 @@ class Config:
"""Configuration class for the deception server"""
port: int = 5000
delay: int = 100 # milliseconds
server_header: str = ""
links_length_range: Tuple[int, int] = (5, 15)
links_per_page_range: Tuple[int, int] = (10, 15)
char_space: str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
@@ -27,6 +28,7 @@ class Config:
api_server_port: int = 8080
api_server_path: str = "/api/v2/users"
probability_error_codes: int = 0 # Percentage (0-100)
# Database settings
database_path: str = "data/krawl.db"
database_retention_days: int = 30
@@ -98,10 +100,15 @@ class Config:
dashboard_path = dashboard.get('secret_path')
if dashboard_path is None:
dashboard_path = f'/{os.urandom(16).hex()}'
else:
# ensure the dashboard path starts with a /
if dashboard_path[:1] != "/":
dashboard_path = f"/{dashboard_path}"
return cls(
port=server.get('port', 5000),
delay=server.get('delay', 100),
server_header=server.get('server_header',""),
timezone=server.get('timezone'),
links_length_range=(
links.get('min_length', 5),

View File

@@ -9,6 +9,7 @@ import string
import json
from templates import html_templates
from wordlists import get_wordlists
from config import get_config
def random_username() -> str:
"""Generate random username"""
@@ -37,6 +38,9 @@ def random_email(username: str = None) -> str:
def random_server_header() -> str:
"""Generate random server header from wordlists"""
config = get_config()
if config.server_header:
return config.server_header
wl = get_wordlists()
return random.choice(wl.server_headers)