返回首页

Monogram:基于 Compose 和 TDLib 的 Telegram 客户端

Monogram —— 基于 Kotlin 和 Jetpack Compose 的开源 Android Telegram 客户端。使用 TDLib 实现 MTProto、Material Design 3 和 MapLibre。热门 fork 的风险研究显示俄罗斯数据和 Firebase 问题。

开源 Monogram:Android 上无单体结构的 Telegram
Advertisement 728x90

## Monogram:基于 Kotlin 和 Jetpack Compose 的开源 Android Telegram 客户端

开发者发布了 Monogram——一款非官方的 Android Telegram 客户端。该项目使用 Kotlin、Jetpack Compose 和 TDLib。代码在 GitHub 上以 GPLv3 许可发布。该客户端专注于原生 Material Design 3、高性能以及最低资源消耗。作者强调活跃开发、频繁更新,但可能存在 bug。

创建该项目的动机源于官方客户端的问题:过于复杂的单体代码、源码发布延迟,以及有争议的重设计,该设计融入了 iOS 元素,如背景模糊和半透明效果。Monogram 通过确保透明度和遵守 Android 标准来解决这些问题。

技术基础与关键特性

网络、MTProto 和端到端加密由 C++ 编写的 TDLib 处理。客户端逻辑使用现代 Android 工具构建,以优化性能。

Google AdInline article slot

关键特性:

  • 使用 Jetpack Compose 和 Material Design 3 构建 UI:内置媒体组件减少 CPU/GPU 负载。
  • 使用 MapLibre 渲染地图和地理数据。
  • 会话保护:使用系统生物识别进行本地保护。

这带来了流畅的动画效果,并比单体替代方案更省电。

流行替代客户端的风险

RKS Global 的研究发现了 8 个客户端的漏洞。大多数客户端将数据发送到俄罗斯,或使用 Firebase Analytics,违反官方 Telegram 政策。

Google AdInline article slot

测试项目:

  • Telegram Official。
  • Telegram X。
  • Plus Messenger。
  • Nekogram。
  • Graph Messenger。
  • Telega。
  • iMe。
  • F-Droid (Forkgram, Mercurygram)。

问题:

  • Telega、Graph Messenger、iMe 将数据发送到俄罗斯服务器。
  • Plus Messenger、Graph Messenger、iMe、Nekogram 包含 Firebase Analytics(Google 会跟踪使用情况)。
  • 广告 SDK:Graph Messenger(6 个)、iMe(15+ 个)、Plus Messenger(1 个)。Telega 和 iMe 中有 VK 痕迹。
  • Telega 将 MTProto 服务器替换为其在俄罗斯联邦的代理服务器。

官方客户端禁用了 Firebase,但分支版本重新启用了它。

Google AdInline article slot

关键点

  • Monogram 使用 TDLib 实现安全的 MTProto,避免自定义代理。
  • 完全遵守 Material Design 3,不抄袭 iOS 风格。
  • 以 GPLv3 开源,确保透明度。
  • 资源使用最小化:Compose + 原生组件。
  • 活跃开发,但存在 bug——针对中高级开发者。

开发者前景

该项目非常适合在真实场景中学习 Jetpack Compose。架构模块化,不像官方的单体结构。MapLibre 集成展示了无需供应商锁定的 Google Maps 替换方案。

对贡献者:重点关注 TDLib 集成的性能和生物识别。测试 MTProto 边缘情况至关重要,因为分支版本饱受批评。

— Editorial Team

Advertisement 728x90

继续阅读