# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Blocky
spec:
    description: |
        Blocky is a fast and lightweight DNS proxy as an ad-blocker for local networks with many advanced features. It provides a web API for configuration and monitoring, supports multiple upstream DNS resolvers, and offers flexible blocking with customizable allow/deny lists.
    coverImage: https://raw.githubusercontent.com/0xERR0R/blocky/main/docs/blocky.svg
    icon: https://raw.githubusercontent.com/0xERR0R/blocky/main/docs/blocky.svg
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain to access Blocky web API
    tags:
        - dns
        - ad-blocker
        - network
        - privacy
    readme: |
        # Blocky

        Blocky is a DNS proxy and ad-blocker designed for local networks. It is fast, lightweight, and highly configurable with support for multiple upstream DNS resolvers, custom blocking lists, and a web API for management.

        ## What You Can Do After Deployment

        1. Configure your devices to use Blocky as the DNS server to block ads and trackers
        2. Access the web API on port 4000 to monitor queries and manage configuration
        3. Set up custom allow and deny lists for fine-grained domain blocking
        4. Configure multiple upstream DNS resolvers with failover support
        5. Monitor DNS query statistics and blocked domains

        ## Key Features

        - Fast and lightweight DNS proxy with ad-blocking capability
        - Support for multiple upstream DNS protocols (DNS-over-HTTPS, DNS-over-TLS)
        - Flexible blocking with customizable block lists from various sources
        - Web API for monitoring, configuration, and query logging
        - Conditional forwarding and client-specific rules

        ## License

        Apache-2.0 — [GitHub](https://github.com/0xERR0R/blocky)
    services:
        - name: blocky
          icon: https://raw.githubusercontent.com/0xERR0R/blocky/main/docs/blocky.svg
          template: PREBUILT_V2
          spec:
            source:
                image: ghcr.io/0xerr0r/blocky:v0.29.0
            ports:
                - id: web
                  port: 4000
                  type: HTTP
                - id: dns
                  port: 53
                  type: TCP
            volumes:
                - id: config
                  dir: /app/config
            env: {}
            healthCheck:
                type: HTTP
                port: web
                http:
                    path: /
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            Blocky es un proxy DNS rápido y ligero que funciona como bloqueador de anuncios para redes locales con muchas funciones avanzadas. Proporciona una API web para configuración y monitoreo, soporta múltiples resolvedores DNS upstream y ofrece bloqueo flexible con listas de permitidos/denegados personalizables.
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: Dominio
              description: El dominio para acceder a la API web de Blocky
        readme: |
            # Blocky

            Blocky es un proxy DNS y bloqueador de anuncios diseñado para redes locales. Es rápido, ligero y altamente configurable con soporte para múltiples resolvedores DNS upstream, listas de bloqueo personalizadas y una API web para gestión.

            ## Qué puedes hacer después del despliegue

            1. Configurar tus dispositivos para usar Blocky como servidor DNS para bloquear anuncios y rastreadores
            2. Acceder a la API web en el puerto 4000 para monitorear consultas y gestionar la configuración
            3. Configurar listas personalizadas de permitidos y denegados para un bloqueo granular de dominios
            4. Configurar múltiples resolvedores DNS upstream con soporte de failover
            5. Monitorear estadísticas de consultas DNS y dominios bloqueados

            ## Características principales

            - Proxy DNS rápido y ligero con capacidad de bloqueo de anuncios
            - Soporte para múltiples protocolos DNS upstream (DNS-over-HTTPS, DNS-over-TLS)
            - Bloqueo flexible con listas personalizables de diversas fuentes
            - API web para monitoreo, configuración y registro de consultas
            - Reenvío condicional y reglas específicas por cliente

            ## Licencia

            Apache-2.0 — [GitHub](https://github.com/0xERR0R/blocky)
    id-ID:
        description: |
            Blocky adalah proxy DNS yang cepat dan ringan sebagai pemblokir iklan untuk jaringan lokal dengan banyak fitur canggih. Menyediakan API web untuk konfigurasi dan pemantauan, mendukung beberapa resolver DNS upstream, dan menawarkan pemblokiran fleksibel dengan daftar izin/tolak yang dapat disesuaikan.
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: Domain
              description: Domain untuk mengakses API web Blocky
        readme: |
            # Blocky

            Blocky adalah proxy DNS dan pemblokir iklan yang dirancang untuk jaringan lokal. Cepat, ringan, dan sangat dapat dikonfigurasi dengan dukungan beberapa resolver DNS upstream, daftar blokir kustom, dan API web untuk manajemen.

            ## Yang Dapat Dilakukan Setelah Deploy

            1. Konfigurasi perangkat untuk menggunakan Blocky sebagai server DNS untuk memblokir iklan dan pelacak
            2. Akses API web di port 4000 untuk memantau kueri dan mengelola konfigurasi
            3. Atur daftar izin dan tolak kustom untuk pemblokiran domain yang detail
            4. Konfigurasi beberapa resolver DNS upstream dengan dukungan failover
            5. Pantau statistik kueri DNS dan domain yang diblokir

            ## Fitur Utama

            - Proxy DNS yang cepat dan ringan dengan kemampuan pemblokiran iklan
            - Dukungan beberapa protokol DNS upstream (DNS-over-HTTPS, DNS-over-TLS)
            - Pemblokiran fleksibel dengan daftar blokir yang dapat disesuaikan dari berbagai sumber
            - API web untuk pemantauan, konfigurasi, dan pencatatan kueri
            - Penerusan bersyarat dan aturan khusus per klien

            ## Lisensi

            Apache-2.0 — [GitHub](https://github.com/0xERR0R/blocky)
    ja-JP:
        description: |
            Blocky は高速で軽量な DNS プロキシで、ローカルネットワーク向けの広告ブロッカーとして多くの高度な機能を備えています。設定と監視のための Web API を提供し、複数のアップストリーム DNS リゾルバをサポートし、カスタマイズ可能な許可/拒否リストによる柔軟なブロッキングを提供します。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: ドメイン
              description: Blocky Web API にアクセスするためのドメイン
        readme: |
            # Blocky

            Blocky はローカルネットワーク向けに設計された DNS プロキシ兼広告ブロッカーです。高速・軽量で高度に設定可能、複数のアップストリーム DNS リゾルバ、カスタムブロックリスト、管理用 Web API をサポートしています。

            ## デプロイ後にできること

            1. デバイスを Blocky を DNS サーバーとして使用するよう設定し、広告やトラッカーをブロック
            2. ポート 4000 の Web API でクエリの監視と設定の管理
            3. カスタム許可・拒否リストを設定してきめ細かなドメインブロッキング
            4. フェイルオーバー対応の複数アップストリーム DNS リゾルバを設定
            5. DNS クエリ統計とブロックされたドメインを監視

            ## 主な機能

            - 広告ブロック機能を備えた高速・軽量な DNS プロキシ
            - 複数のアップストリーム DNS プロトコル対応（DNS-over-HTTPS、DNS-over-TLS）
            - 様々なソースからのカスタマイズ可能なブロックリストによる柔軟なブロッキング
            - 監視、設定、クエリログ用の Web API
            - 条件付き転送とクライアント固有のルール

            ## ライセンス

            Apache-2.0 — [GitHub](https://github.com/0xERR0R/blocky)
    ko-KR:
        description: |
            Blocky는 많은 고급 기능을 갖춘 로컬 네트워크용 광고 차단 DNS 프록시입니다. 구성 및 모니터링을 위한 웹 API를 제공하고, 다중 업스트림 DNS 리졸버를 지원하며, 사용자 정의 허용/차단 목록으로 유연한 차단 기능을 제공합니다.
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 도메인
              description: Blocky 웹 API에 접근할 도메인
        readme: |
            # Blocky

            Blocky는 로컬 네트워크용으로 설계된 DNS 프록시 겸 광고 차단기입니다. 빠르고 가벼우며 고도로 구성 가능하고, 다중 업스트림 DNS 리졸버, 사용자 정의 차단 목록, 관리용 웹 API를 지원합니다.

            ## 배포 후 할 수 있는 것

            1. 기기에서 Blocky를 DNS 서버로 설정하여 광고와 트래커 차단
            2. 포트 4000의 웹 API로 쿼리 모니터링 및 구성 관리
            3. 세밀한 도메인 차단을 위한 사용자 정의 허용 및 차단 목록 설정
            4. 장애 조치를 지원하는 다중 업스트림 DNS 리졸버 구성
            5. DNS 쿼리 통계 및 차단된 도메인 모니터링

            ## 주요 기능

            - 광고 차단 기능을 갖춘 빠르고 가벼운 DNS 프록시
            - 다중 업스트림 DNS 프로토콜 지원 (DNS-over-HTTPS, DNS-over-TLS)
            - 다양한 소스의 사용자 정의 차단 목록으로 유연한 차단
            - 모니터링, 구성, 쿼리 로깅을 위한 웹 API
            - 조건부 포워딩 및 클라이언트별 규칙

            ## 라이선스

            Apache-2.0 — [GitHub](https://github.com/0xERR0R/blocky)
    th-TH:
        description: |
            Blocky เป็น DNS proxy ที่เร็วและเบาสำหรับบล็อกโฆษณาในเครือข่ายท้องถิ่นพร้อมฟีเจอร์ขั้นสูงมากมาย ให้บริการ Web API สำหรับการตั้งค่าและตรวจสอบ รองรับ upstream DNS resolver หลายตัว และเสนอการบล็อกที่ยืดหยุ่นพร้อมรายการอนุญาต/ปฏิเสธที่ปรับแต่งได้
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: โดเมน
              description: โดเมนสำหรับเข้าถึง Blocky Web API
        readme: |
            # Blocky

            Blocky เป็น DNS proxy และตัวบล็อกโฆษณาที่ออกแบบมาสำหรับเครือข่ายท้องถิ่น เร็ว เบา และปรับแต่งได้สูง รองรับ upstream DNS resolver หลายตัว รายการบล็อกแบบกำหนดเอง และ Web API สำหรับจัดการ

            ## สิ่งที่ทำได้หลังจากติดตั้ง

            1. ตั้งค่าอุปกรณ์ให้ใช้ Blocky เป็น DNS server เพื่อบล็อกโฆษณาและตัวติดตาม
            2. เข้าถึง Web API ที่พอร์ต 4000 เพื่อตรวจสอบ query และจัดการการตั้งค่า
            3. ตั้งค่ารายการอนุญาตและปฏิเสธแบบกำหนดเองสำหรับการบล็อกโดเมนอย่างละเอียด
            4. กำหนดค่า upstream DNS resolver หลายตัวพร้อมรองรับ failover
            5. ตรวจสอบสถิติ DNS query และโดเมนที่ถูกบล็อก

            ## คุณสมบัติหลัก

            - DNS proxy ที่เร็วและเบาพร้อมความสามารถในการบล็อกโฆษณา
            - รองรับโปรโตคอล upstream DNS หลายแบบ (DNS-over-HTTPS, DNS-over-TLS)
            - การบล็อกที่ยืดหยุ่นพร้อมรายการบล็อกที่ปรับแต่งได้จากแหล่งต่างๆ
            - Web API สำหรับตรวจสอบ ตั้งค่า และบันทึก query
            - การส่งต่อแบบมีเงื่อนไขและกฎเฉพาะต่อไคลเอ็นต์

            ## สัญญาอนุญาต

            Apache-2.0 — [GitHub](https://github.com/0xERR0R/blocky)
    zh-CN:
        description: |
            Blocky 是一款快速轻量的 DNS 代理，可作为本地网络的广告拦截器，具备多项高级功能。它提供用于配置和监控的 Web API，支持多个上游 DNS 解析器，并提供灵活的封锁功能与可自定义的允许/拒绝列表。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 域名
              description: 用于访问 Blocky Web API 的域名
        readme: |
            # Blocky

            Blocky 是专为本地网络设计的 DNS 代理和广告拦截器。它快速、轻量且高度可配置，支持多个上游 DNS 解析器、自定义封锁列表和管理用的 Web API。

            ## 部署后你可以做什么

            1. 配置设备使用 Blocky 作为 DNS 服务器以拦截广告和追踪器
            2. 通过端口 4000 访问 Web API 监控查询和管理配置
            3. 设置自定义允许和拒绝列表，进行精细的域名封锁
            4. 配置多个上游 DNS 解析器，支持故障转移
            5. 监控 DNS 查询统计和被封锁的域名

            ## 主要功能

            - 快速轻量的 DNS 代理，具备广告拦截能力
            - 支持多种上游 DNS 协议（DNS-over-HTTPS、DNS-over-TLS）
            - 灵活的封锁功能，可自定义来自各种来源的封锁列表
            - 用于监控、配置和查询记录的 Web API
            - 条件转发和客户端专属规则

            ## 许可证

            Apache-2.0 — [GitHub](https://github.com/0xERR0R/blocky)
    zh-TW:
        description: |
            Blocky 是一款快速輕量的 DNS 代理，可作為本地網路的廣告攔截器，具備多項進階功能。它提供用於配置和監控的 Web API，支援多個上游 DNS 解析器，並提供靈活的封鎖功能與可自訂的允許/拒絕清單。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 網域
              description: 用於存取 Blocky Web API 的網域
        readme: |
            # Blocky

            Blocky 是專為本地網路設計的 DNS 代理和廣告攔截器。它快速、輕量且高度可配置，支援多個上游 DNS 解析器、自訂封鎖清單和管理用的 Web API。

            ## 部署後你可以做什麼

            1. 設定裝置使用 Blocky 作為 DNS 伺服器以攔截廣告和追蹤器
            2. 透過連接埠 4000 存取 Web API 監控查詢和管理配置
            3. 設定自訂允許和拒絕清單，進行精細的網域封鎖
            4. 配置多個上游 DNS 解析器，支援故障轉移
            5. 監控 DNS 查詢統計和被封鎖的網域

            ## 主要功能

            - 快速輕量的 DNS 代理，具備廣告攔截能力
            - 支援多種上游 DNS 協定（DNS-over-HTTPS、DNS-over-TLS）
            - 靈活的封鎖功能，可自訂來自各種來源的封鎖清單
            - 用於監控、配置和查詢記錄的 Web API
            - 條件式轉發和客戶端專屬規則

            ## 授權條款

            Apache-2.0 — [GitHub](https://github.com/0xERR0R/blocky)
