TCleanner

В разработке
Ищите по загруженной истории Telegram офлайн с помощью регулярных выражений на iPhone и iPad.
Поиск: регулярное выражение находит пароль от Wi-Fi, отправленный в чате, во встроенном демо-архивеШаблоны: сохранённые шаблоны поиска и встроенные — для паролей, одноразовых кодов, API-ключей, номеров карт, адресов почты и номеров телефоновУдаление: два выбранных сообщения и подтверждение, где названо точное количество и сказано, что они удаляются у всехКак это работает: принципы приватности в том виде, в каком приложение показывает их в НастройкахДиапазон дат: только сообщения до выбранной даты, готовые к удалению

Для чего это

Офлайн-поиск работает по уже загруженной истории. Для удаления нужно подключение к интернету; удалить сообщение у всех можно только там, где это разрешает Telegram.

В чатах остаётся всякое: пароль, отправленный в спешке, одноразовый код, API-ключ, номер карты, адрес. Собственный поиск Telegram найдёт слово, если вы помните, в каком чате оно было и в какой форме. TCleanner создаёт на устройстве простой индекс вашей истории и позволяет искать по всей истории сразу с помощью регулярного выражения, затем выбрать найденное и удалить — у всех, на всех устройствах, видя точное количество до удаления.

Приложение читает только ваш собственный аккаунт и никогда не отправляет сообщений. Оно индексирует ваши личные чаты и группы; каналы, на которые вы подписаны, индексируются, только если вы это включите.

Где данные

Сервера нет, как нет и аналитики, рекламы и трекеров. Единственные библиотеки — собственная TDLib от Telegram и локальная база данных GRDB. Индекс хранится в закрытом хранилище приложения и исключён из резервных копий. Сеанс хранится в зашифрованном каталоге данных TDLib, тоже закрытом и исключённом из резервных копий; ключ к нему — в Keychain с режимом «только на этом устройстве»: ключ может попасть в зашифрованную резервную копию устройства, но его нельзя восстановить на другом устройстве. Приложение обращается только к Telegram, как ваш клиент.

Те же шесть принципов есть в приложении, в разделе Настройки › Как это работает: на вашем устройстве; только Telegram; ничего третьим лицам; вы решаете, что удалять; ваш сеанс и индекс; диагностика — только если вы её экспортируете. Полный текст — в политике конфиденциальности.

Как это устроено

Нативное приложение для iPhone и iPad. Один Swift-пакет содержит домен и презентеры; SwiftUI отрисовывает снимок состояния и отправляет намерения обратно. К Telegram приложение обращается через TDLib с отключённой собственной базой сообщений, потому что индекс принадлежит этому приложению. Этот индекс — SQLite через GRDB, и поиск по нему — полный просмотр с ранней остановкой, а не словарный индекс: словарный индекс не может ответить на регулярное выражение.

Поведение описывается до того, как пишется код: одиннадцать спецификаций возможностей с исполняемыми сценариями, у каждого требования — замороженный идентификатор, на который ссылаются код и тесты. Тесты работают на тестовых реализациях с управляемыми часами. У проекта свой инструмент мутационного тестирования с целевым порогом 100%; его достигли все возможности. Индексация сама регулирует свой темп и продолжается после того, как приложение было принудительно закрыто. Удаление всегда у всех, всегда подтверждается точным количеством и никогда не выполняется по расписанию.

Статус

В App Store приложения пока нет. Встроенный демо-архив используется для разработки и тестирования без аккаунта Telegram. Исходный код закрыт.

трекер отзывов

Поддержка приложения и диагностика: support@kudravets.com. Общие вопросы: info@kudravets.com.

Неофициальное приложение. Использует Telegram API, не связано с Telegram.

Лицензии открытого ПО (на английском)

© 2026 Ilya Kudravets