All checks were successful
build-and-deploy / build (push) Successful in 2m0s
Continuous whole-IPv4 rolling sweep for open TCP 554, feeding the same cameras table as the passive scraper (discovery_source=masscan). - masscan_config.py: env-driven knobs (range, ports, rate, retries, excludes) - masscan_scanner.py: JSON-lines parser, rtsp://IP/ URL + url_hash dedupe, ip-api geolocation, insert/refresh, NATS publish for new finds - run_masscan_service.py: long-lived rolling-sweep runner (streams results in, restarts on pass completion); fails closed without an excludefile - deploy/: systemd unit + README + excludes file for the Pi host - .env.example: masscan section Verified end-to-end against a local Postgres: parse, insert, and dedupe (0 new on re-ingest) all pass.
33 lines
610 B
Text
33 lines
610 B
Text
# masscan excludefile — never probe these ranges.
|
|
# RFC1918 private + loopback + link-local + multicast + documentation/bogons.
|
|
# The service refuses to start if this file is missing (fail closed).
|
|
|
|
# Loopback
|
|
127.0.0.0/8
|
|
|
|
# RFC1918 private
|
|
10.0.0.0/8
|
|
172.16.0.0/12
|
|
192.168.0.0/16
|
|
|
|
# Link-local
|
|
169.254.0.0/16
|
|
|
|
# CGNAT (RFC 6598)
|
|
100.64.0.0/10
|
|
|
|
# Multicast + reserved
|
|
224.0.0.0/4
|
|
240.0.0.0/4
|
|
|
|
# Documentation / benchmark / example ranges (never real hosts)
|
|
0.0.0.0/8
|
|
192.0.2.0/24
|
|
198.51.100.0/24
|
|
203.0.113.0/24
|
|
192.0.0.0/24
|
|
198.18.0.0/15
|
|
255.255.255.255/32
|
|
|
|
# Carrier NAT / TEST-NET leftovers
|
|
233.252.0.0/24
|