aykutalparslan / Ferrite

Experimental Telegram Server
GNU Affero General Public License v3.0
157 stars 25 forks source link
mtproto server telegram telegram-server

Project Ferrite (Telegram Server)

Project Ferrite is an implementation of the Telegram Server API in C# and this repo records it's work-in-progress. Development is focused on implementing must have features before the first release.

What works?

The following are the features that are implemented and working so far:

Debugging the server

Debugging previously required an infrastructure comprised of Redis, Cassandra, MinIO and ElasticSearch. Currently however Ferrite has a pluggable storage system and local data stores based on RocksDB, FASTER and Lucene are implemented as well as an in-memory cache so we won't need that infrastructure for debugging.

Roadmap

A planned refactor is currently in progress(There's a release with the latest commits before this). After the refactor, more unit and integration tests will be added before continuing development. Future development will focus on getting the Android application to run in a stable state and the planned order of steps to achieve that are:

After the Android application is working as expected the development will focus on the iOS application and then the Desktop and Web applications. Basic features are planned to be implemented in the beginning. After all this the next planned steps are:

Contributions

The project is not open to contributions at this point unless they are very trivial bug fixes with only a couple of lines. It is planned to open the project to contributions after the first stable release.

License

Project Ferrite is licensed under GNU AGPL-3.0

Special Thanks