npm install telegram-mt-node
Telegram Mobile Protocol (MTProto) unofficial library in pure javascript on the Node.js platform
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).
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
- MTProto TL-Schema compilation as javascript classes and functions via telegram-tl-node dependency
width="20" /> telegram.link main project depends by this library.
``bash`
$ git clone --branch=master git://github.com/enricostara/telegram-mt-node.git
$ cd telegram-mt-node
$ npm install
`bash`
$ npm test
You can find an example where take an auth key on the fly and ask what is the nearest DataCenter:
`bash``
$ 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.
- jsbn: a portable implementation of large-number math in pure JavaScript,
enabling public-key crypto and other applications on desktop and mobile browsers.
- bigint-node: the Leemon Baird BigInteger javascript library ported to Node.js
- node-cryptojs-aes: A minimalist port of cryptojs javascript
library to node.js, that supports AES symmetric key cryptography
The project is released under the Mit License
[npm-url]: https://www.npmjs.org/package/telegram-mt-node
[npm-image]: https://badge.fury.io/js/telegram-mt-node.svg
[travis-url]: https://travis-ci.org/enricostara/telegram-mt-node
[travis-image]: https://travis-ci.org/enricostara/telegram-mt-node.svg?branch=master
[coverage-url]: https://coveralls.io/r/enricostara/telegram-mt-node?branch=master
[coverage-image]: https://img.shields.io/coveralls/enricostara/telegram-mt-node.svg
[climate-url]: https://codeclimate.com/github/enricostara/telegram-mt-node
[climate-image]: https://codeclimate.com/github/enricostara/telegram-mt-node/badges/gpa.svg
[sauce-url]: https://saucelabs.com/u/telegram-mt-node
[sauce-image]: https://saucelabs.com/browser-matrix/telegram-mt-node.svg