Skip to content
lumenpearsonPublic
forked from Storik4pro/cdpiui

About

Modern UI for Deep Packet Inspection bypass utils (Windows 10/11)

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

1,594 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StoreLogo

Добро пожаловать в CDPI UI — современный и мощный инструмент для управления популярными средствами изменения трафика (Zapret, TGWSProxy, ByeDPI, GoodbyeDPI и другие!).

Об этом форке

Это форк lumenpearson/cdpiui проекта Storik4pro/cdpiui. Он содержит исправления безопасности и надёжности, тесты и изменения архитектуры. История и авторство оригинального проекта сохранены.

Работа организована через доску разработки, этапы G1–G5, реестр аудита и Discussions. Указатель документации объединяет инструкции проекта; правила новых сообщений об уязвимостях описаны в SECURITY.md.

Разделы ниже сохраняют описание и ссылки оригинального проекта. Ссылка на последний релиз Storik4pro относится к upstream; готовность отдельного выпуска форка подтверждается этапом G5. Числа размера и памяти в исходном описании не являются новым измерением этой ветки.

Скриншоты изображение

Что изменилось?

GoodbyeDPI UI теперь CDPI UI. Изменилось не только название — приложение было переписано с нуля, что позволило снизить потребление оперативной памяти в фоне до 8 МБ, повысить стабильность работы приложения, сделать компонент GoodbyeDPI необязательным для установки. Помимо этого, приложение занимает всего 135 МБ на жёстком диске*.

Теперь компоненты и пресеты загружаются через Магазин — бесплатную площадку для скачивания компонентов с официального репозитория. Вы можете добавлять свои элементы в Магазин или скачивать уже существующие.

Автоматический подбор параметров запуска теперь работает стабильнее и имеет удобный интерфейс для формирования пресета сразу для нескольких списков сайтов.

Свои пресеты теперь можно переименовывать и добавлять в стандартный селектор — больше не придётся добавлять пресеты в селектор обходными путями или каждый раз выбирать новый JSON-файл.

Теперь можно делиться пресетами! Просто нажмите [Поделиться] рядом с селектором пресета и отправьте файл другу. Открыть такой файл можно двойным кликом.

Узнайте все новые возможности по ссылке cdpiui://AppFeatures. Требуется установленная последняя версия CDPI UI

* — конечный вес приложения зависит от установленных из Магазина элементов и количества личных данных пользователя

Установка

Ранее использовали GoodbyeDPI-UI? Обновление с этой версии уже доступно! CDPI UI загрузится через штатный механизм обновления, потребуется лишь нажать несколько кнопок для переноса настроек.
Ранее использовали другие решения? Просто перетащите файл .BAT или .TXT в область настройки компонента. Приложение автоматически импортирует файл, и вам останется только выбрать пресет в селекторе.

Системные требования

Параметр Минимальное значение
Оперативная память 100 МБ
Свободное место на жёстком диске 200 МБ
.NET .NET 8 Desktop Runtime (x64)
Операционная система Windows 10 версии 1809 (10.0.17763) и выше, x64

