TCleanner

开发中
在 iPhone 和 iPad 上使用正则表达式离线搜索已下载的 Telegram 历史。
搜索:在内置的演示存档中,正则表达式找到了一条聊天里发送的 Wi-Fi 密码模板:保存的搜索模式,以及用于密码、一次性验证码、API 密钥、卡号、电子邮件和电话号码的内置模式删除:两条已选中的消息,以及写明确切数量、说明将为所有人删除的确认框工作原理:应用在设置中展示的隐私原则日期范围:只显示截至所选日期的消息,准备删除

它是做什么的

离线搜索仅针对已下载的历史。删除消息需要互联网连接,且只有在 Telegram 允许的情况下才能为所有人删除消息。

人们会在聊天里留下各种东西:匆忙发出的密码、一次性验证码、API 密钥、卡号、地址。Telegram 自带的搜索能找到一个词,前提是您记得它在哪个聊天里、用的是什么形式。TCleanner 在设备上为您的历史建立一个简单的索引,让您一次性对全部内容运行真正的正则表达式,然后选中找到的内容并删除——为所有人删除,在每一台设备上,而且在任何内容被删除之前,确切的数量就摆在您面前。

它只读取您自己的账户,从不发送消息。它为您的私人聊天和群组建立索引;您订阅的频道只有在您开启相应选项后才会被索引。

数据在哪里

没有服务器,也没有分析、广告或跟踪器。仅使用的库是 Telegram 自己的 TDLib 和本地数据库 GRDB。索引存放在应用的私有存储中,不包含在备份中。会话保存在 TDLib 加密的数据目录中,同样是私有的、不包含在备份中;其密钥存放在 Keychain 中,以“仅限此设备”的方式保存:它可能出现在加密的设备备份中,但无法恢复到其他设备。应用作为您的客户端,只与 Telegram 通信。

同样的六条原则也在应用的“设置 › 工作原理”中:在您的设备上;只有 Telegram;不向第三方提供任何内容;删除什么由您决定;您的会话与索引;诊断信息仅在您自己导出时才会离开应用。完整内容见隐私政策。

它是怎样构建的

一款原生的 iPhone 和 iPad 应用。一个 Swift 包承载领域逻辑和展示器;SwiftUI 渲染状态快照并把意图发回。应用通过 TDLib 连接 Telegram,并关闭了 TDLib 自己的消息数据库,因为索引由本应用自己掌管。该索引是通过 GRDB 使用的 SQLite,用可提前停止的全量扫描来搜索,而不是用词索引:词索引无法回答正则表达式。

行为在写代码之前先写下来:十一份带有可执行场景的能力规格,每条需求都有一个固定的 ID,代码和测试都引用它。测试运行在可控制时间的测试实现之上。项目有自己的变异测试工具,目标是 100%;所有能力都已达到。建立索引会自行控制节奏,应用被强制退出后也能继续。删除始终为所有人删除,始终以确切数量确认,绝不定时执行。

现状

尚未上架 App Store。内置演示存档用于在没有 Telegram 账户的情况下进行开发和测试。源代码不公开。

反馈跟踪页

应用支持和诊断:support@kudravets.com。一般咨询:info@kudravets.com。

非官方应用。使用 Telegram API,与 Telegram 无关联。

开源许可(英文)

© 2026 Ilya Kudravets