name: Update Filter Lists on: schedule: - cron: "0 3 * * 1" push: branches: - main workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: NODE_ENV: production jobs: cgps: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: repository: "mrrfv/cloudflare-gateway-pihole-scripts" ref: "v1" - name: Install Node.js uses: actions/setup-node@v3 with: node-version: "lts/*" - name: Install npm dependencies run: npm ci - name: Download allowlists run: npm run download:allowlist env: ALLOWLIST_URLS: ${{ vars.ALLOWLIST_URLS }} - name: Download blocklists run: npm run download:blocklist env: BLOCKLIST_URLS: ${{ vars.BLOCKLIST_URLS }} - name: Delete old rules and lists run: npm run cloudflare-delete env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} CLOUDFLARE_LIST_ITEM_LIMIT: ${{ secrets.CLOUDFLARE_LIST_ITEM_LIMIT }} FAST_MODE: ${{ vars.FAST_MODE }} - name: Create new rules and lists run: npm run cloudflare-create env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} CLOUDFLARE_LIST_ITEM_LIMIT: ${{ secrets.CLOUDFLARE_LIST_ITEM_LIMIT }} FAST_MODE: ${{ vars.FAST_MODE }} - name: Send ping request if: env.PING_URL != '' run: | curl "${{ env.PING_URL }}" env: PING_URL: ${{ secrets.PING_URL }} - name: Keep workflow alive uses: gautamkrishnar/keepalive-workflow@v1