mtcute/packages/crypto-node
teidesu 280c9f51aa build: preparing to publish (part 2)
fixed imports, package.json files, improved package generation for certain packages, and more (i'm too lazy to describe all the magic that i've done)
2021-06-06 19:23:43 +03:00
..
lib fix typo 2021-05-10 22:57:09 +02:00
src build: preparing to publish (part 2) 2021-06-06 19:23:43 +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: preparing to publish (part 2) 2021-06-06 19:23:43 +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