MTProto is the Telegram Messenger protocol "designed for access to a server API from applications running on mobile devices".
The Mobile Protocol is subdivided into three components (from the official site):
High-level component (API query language): defines the method whereby API queries and responses are converted to binary messages.
Cryptographic (authorization) layer: defines the method by which messages are encrypted prior to being transmitted through the transport protocol.
Transport component: defines the method for the client and the server to transmit messages over some other existing network protocol (such as, http, https, tcp, udp).
telegram-mt-node in short..
The telegram-mt-node library implements the Mobile Protocol and provides the following features:
Both TCP and HTTP connections implemented in the transport layer
A cipher implementation for AES and RSA encryption in the security layer
Both plain-text and encrypted message to communicate data with the server
Diffie-Hellman key exchange supported by the prime factorization function implemented in the security layer
telegram.link main project depends by this library.
$ git clone --branch=master git://github.com/enricostara/telegram-mt-node.git $ cd telegram-mt-node $ npm install
$ npm test
You can find an example where take an auth key on the fly and ask what is the nearest DataCenter:
$ npm run-script example
telegram-tl-node: a Telegram TypeLanguage library
get-log: a Node.js Logging Utility, easy to use and ready for production.
The project is released under the Mit License