mdaxfr/.github/workflows/daily-axfr.yml

57 lines
1.4 KiB
YAML

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