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

62 lines
1.6 KiB
YAML
Raw Normal View History

2024-11-30 06:42:12 +00:00
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
2024-11-30 06:42:12 +00:00
- name: Set up environment
run: |
chmod +x ./extras/mdaxfr.py
2024-11-30 06:42:12 +00:00
mkdir -p axfrout
- name: Run AXFR scan
run: |
curl -s 'https://data.iana.org/TLD/tlds-alpha-by-domain.txt' | \
tail -n +2 | \
tr '[:upper:]' '[:lower:]' | \
while read domain; do
python ./extras/mdaxfr.py -d "$domain"
done
2024-11-30 06:42:12 +00:00
- 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
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