Шаги установки

  1. Скачайте последнюю версию CDPI UI на странице релизов
  2. Если вы скачали Setup.msi, установите приложение. Если вы скачали _portable.zip, распакуйте архив в предпочитаемую папку
  3. Откройте приложение CDPI UI, кликнув на исполняемый файл CDPIUI.exe или через ярлык в меню "Пуск"
  4. Откройте Магазин через страницу [Утилиты] (или перейдите по cdpiui://Store)
  5. Найдите и установите предпочитаемый вами компонент и набор пресетов
  6. Выберите компонент и пресет по умолчанию
  7. Запустите компонент, нажав на кнопку [▶️ Запустить]. При желании добавьте компонент в автозапуск системы.
  8. Закройте все лишние окна приложения — теперь приложение будет работать в фоновом режиме. Нажмите на иконку в системном лотке уведомлений или ещё раз нажмите на ярлык приложения, чтобы открыть главное окно
  9. Вы великолепны!

Полезные ссылки

Вклад

Сведения для разработчиков — сборка, устройство приложения и правила внесения изменений — собраны в CONTRIBUTING.ru.md. У каждого проекта решения есть свой README с подробностями; их список приведён в конце CONTRIBUTING.ru.md.

Как устроено приложение

CDPI UI состоит из двух процессов, которые обмениваются сообщениями через именованный канал (pipe):

Часть Учётная запись Назначение
Главное окно (CDPIUI.exe) Текущий пользователь, без повышения прав Окна приложения, Магазин, пресеты, дополнения и настройки
Трей (CDPIUI_TrayIcon.exe) Администратор Запуск и остановка компонентов, системный прокси, автозапуск, уведомления, условный запуск

Главное окно не запускает компоненты само: оно отправляет запрос трею, а трей запускает компонент и передаёт его состояние и вывод обратно. Трей принимает команды только от главного окна приложения и запускает файлы только из папки установки и папок данных CDPI UI. В установке MSI новую или изменённую программу вне папки установки трей запускает, только если это подписанный элемент Магазина или если пользователь подтвердил запуск.

Ещё две утилиты работают на .NET 8, как и трей, и поставляются одним файлом каждая: Update.exe устанавливает обновления приложения (.cdpipatch), EditHostFile.exe изменяет файл hosts с правами администратора. Трей и EditHostFile.exe запускаются с правами администратора через небольшую программу CDPIUI_ElevatedLauncher.exe (Native AOT): она убирает переменные среды .NET пользователя, чтобы они не могли подменить среду выполнения программ с правами администратора.

Сборка из исходного кода

Понадобятся Windows 10 или 11 (x64), Visual Studio 2022 с нагрузками для .NET Desktop и WinUI (или .NET 8 SDK и MSBuild) и PowerShell 7.

  1. Создайте файл секретов для локальной сборки: pwsh .github/scripts/create_secret_stub.ps1
  2. Соберите CDPI.sln для платформы x64
  3. Запустите CDPIUI.TrayIcon от имени администратора, затем CDPIUI от имени обычного пользователя

Полезные команды:

Задача Команда
Модульные тесты dotnet test CDPIUI.Tests/CDPIUI.Tests.csproj
Модульные тесты с покрытием кода dotnet test CDPIUI.Tests/CDPIUI.Tests.csproj -p:DebugType=portable --settings coverage.runsettings
Сборка портативной версии pwsh .github/scripts/build_portable.ps1
Проверка списка файлов установщика pwsh .github/scripts/check_setup_files.ps1
Сборка Setup.msi dotnet build NewSetup/NewSetup.wixproj -c Release -p:Platform=x64

Каждый push в ветки main, dev, dev/** и fix/** и каждый pull request проверяется в CI (.github/workflows/ci.yml): поиск секретов (gitleaks), сборка библиотек, тесты и проверка пакетов NuGet на известные уязвимости, сборка приложения и Setup.msi, сборка Update, EditHostFile и CDPIUI.ElevatedLauncher. Подробности — в CONTRIBUTING.ru.md.

Документация

Документация для разработчиков есть на русском и английском языках. В начале каждого документа есть ссылка на версию на другом языке.

Раздел Документ
Сборка, устройство и правила изменения кода .github/CONTRIBUTING.ru.md
Главное окно (WinUI 3) CDPIUI/README.ru.md
Общая логика: Магазин, компоненты, настройки CDPIUI.Core/README.ru.md
Каталог Магазина: формат, типы загрузки и проверки CDPIUI.Core/Store/README.ru.md
Язык условий LScript CDPIUI.Core/LScript/README.ru.md
Общие типы и безопасность CDPIUI.Shared/README.ru.md
Протокол обмена между окном и треем CDPIUI.Shared/Pipe/README.ru.md
Трей CDPIUI.TrayIcon/README.ru.md
Дополнения (BlockCheck2, GoodCheck, импорт и обмен пресетами, диагностика, hosts) CDPIUI.AddOns/README.ru.md
Модульные тесты CDPIUI.Tests/README.ru.md
Установка обновлений Update/README.ru.md
Редактор файла hosts EditHostFile/README.ru.md
Программа запуска с правами администратора CDPIUI.ElevatedLauncher/README.ru.md
Установщик MSI NewSetup/README.ru.md
CI, релизы и патчи .github/RELEASES.ru.md
Лицензии сторонних библиотек THIRD-PARTY-NOTICES.ru.md

Справка для пользователей встроена в приложение и доступна на русском и английском языках.

Благодарности

Особая благодарность создателям компонентов ValdikSS, bol-van, xvzc, GVCoder09, Flowseal и hufrea

А также:

Niko, MMaxX_ON, o2o, StafiLynx, Lux Fero, Lumenpearson, Leaftail1880, Nek0t, 🔭 и администрации сообщества ББД

About

Modern UI for Deep Packet Inspection bypass utils (Windows 10/11)

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages