From 90bb7a2ccf206a831530fdef75ab77fe81bae370 Mon Sep 17 00:00:00 2001 From: CitrixPot Date: Mon, 28 Sep 2026 19:48:50 +0200 Subject: [PATCH] viewer: expose hidden IP list; fix hide-ip env duplication --- deploy/decoy-viewer.service | 2 +- viewer.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/deploy/decoy-viewer.service b/deploy/decoy-viewer.service index 54d9533..8668762 100644 --- a/deploy/decoy-viewer.service +++ b/deploy/decoy-viewer.service @@ -3,7 +3,7 @@ Description=Local read-only honeypot evidence viewer (loopback only) After=network-online.target [Service] EnvironmentFile=/etc/decoy.env -ExecStart=/usr/bin/python3 /opt/decoy/viewer.py --bind=${VIEWER_BIND} --port=${VIEWER_PORT} --log-dir=${VIEWER_LOG_DIR} --hide-ip=${VIEWER_HIDE_IP} +ExecStart=/usr/bin/python3 /opt/decoy/viewer.py --bind=${VIEWER_BIND} --port=${VIEWER_PORT} --log-dir=${VIEWER_LOG_DIR} WorkingDirectory=/opt/decoy UMask=0077 NoNewPrivileges=true diff --git a/viewer.py b/viewer.py index d572882..d2fceb5 100644 --- a/viewer.py +++ b/viewer.py @@ -237,7 +237,8 @@ class Handler(http.server.BaseHTTPRequestHandler): break page_rows = rows[page * size:(page + 1) * size] body = json.dumps({'events': page_rows, 'scanned': scanned, 'page': page, 'size': size, - 'has_more': len(rows) >= need, 'hidden': len(hidden)}, ensure_ascii=True).encode() + 'has_more': len(rows) >= need, 'hidden': len(hidden), + 'hidden_ips': sorted(hidden)}, ensure_ascii=True).encode() self.send(200, body, 'application/json', (('Content-Disposition', 'inline'),)) def artifact(self, sha, query):