mtcute/packages/crypto-node
2021-06-06 00:37:44 +03:00
..
lib fix typo 2021-05-10 22:57:09 +02:00
src build: preparing to publish 2021-06-06 00:37:44 +03:00
tests feat: node native addon for faster aes ige 2021-05-01 21:22:20 +03:00
.gitignore feat: node native addon for faster aes ige 2021-05-01 21:22:20 +03:00
binding.gyp feat: node native addon for faster aes ige 2021-05-01 21:22:20 +03:00
package.json build: fixed node native addon build 2021-05-16 15:50:31 +03:00
README.md feat: node native addon for faster aes ige 2021-05-01 21:22:20 +03:00
tsconfig.json feat: node native addon for faster aes ige 2021-05-01 21:22:20 +03:00

@mtcute/crypto-node

Native extension for NodeJS that improves performance of the most used cryptographic mode in Telegram (IGE), which is not implemented by OpenSSL.

Other modes used (i.e. CBC, CTR) and hashes are supported natively by OpenSSL, and they are faster than the custom implementation, so OpenSSL will be used for them.

Installation

You will need all the pre-requisites for node-gyp. Pre-built packages are currently not available.

Then, install the package as usual. The native library will be built automatically.

Usage

import { TelegramClient } from '@mtcute/client'
import { NodeNativeCryptoProvider } from '@mtcute/crypto-node'

const tg = new TelegramClient({
    ...,
    crypto: () => new NodeNativeCryptoProvider()
})

Acknowledgments

Based on pyrogram/tgcrypto