Homogram is a 3rd-party Telegram client for HarmonyOS 5, driven by ArkTS/ArkUI (UI-layer) and Rust (native-layer).
This project is a hobby project and is not affiliated with either Telegram or Huawei.
NEWS: Starting from 2nd Dec, 2024, 出境易 provides a full-featured environment to download and use Android Apps. You can use the official Telegram client inside it's Android container.
- The
main
branch contains the latest most stable version of Homogram, though it may not be the most feature-rich, it will at least compile and run. (with as few bugs as possible) - The
dev
branch may contain bugs, incomplete features, and other issues. It is not guaranteed to compile or run.
- Login with phone number, authorizing with verification code and (optionally) password
- Loading chats and recent N messages
- Rendering text and photo preview in messages
- Sending text messages
- Adaptive dark/light mode
- Jump to reply in chat
- Message prefetching on scroll
- Full-screen view for medias
- Sending medias/files
- Reply to messages
- VOIP integration
- HMS Push Kit (depends on Telegram's server-side support tdlib/td#3057)
- Tons of features from official Telegram client...
- ...and even more!
A detailed Roadmap can be found in the Homogram Project page.
- A Windows or MacOS device which supports DecEco Studio and Rust toolchain.
- Tested on Mate 60 Pro ALN-AL80 5.0.0.107, OpenHarmony SDK 5.0.1.106 (API 13 Beta 3) and Rust 1.82.0. Other configurations may work but are not guaranteed.
- Clone the repository:
git clone https://github.com/HomoArk/Homogram.git --recursive
- Obtain your own api_id for your application.
- Fill out values into
features/home/src/main/rust/src/tg/config.rs
(there is a template fileconfig.rs.template
). - Setup Rust toolchain and ohos-rs for OpenHarmony: https://ohos.rs/docs/basic/quick-start.html
- Build the native library in
features/home/src/main/native/homogrape
:cargo xtask dist ../../../../libs/arm64-v8a/
- Correctly configure the signature information, and build the project in DevEco Studio.
- Enjoy! (Or not, because it's still very feature-incomplete and suboptimal)
PRs are welcome! Or you definitely want to fork this project and make your own version. Just don't forget to let me test if you implement something cool!
- grammers, a set of Rust libraries to interact with Telegram's API.
- ohos-rs, a
napi-rs
adaptation for OpenHarmony SDK. - 一多开发实例-即时通讯, a sample project for developing IM APPs on HarmonyOS Next.
These projects are the backbone of Homogram and without them, this project would not be possible. Tremendous thanks to all contributors!
This project is licensed under the Apache License, Version 2.0.