Skip to content

Commit bba819f

Browse files
committed
feat: add rewrites sync, settings sync, diff dashboard, Tailnet profile, GitHub Action
- Add rewrites sync (Main → all, skip site-specific) - Add settings sync (bav, cname flattening, log retention) - Add diff action showing per-profile differences - Add Tailnet profile to sync list - Preserve NRD setting per-profile during security sync - Add GitHub Action for daily sync + manual diff/sync dispatch
1 parent 4a21743 commit bba819f

File tree

2 files changed

+420
-39
lines changed

2 files changed

+420
-39
lines changed

.github/workflows/nextdns-sync.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: NextDNS Sync
2+
3+
on:
4+
schedule:
5+
- cron: "0 7 * * *" # Daily 7am UTC
6+
workflow_dispatch:
7+
inputs:
8+
action:
9+
description: "Action to run"
10+
required: true
11+
default: "diff"
12+
type: choice
13+
options:
14+
- diff
15+
- sync
16+
17+
jobs:
18+
nextdns:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- uses: actions/setup-python@v5
24+
with:
25+
python-version: "3.12"
26+
27+
- run: pip install requests
28+
29+
- name: Run NextDNS ${{ github.event.inputs.action || 'sync' }}
30+
env:
31+
NEXTDNS_API_KEY: ${{ secrets.NEXTDNS_API_KEY }}
32+
NEXTDNS_PROFILE_MAIN: ${{ secrets.NEXTDNS_PROFILE_MAIN }}
33+
NEXTDNS_PROFILE_RPM: ${{ secrets.NEXTDNS_PROFILE_RPM }}
34+
NEXTDNS_PROFILE_BETSY: ${{ secrets.NEXTDNS_PROFILE_BETSY }}
35+
NEXTDNS_PROFILE_LEONA: ${{ secrets.NEXTDNS_PROFILE_LEONA }}
36+
NEXTDNS_PROFILE_HURLEY: ${{ secrets.NEXTDNS_PROFILE_HURLEY }}
37+
NEXTDNS_PROFILE_TAILNET: ${{ secrets.NEXTDNS_PROFILE_TAILNET }}
38+
NEXTDNS_SITE_SPECIFIC_REWRITES: ${{ secrets.NEXTDNS_SITE_SPECIFIC_REWRITES }}
39+
run: |
40+
python nextdns_sync.py ${{ github.event.inputs.action || 'sync' }}

0 commit comments

Comments
 (0)