Documentation
Explore comprehensive documentation for all components of the Ad-Blocking Toolkit.
Core Documentation
- /compiler-comparison/
Rules Compiler Comparison This guide helps you choose the right rules compiler for your use case. All compilers produce identical output and support the same configuration schema. Quick Comparison…
- /configuration-reference/
Configuration Reference All rules compilers in this repository use the same configuration schema based on @adguard/hostlist-compiler. Supported Formats Format Extension Library JSON .json Native YAML…
- /docker-guide/
Docker Guide This guide covers using Docker for development with the ad-blocking toolkit. Docker Development Environment The repository includes a pre-configured Docker environment with all necessary…
- /getting-started/
Getting Started This guide will help you get up and running with the ad-blocking toolkit. Prerequisites Core Requirements Requirement Version Purpose Installation Deno 2.0+ TypeScript compilers and…
User Guides
- /guides/api-client-examples/
AdGuard DNS API Client - Code Examples This document provides practical examples using the refactored helper classes. Configuration Examples Using ConfigurationHelper DateTime Helper Examples Working…
- /guides/api-client-usage/
AdGuard DNS API Client - Usage Guide This C# client library provides a strongly-typed interface to the AdGuard DNS API (v1.11). Overview The AdGuard DNS API Client was generated from the official…
- /guides/consoleui-architecture/
AdGuard ConsoleUI Architecture This document describes the architecture and design patterns used in the AdGuard.ConsoleUI application. Overview AdGuard.ConsoleUI is a menu-driven console application…
- /guides/deployment-guide/
Deployment Guide Comprehensive guide for deploying ad-blocking components in production environments. Overview This guide covers deployment strategies for all components in the ad-blocking repository…
- /guides/migration-guide/
Migration Guide Guide for migrating between different compiler implementations and SDK versions in the ad-blocking repository. Overview This guide helps you migrate between: Different rules compiler…
- /guides/testing-guide/
Testing Guide Comprehensive guide to running tests for all components in the ad-blocking repository. Overview This project uses different testing frameworks for each language implementation: Component…
- /guides/troubleshooting-guide/
Troubleshooting Guide Comprehensive guide for troubleshooting common issues across all components in the ad-blocking repository. Overview This guide provides solutions for common issues you may…
- /guides/typescript-api-sdk/
TypeScript API SDK Guide A comprehensive guide to using the AdGuard DNS TypeScript API SDK with Deno 2.0+. Overview The TypeScript API SDK provides a complete, type-safe interface to the AdGuard DNS…
- /guides/typescript-rules-compiler/
TypeScript Rules Compiler Guide A comprehensive guide to using the TypeScript rules compiler with Deno 2.0+. Overview The TypeScript rules compiler is a Deno-based implementation that wraps @adguard…
API Documentation
- /api/AccessTokenErrorResponse/
AdGuard.ApiClient.Model.AccessTokenErrorResponse Properties Name Type Description Notes Error string [optional] ErrorCode string [optional] ErrorDescription string [optional] [Back to Model list…
- /api/AccessTokenResponse/
AdGuard.ApiClient.Model.AccessTokenResponse Properties Name Type Description Notes AccessToken string [optional] ExpiresIn int RefreshToken string [optional] TokenType string [optional] [Back to…
- /api/AccountApi/
AdGuard.ApiClient.Api.AccountApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description GetAccountLimits GET /oapi/v1/account/limits Gets account limits GetAccountLimits…
- /api/AccountLimits/
AdGuard.ApiClient.Model.AccountLimits Account limits Properties Name Type Description Notes AccessRules Limit DedicatedIpv4 Limit Devices Limit DnsServers Limit Requests Limit UserRules Limit…
- /api/AuthenticationApi/
AdGuard.ApiClient.Api.AuthenticationApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description AccessToken POST /oapi/v1/oauth_token Generates Access and Refresh token…
- /api/DNSServer/
AdGuard.ApiClient.Model.DNSServer Properties Name Type Description Notes Default bool DeviceIds List<string> Id string Name string Settings Object [Back to Model list] [Back to API list] [Back to…
- /api/DNSServerCreate/
AdGuard.ApiClient.Model.DNSServerCreate Properties Name Type Description Notes Name string Settings Object [optional] [Back to Model list] [Back to API list] [Back to README]
- /api/DNSServersApi/
AdGuard.ApiClient.Api.DNSServersApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description CreateDNSServer POST /oapi/v1/dns_servers Creates a new DNS server…
- /api/DedicatedIPAddressesApi/
AdGuard.ApiClient.Api.DedicatedIPAddressesApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description AllocateDedicatedIPv4Address POST /oapi/v1/dedicated_addresses/ipv…
- /api/DedicatedIPv4Address/
AdGuard.ApiClient.Model.DedicatedIPv4Address Properties Name Type Description Notes DeviceId string [optional] Ip string [Back to Model list] [Back to API list] [Back to README]
- /api/Device/
AdGuard.ApiClient.Model.Device Properties Name Type Description Notes DeviceType string DnsAddresses Object DnsServerId string Id string Name string Settings Object [Back to Model list] [Back to…
- /api/DeviceCreate/
AdGuard.ApiClient.Model.DeviceCreate Properties Name Type Description Notes DeviceType string DnsServerId string Name string [Back to Model list] [Back to API list] [Back to README]
- /api/DeviceUpdate/
AdGuard.ApiClient.Model.DeviceUpdate Properties Name Type Description Notes DeviceType string [optional] DnsServerId string [optional] Name string [optional] [Back to Model list] [Back to API list…
- /api/DevicesApi/
AdGuard.ApiClient.Api.DevicesApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description CreateDevice POST /oapi/v1/devices Creates a new device GetDevice GET /oapi/v…
- /api/ErrorResponse/
AdGuard.ApiClient.Model.ErrorResponse Properties Name Type Description Notes ErrorCode string Fields List<Object> Message string [optional] [Back to Model list] [Back to API list] [Back to README]
- /api/FilterList/
AdGuard.ApiClient.Model.FilterList Properties Name Type Description Notes FilterId string [optional] Name string [optional] Description string [optional] [Back to Model list] [Back to API list…
- /api/FilterListsApi/
AdGuard.ApiClient.Api.FilterListsApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description ListFilterLists GET /oapi/v1/filter_lists Gets filter lists ListFilterLists…
- /api/Limit/
AdGuard.ApiClient.Model.Limit Entity of the limit Properties Name Type Description Notes VarLimit int Max count Used long Used count [Back to Model list] [Back to API list] [Back to README]
- /api/QueryLogApi/
AdGuard.ApiClient.Api.QueryLogApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description ClearQueryLog DELETE /oapi/v1/query_log Clears query log GetQueryLog GET /oapi/v…
- /api/QueryLogResponse/
AdGuard.ApiClient.Model.QueryLogResponse Properties Name Type Description Notes Items List<Object> [optional] Pages List<Object> [optional] [Back to Model list] [Back to API list] [Back to README]
- /api/StatisticsApi/
AdGuard.ApiClient.Api.StatisticsApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description GetTimeQueriesStats GET /oapi/v1/stats/time Gets time statistics…
- /api/TimeQueriesStatsList/
AdGuard.ApiClient.Model.TimeQueriesStatsList Properties Name Type Description Notes Stats List<Object> [optional] [Back to Model list] [Back to API list] [Back to README]
- /api/WebService/
AdGuard.ApiClient.Model.WebService Properties Name Type Description Notes Id string [optional] Name string [optional] IconSvg string [optional] [Back to Model list] [Back to API list] [Back to…
- /api/WebServicesApi/
AdGuard.ApiClient.Api.WebServicesApi All URIs are relative to https://api.adguard-dns.io Method HTTP request Description ListWebServices GET /oapi/v1/web_services Lists web services ListWebServices…
Technical Documentation
- /DENO_CONFIG/
Shared Deno Configuration This repository uses a centralized Deno configuration pattern to ensure consistency across all Deno-based projects. Overview Similar to how .NET projects use Directory.Build…
- /AGENTS/
Repository Guidelines Project Structure & Module Organization data/ contains the tracked filter list (data/output/adguard_user_filter.txt) and compiler configuration files. src/ contains the multi…
- /ENVIRONMENT_VARIABLES/
Environment Variables Reference Comprehensive guide to environment variables supported by AdGuard scripts and modules. Overview All AdGuard scripts and modules support environment variables for…
- /ENVIRONMENT_VARIABLE_MIGRATION/
Environment Variable Migration Guide Overview The ad-blocking repository has standardized on a single, universal environment variable format that works consistently across all programming languages…
- /LINEAR_DOCUMENTATION/
Ad-Blocking Repository - Linear Documentation Project Overview A comprehensive, multi-component ad-blocking solution designed for network-level ad, tracker, and malware blocking. This repository…
- /PHASE2_IMPLEMENTATION/
Phase 2: Shell Reorganization + Environment Variables Status: IN PROGRESS This document tracks the implementation of Phase 2 of the PowerShell/Shell modernization project. Completed ✅ Directory…
- /README/
Documentation This directory contains comprehensive documentation for the ad-blocking repository. Quick Links Document Description Why Validation Matters 🔒 Start Here - Understand why security…
- /RESTRUCTURING_SUMMARY/
Repository Restructuring Summary Overview This document summarizes the repository structure improvements made to consolidate and organize the ad-blocking multi-language monorepo according to 202…
- /RUNTIME_ENFORCEMENT/
Runtime Enforcement of Validation Library Overview Runtime enforcement ensures that validation is always performed, even if a developer tries to bypass it. This is achieved through: Mandatory wrapper…
- /RUST_MODERNIZATION_SUMMARY/
Rust Workspace Modernization - Summary Overview This document summarizes the modernization of Rust projects in the ad-blocking repository. All Rust projects have been unified into a single workspace…
- /RUST_WORKSPACE/
Rust Workspace This directory contains a unified Rust workspace for all Rust projects in the ad-blocking repository. Projects The workspace includes the following crates: 1. adguard-validation (src…
- /TEST_UPDATES_SUMMARY/
.NET Unit Test Updates - Summary Report Overview Updated all .NET unit tests to ensure they compile and pass. Added additional tests to improve code coverage. Test Results All Tests Passing ✅ Project…
- /TYPESCRIPT_TYPE_DEFINITIONS/
TypeScript Type Definitions (.d.ts) Generation Overview This document describes the implementation of .d.ts type definition file generation for all TypeScript projects in the repository. Why .d.ts…
- /VALIDATION_ENFORCEMENT/
Validation Library Integration Requirements This document defines the mandatory integration requirements for all rules compilers to ensure consistent security validation across the codebase…
- /WARP/
WARP.md This file provides guidance to WARP (warp.dev) when working with code in this repository. Project scope This repo houses multiple sub-projects: TypeScript/Deno filter compiler and API client…
- /WHY_VALIDATION_MATTERS/
Why Validation Matters: Protecting Your Network and Privacy For Everyone: This document explains why our validation system is essential for keeping your network safe and your data private. Written for…
- /centralized-package-management/
Centralized Package Management Overview The repository uses Central Package Management (CPM) to manage all NuGet package versions from a single Directory.Packages.props file located at the repository…
- /centralized-package-migration-summary/
Centralized Package Management - Migration Summary Problem Statement Question: "Where is the centralized package system?" Answer: There wasn't one - until now! This document details the migration from…
- /centralized-package-quick-reference/
Centralized Package Management - Quick Reference 📍 Location The centralized package system is NOW at: 🎯 Quick Facts Total Packages Managed: 57 Projects Using It: All 12 .NET projects Version…
- /chunking-guide/
Parallel Chunking for Large Filter Lists This guide explains the parallel chunking feature available in the rules compilers for improved performance when processing large filter lists. Overview When…
- /event-pipeline/
Event Pipeline and Zero-Trust Validation This guide explains the event pipeline system available in all rules compilers for monitoring compilation progress and implementing zero-trust validation…
- /oop-refactoring-next-steps/
OOP PowerShell Refactoring - Next Steps Completed Work Phase 1: Common Shared Module ✅ Created src/powershell-modules/Common/ module (738 lines) CompilerLogger.psm1 (224 lines) - Structured logging…
- /release-guide/
Release Guide This guide explains how to create a new release of the ad-blocking repository with automatically built binaries. Overview The repository uses GitHub Actions to automatically build and…