# systemd unit template — copy to /etc/systemd/system/osint-masscan.service # # The masscan service is a CONTINUOUS rolling sweep (a full IPv4 pass at a # conservative rate takes ~5 days), so it runs as a long-lived service, NOT a # daily timer. The [Install] WantedBy means it starts at boot and Restart=always # keeps it up. Install steps (run once on the Pi, as root): # # apt install -y masscan # or: apt-get install masscan # mkdir -p /etc/osint-dashboard /opt/siriusdevops # cp deploy/masscan-excludes.txt /etc/osint-dashboard/masscan-excludes.txt # # # Optional tuning (override env in this file; the DB_* values in the unit # # already point at the host-published Postgres on 127.0.0.1:5432): # cat > /etc/osint-dashboard/masscan.env <<'EOF' # MASSCAN_RANGE=0.0.0.0/0 # MASSCAN_PORTS=554 # MASSCAN_RATE=10000 # EOF # # # Venv for the scanner (host-level, not the compose image): # cd /opt/siriusdevops/osint-dashboard # python3 -m venv .venv-masscan # .venv-masscan/bin/pip install -r app/requirements.txt # # install -m 644 deploy/osint-masscan.service /etc/systemd/system/ # systemctl daemon-reload # systemctl enable --now osint-masscan # # Watch: journalctl -u osint-masscan -f # DB: writes into the same Postgres the compose stack uses (127.0.0.1:5432) # so findings appear on the dashboard camera map automatically.