bind to loopback by default and serve concurrently
`run.py` and the server defaults exposed the dashboard on every interface with no authentication. Default to 127.0.0.1; the Docker entrypoint still passes --host 0.0.0.0 explicitly, so containers are unaffected. Document the override in the --host help text. Also switch from HTTPServer to ThreadingHTTPServer so one slow investigation (subdomain enumeration / whois / ~200 social URL probes) no longer blocks every other request.
This commit is contained in:
parent
9dda742fef
commit
a101dc61d5
2 changed files with 6 additions and 6 deletions
|
|
@ -5,7 +5,7 @@ import json
|
||||||
import logging
|
import logging
|
||||||
import mimetypes
|
import mimetypes
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
from http.server import HTTPServer, BaseHTTPRequestHandler
|
from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
|
|
||||||
# Add project root to path
|
# Add project root to path
|
||||||
|
|
@ -266,14 +266,14 @@ class EireScopeHandler(BaseHTTPRequestHandler):
|
||||||
self._html_response(f"<h1>{code}</h1><p>{message}</p>", status=code)
|
self._html_response(f"<h1>{code}</h1><p>{message}</p>", status=code)
|
||||||
|
|
||||||
|
|
||||||
def create_server(host: str = "0.0.0.0", port: int = 5000) -> HTTPServer:
|
def create_server(host: str = "127.0.0.1", port: int = 5000) -> ThreadingHTTPServer:
|
||||||
"""Create and return the EireScope HTTP server."""
|
"""Create and return the EireScope HTTP server."""
|
||||||
server = HTTPServer((host, port), EireScopeHandler)
|
server = ThreadingHTTPServer((host, port), EireScopeHandler)
|
||||||
logger.info(f"EireScope server ready at http://{host}:{port}")
|
logger.info(f"EireScope server ready at http://{host}:{port}")
|
||||||
return server
|
return server
|
||||||
|
|
||||||
|
|
||||||
def run_server(host: str = "0.0.0.0", port: int = 5000):
|
def run_server(host: str = "127.0.0.1", port: int = 5000):
|
||||||
"""Start the EireScope web server."""
|
"""Start the EireScope web server."""
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
level=logging.INFO,
|
level=logging.INFO,
|
||||||
|
|
|
||||||
4
run.py
4
run.py
|
|
@ -15,8 +15,8 @@ def main():
|
||||||
description="EireScope — Open-Source Intelligence Investigation Dashboard"
|
description="EireScope — Open-Source Intelligence Investigation Dashboard"
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--host", default="0.0.0.0",
|
"--host", default="127.0.0.1",
|
||||||
help="Host to bind to (default: 0.0.0.0)"
|
help="Host to bind to (default: 127.0.0.1; use 0.0.0.0 to expose externally)"
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--port", type=int, default=5000,
|
"--port", type=int, default=5000,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue