Как AdGuard использует GitHub, чтобы оставаться прозрачным и понятным
В AdGuard мы ежедневно боремся за то, чтобы сделать интернет более безопасным, удобным и прозрачным. Это стремление отражается не только в функциях продуктов и строгой политике конфиденциальности, но и в том, что мы стараемся максимально открыто рассказывать о своей работе. Это включает в себя активное взаимодействие с нашим сообществом.
Именно поэтому у всех наших продуктов открытые репозитории — онлайн-пространства, где любой может увидеть, над чем мы работаем, сообщить о проблемах непосредственно разработчикам AdGuard и даже внести свой вклад в наши проекты с открытым исходным кодом. Репозитории охватывают наши приложения для блокировки рекламы, фильтры, браузерные расширения, DNS-решения, VPN-инструменты, утилиты для разработчиков и многое другое. Существуют различные платформы, которые предлагают такую функциональность, но самая популярная — это GutHub, и все проекты AdGuard хранятся именно там.
В этой статье мы перечислили наиболее важные репозитории по категориям, кратко описали назначение каждого из них и объяснили, как они могут быть полезны пользователям.
Что такое Github и репозитории
GitHub можно представить как своего рода Google Docs для кода, где несколько человек могут работать над одним проектом, отслеживать изменения и видеть, кто внёс какие обновления. Это облачное хранилище для кода, доступное из любого места. Здесь также есть инструменты для командной работы, позволяющие просматривать и комментировать все изменения, исправлять ошибки и объединять результаты работы разных участников.
GitHub широко используется для разработки, особенно в проектах с открытым исходным кодом, позволяя любому просматривать код, предлагать улучшения и вносить свой вклад.
Репозиторий (или «репа» на разработчецком жаргоне) — это самый базовый элемент GitHub. Это место, где вы можете хранить свой код, файлы и историю изменений каждого файла. У репозиториев может быть несколько соавторов, они могут быть как публичными, так и частными.
С чего начать
Ссылки на ключевые репозитории можно найти ниже в этой статье или посетив общую страницу AdGuardTeam на GitHub, чтобы увидеть полный список. В большинстве репозиториев вы можете:
-
Просматривать файл README на главной странице: он знакомит вас с продуктом и его репозиторием
-
Просматривать существующие отчёты об ошибках или запросы на добавление функций, оставлять комментарии и голосовать за них
-
Создавать задачи (issues), чтобы сообщать об ошибках или предлагать новые функции
-
Просматривать информацию о предыдущих версиях и их списки изменений
-
Устанавливать любую из предыдущих версий, включая бета-версии
Примечание: если вы новичок на GitHub, вам нужен аккаунт, чтобы создавать новые задачи и комментировать существующие.
В репозиториях с открытым исходным кодом опытные пользователи также могут:
- Просматривать код, чтобы понять логику продукта: какие технологии используются и как они реализованы
- Создавать форки (т. е. клоны репозитория в собственном GitHub-пространстве) и предлагать свои изменения с помощью пул-реквестов
Будь вы обычным пользователем, техническим экспертом или разработчиком, AdGuard рад участию всех, кому это интересно.
Блокировщик AdGuard
В этих репозиториях пользователи могут:
- Просматривать и сообщать об ошибках или запросах на добавление функций через GitHub-задачи
- Проверять списки изменений, отслеживать историю выходов версий и следить за обновлениями
- Скачивать предыдущие версии и бета-сборки (кроме iOS)
AdguardForAndroid
Репозиторий AdGuard для Android — приложения с системной блокировкой рекламы.
AdguardForiOS
Репозиторий AdGuard для iOS — блокировщика контента Safari с DNS- и пользовательскими фильтрами и открытым исходным кодом.
AdguardForWindows
Репозиторий AdGuard для Windows (нет открытого исходного кода; GitHub используется для отслеживания ошибок).
AdguardForMac
Репозиторий AdGuard для Mac — независимый блокировщик контента macOS. Только для отслеживания ошибок.
AdguardBrowserExtension
Репозиторий Браузерного расширения AdGuard — для блокировки рекламы и защиты личных данных в Chrome, Firefox, Opera и Edge.
AdguardForSafari
Репозиторий AdGuard для Safari — расширения, блокирующего рекламу в Safari на Mac, с открытым исходным кодом.
AdGuardCLI
Репозиторий AdGuard для Linux — интерфейса командной строки для управления блокировкой рекламы.
AdGuard VPN
В этих репозиториях пользователи могут:
- Сообщать об ошибках или предлагать новые функции через задачи GitHub, а также просматривать уже существующие задачи
- Проверять списки изменений, отслеживать историю выходов версий, следить за обновлениями
- Скачивать предыдущие версии и бета-сборки (кроме iOS)
AdGuardVPNForiOS
Репозиторий AdGuard VPN для iOS. Служит для отслеживания багов.
AdGuardVPNForAndroid
Репозиторий AdGuard VPN для Android. Служит для отслеживания багов.
AdGuardVPNForWindows
Репозиторий AdGuard VPN для Windows. Служит для отслеживания багов.
AdGuardVPNForMac
Репозиторий AdGuard VPN для Mac — приложение для macOS.
AdGuardVPNExtension
Репозиторий Браузерного расширения AdGuard VPN.
AdGuardVPNCLI
Репозиторий AdGuard VPN для Linux — интерфейса командной строки для управления VPN-соединением. Служит для отслеживания багов.
Продукты на базе DNS
AdGuardDNS
Репозиторий с открытым исходным кодом, который также используется для отслеживания ошибок и проблем, связанных с сервисом AdGuard DNS. Пользователи могут:
- Сообщать об ошибках DNS
- Предлагать улучшения
AdGuardHome
Репозиторий AdGuard Home — бесплатного ПО для блокировки рекламы и трекеров на уровне сети при помощи DNS. Пользователи могут:
- Сообщать об ошибках или предлагать новые функции
- Просматривать код и предлагать свои изменения
- Скачивать и устанавливать предыдущие сборки
Документация и Базы знаний
Мы создавали Базы знаний, чтобы помочь пользователям лучше понять и использовать AdGuard. В них подробно описаны все продукты AdGuard: от обзора функций и руководств по решению проблем до инструкций по настройке и документации по API. В репозиториях пользователи могут:
- Предлагать исправления или правки к статьям
- Предлагать новые статьи
- Запускать локальные версии Баз знаний
KnowledgeBase
Центральная документация Блокировщика рекламы AdGuard и связанных с ним технологий.
KnowledgeBaseDNS
Подробный обзор функций, руководства по устранению неполадок и документация по AdGuard DNS (как публичному, так и личному), AdGuard Home и всему, что с ними связано.
KnowledgeBaseVPN
Подробный обзор функций и руководства по устранению неполадок в AdGuard VPN.
KnowledgeBaseMail
Подробный обзор функций и руководства по устранению неполадок в AdGuard Mail.
Ключевые библиотеки
AdGuardCoreLibs
Кроссплатформенный движок фильтрации AdGuard. Используется в продуктах для Android, Windows и Mac. Пользователи могут:
- Изучать логику фильтрации и работу DNS
- Сообщать об ошибках и предлагать новые функции посредством создания задач (issues), вносить свой вклад в код через «пулл-реквесты» (pull requests)
DNSLibs
DNS-библиотека, используемая CoreLibs и AdGuardHome. Пользователи могут:
- Просматривать и вносить свой вклад в реализацию низкоуровневых DNS-настроек
- Предлагать улучшения
VPNLibs
Общая база кода, используемая в продуктах AdGuard VPN на всех платформах для реализации протокола AdGuard VPN. Пользователи могут:
- Вносить свой вклад в работу VPN-стека
- Сообщать о проблемах с производительностью и ошибках или просматривать их
Ключевые технологии блокировки и фильтрации рекламы
AdguardFilters
Содержит основные фильтры AdGuard. Пользователи могут:
- Просматривать и скачивать фильтры
- Создавать задачи, чтобы сообщать о ложных срабатываниях или предлагать новые правила
- Отслеживать обновления логики фильтров
AdGuardSDNSFilter
Репозиторий фильтра AdGuard DNS — основного фильтра на уровне DNS, используемого в AdGuard DNS и в функциях DNS-фильтрации. Пользователи могут:
- Просматривать текущий набор правил
- Предлагать изменения или дополнения
AGLint
Линтер для синтаксиса фильтров Adblock. Пользователи могут:
- Установить AGLint для проверки своих проектов на наличие проблем с правилами
- Вносить свой вклад в правила линтера
Scriptlets
Помощники JavaScript, используемые в правилах фильтрации. Пользователи могут:
- Изучать доступные скрипты
- Отправлять запросы на добавление новых скриптов
tsurlfilter
Библиотека блокировщика контента TypeScript для браузерных расширений. Пользователи могут:
- Изучать, как реализована логика фильтрации
- Вносить исправления и предлагать новые функции
Это ещё не всё
Выше мы перечислили 27 основных публичных репозиториев AdGuard из 96. Если вы хотите углубиться в тему, то можете найти их все на странице AdGuardTeam GitHub.
Будем ждать ваших отчётов об ошибках и предложений новых функций! Будьте в безопасности онлайн и офлайн.