Mithka 是一个基于 Flutter 开发的跨平台 Telegram 客户端,支持 iOS 和 Android。它通过 Dart FFI 接入 TDLib,连接真实 Telegram 网络,并提供自定义的移动端原生风格聊天界面。项目是非官方、独立实现,不隶属于 Telegram,需要开发者自行申请 Telegram API 凭证并自行构建或下载 TDLib 原生库。
适用领域
移动应用开发 / Flutter / 即时通讯 / Telegram 客户端 / TDLib 集成 / Dart FFI / 跨平台 iOS/Android / 社交应用 UI
配置难度
高。该项目不仅涉及 Flutter UI 和状态管理,还涉及 TDLib、Dart FFI、iOS/Android 原生库构建、多平台打包、Telegram API 凭证和即时通讯复杂业务逻辑。适合有 Flutter、移动端原生构建和 IM 系统经验的开发者。
商业价值
中到高。项目对于学习和验证 Flutter 构建复杂 IM 客户端、TDLib 集成、Telegram 生态工具开发具有较高技术价值。若用于商业化,需要重点评估 Telegram API 条款、非官方客户端合规性、数据安全、应用商店审核和开源授权问题。更适合作为技术原型、内部研究、UI/架构参考或特定 Telegram 工作流工具的基础,而不是直接作为成熟商业产品发布。
01
技术亮点
- 使用 Flutter 实现 iOS + Android 跨平台客户端。
- 通过 TDLib 连接真实 Telegram 账号和聊天数据。
- 通过 Dart FFI 调用 native libtdjson,具有较高工程参考价值。
- 支持较完整的消息能力,包括聊天列表、实时会话、反应、贴纸、动画贴纸、语音消息、投票、清单、位置分享、联系人、资料页、故事和 1:1 通话 UI。
- 界面偏移动端原生风格,使用 Cupertino/custom 组件,不依赖 Material 对话框、Snackbar 或 Switch。
- 支持明暗主题自适应。
- README 对构建流程、API 密钥、TDLib 构建和 CI 配置说明较清楚。
- 已有 TestFlight 测试版本,说明项目具备一定可运行成熟度。
02
目标用户
- Flutter 移动端开发者
- 希望学习 TDLib 集成的开发者
- 想开发 Telegram 第三方客户端的团队
- 对即时通讯 App 架构感兴趣的开发者
- 需要研究复杂聊天 UI、状态管理和多媒体消息处理的工程师
03
配置要求
- 必须配置 Telegram API 凭证:api_id 和 api_hash。
- 必须创建 lib/config/secrets.dart,该文件不会提交到 Git。
- 需要 TDLib 原生库 libtdjson:iOS 使用预构建 xcframework,Android 需要按 ABI 本地构建。
- Android Release 签名需要 android/key.properties 和 keystore。
- CI 环境需要配置 TELEGRAM_API_ID 和 TELEGRAM_API_HASH 仓库密钥。
- 需要遵守 Telegram Terms of Service 和 Telegram API Terms。
- 项目未声明明确开源许可证,商用或再分发前应谨慎确认授权风险。
04
适用场景
- 作为 Flutter + TDLib 的第三方 Telegram 客户端参考实现
- 学习如何在 Dart/Flutter 中通过 FFI 调用原生库
- 研究聊天列表、会话页、消息状态、贴纸、语音、投票、位置、联系人、故事等 IM 功能实现
- 基于现有代码二次开发自定义 Telegram 客户端
- 参考 iOS/Android 下 TDLib 原生库的构建与集成流程
- 学习 provider + ChangeNotifier 在复杂移动应用中的状态管理方式
05
部署与配置
- 安装 Flutter SDK,并准备 iOS 或 Android 开发环境。
- 从 https://my.telegram.org 申请 Telegram API 凭证,获得 api_id 和 api_hash。
- 在项目中创建 git 忽略的文件 lib/config/secrets.dart。
- 在 secrets.dart 中写入 Secrets 类,包括 apiId、apiHash 和 isConfigured。
- Android 构建 TDLib:运行 scripts/build-tdjson-android.sh arm64-v8a,生成 android/app/src/main/jniLibs/<abi>/libtdjson.so。
- iOS 准备 TDLib:运行 scripts/build-tdjson-ios.sh,下载 ios/tdjson/tdjson.xcframework。
- 运行 flutter pub get 安装 Dart/Flutter 依赖。
- 连接设备或启动模拟器,运行 flutter run。
- 如果要构建 Android Release 包,需要准备 android/key.properties 及对应 keystore;否则会使用 debug 签名。
06
风险与注意事项
- 这是非官方 Telegram 客户端,不受 Telegram 官方认可或支持。
- 需要使用个人或团队自己的 Telegram API 凭证,使用不当可能违反 Telegram API 条款。
- TDLib 原生库构建和 FFI 集成复杂,尤其 Android 多 ABI 构建可能带来环境问题。
- 项目没有在仓库元数据中声明 license,二次开发、商用、再发布存在法律和授权不确定性。
- 作为第三方客户端,账号安全、数据隐私、合规审查需要开发者自行承担。
- Telegram 协议、TDLib 行为或平台审核政策变化可能影响可用性。
- iOS 分发涉及 App Store/TestFlight 政策,第三方 Telegram 客户端可能面临审核风险。
- 仓库 stars 约 197、forks 4,社区规模不大,长期维护稳定性需要进一步观察。
2026-06-29
第23名
新收录 · github_search
2026-06-28
第24名
新收录 · github_search
2026-06-27
第26名
新收录 · github_search