Skip to content

feat: track DNS record history#17

Open
xiaoshuai7038 wants to merge 2 commits into
codingo:mainfrom
xiaoshuai7038:feat/dns-history-tracking
Open

feat: track DNS record history#17
xiaoshuai7038 wants to merge 2 commits into
codingo:mainfrom
xiaoshuai7038:feat/dns-history-tracking

Conversation

@xiaoshuai7038
Copy link
Copy Markdown

Fixes #1

Summary

  • Adds DNS history fields to JSON output: first_seen, last_seen, and seen.
  • Preserves records from previous JSON input when they are not observed in the current scan, so rotating/load-balanced DNS records remain in the dataset.
  • Adds --fs, --ls <days>, and --lsd <MM/DD/YYYY|MM-DD-YYYY> flags for first-seen and stale last-seen logging.
  • Reads both the new snake_case fields and legacy dashed keys (first-seen, last-seen) from existing JSON.
  • Updates CMake/OpenSSL linking and small Boost compatibility issues so the project builds with the current Homebrew toolchain.

Validation

  • git diff --check
  • clang++ -std=c++17 -I dooked/include -I dooked/json/include -I dooked/spdlog/include -I dooked/CLI11/include -I /opt/homebrew/include -I /opt/homebrew/opt/openssl@3/include -fsyntax-only dooked/source/main.cpp dooked/source/cli_preprocessor.cpp dooked/source/utils/io_utils.cpp
  • cmake -S dooked -B build -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@3 && cmake --build build -j2
  • Manual smoke test: run against example.com, verify JSON contains first_seen, last_seen, seen, then re-run from the JSON input and verify seen increments.

Bounty payout

If this is selected for the listed bounty, my PayPal link is: https://paypal.me/xiaoshuai12138

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adding first-seen/last-seen to dataset with new flags

1 participant