Easy Nodejs server app for Telegram Mobile Protocol (MTProto) in pure javascript on the Node.js platform
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 Easy-MTProto use JSMTProxy as the kernel.
Get the easy-mtproto
and install all dependencies:
$ git clone --branch=master https://github.com/sadra/EasyMTProto
$ cd EasyMTProto
$ npm install
Modify the config.json
parameters to what ever thing you want:
{
"port": 5665,
"secret":"b0cbcef5a486d9636472ac27f8e11a9d",
"server": "10.10.10.10",
"indexPort": 8080
}
Params | Propose |
---|---|
port | The port of MT Protocol |
secret | Secret code for MT Protocol. It must be 32 characters and contains numbers & just a,b,c,d,e,f for symbols) |
server | Your server IP |
indexPort | Port for index page of app |
channel | Your sponsored channel ID (for public channels |
First of all install nodemon
on you global path: nodemo
and then run it with nodmeon
$ nodemon emtproto.js
First of all install pm2
tool: pm2
and then run it with nodmeon
$ pm2 start emtproto.js -i max
$ pm2 list
Before start anything the client mus be updated: telegram download
You can share the proxy within a link.
structure:
https://t.me/proxy?server=SERVER_ADDRESS&port=PORT&secret=SECRET_KEY&@YOUR_CHANNEL_ADDRESS`
example:
https://t.me/proxy?server=10.10.10.10&port=5665&secret=b0cbcef5a486d9636472ac27f8e11a9d&@EasyMTProxy
You can get the link from index of your app on your server:
SERVER_ADDRESS:INDEX_PORT //example http://10.10.10.10:8080
The project is released under the Apache License 2.0