name: Daily AXFR Scan on: schedule: # Run at midnight UTC daily - cron: '0 0 * * *' # Optional: Allow manual triggering workflow_dispatch: jobs: scan: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: # Full git history needed to track changes fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.x' - name: Install dependencies run: | python -m pip install --upgrade pip pip install dnspython - name: Create directories run: | mkdir -p axfrout/root chmod +x ./extras/mdaxfr.py - name: Run AXFR scan with TLDs run: | python ./extras/mdaxfr.py --tlds -c 10 - name: Configure Git run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - name: Commit and push changes run: | # Stage only the axfrout directory (which includes root/) git add axfrout/ # Only commit if there are changes if git diff --staged --quiet; then echo "No changes to commit" exit 0 fi git commit -m "Auto: Daily AXFR scan results $(date -u '+%Y-%m-%d')" git push