monobogdan / microtg

Minimal Telegram client for various platforms powered by proxy-server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Русский

Что это?

microtg - это проект, реализующий возможность реализации Telegram-клиентов на кнопочных телефонах и смартфонах. Сам по себе, microtg - часть проекта "сам себе экосистема", где я сам пишу необходимые мне приложения для своих телефонов!

Концепция работы простая - сервер работает с TDLib, слушает события и посылает команды библиотеке, предоставляя клиентскому приложению REST-like API для работы с сообщениями. При этом сервер выдаёт данные в виде простых пар ключ-значение, которые легко и просто парсить даже кнопочных телефонах начала 2000х годов!

Таким образом, клиентское приложение просто реализует фронтэнд для чатов с сервера, без необходимости реализации MTProto или нюансов сети.

Безопасность

На данный момент, клиент-серверное сообщение происходит посредством plain/text посылок. Никакого шифрования пока нет, поэтому воздержитесь от использования microtg в открытых сетях! В качестве сессии используется md5 хэш из номера телефона, кода авторизации и псевдослучайного числа (криптографически небезопасного). Это сделано для того, чтобы сервер нельзя было найти сканером портов и для реализации какой-никакой авторизации, дабы не гонять plain/text пароль по сети :)

Как запустить?

Вам нужен сервер с белым IP (подойдет роутер, малинка, VDS за 180 рублей и т.п), бинарный дистрибутив TDLib (tdjson) и .NET Core. Запуск:

dotnet tdsrv.dll

Программа запросит номер телефона и код доступа к Telegram. Вводим их, программа сгенерирует ключ для авторизации из приложений. В клиентском приложении вводим IP нашего сервера с портом (сейчас 13377) и ключ авторизации. Готово!

About

Minimal Telegram client for various platforms powered by proxy-server

License:GNU General Public License v3.0


Languages

Language:C# 51.4%Language:Java 48.6%