Daily AXFR Scan #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
- 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 |