TCP Transport
The default transport for all runtimes is WebSocket. Although, you can make clients running in Node.js and Deno use raw TCP.
Node.js
For Node.js, you first have to install @mtkruto/transport-provider-tcp
.
pnpm add @mtkruto/transport-provider-tcp
yarn add @mtkruto/transport-provider-tcp
npm install @mtkruto/transport-provider-tcp
After that, you can use transportProviderTcp()
.
const { Client } = require("@mtkruto/node");
const { transportProviderTcp } = require("@mtkruto/transport-provider-tcp");
const client = new Client({
storage,
apiId,
apiHash,
transportProvider: transportProviderTcp(),
/* other params */
});
import { Client } from "@mtkruto/node";
import { transportProviderTcp } from "@mtkruto/transport-provider-tcp";
const client = new Client({
storage,
apiId,
apiHash,
transportProvider: transportProviderTcp(),
/* other params */
});
Deno
Projects using Deno can directly import transportProviderTcp()
from deno.land/x.
import { Client } from "https://deno.land/x/mtkruto@0.1.800/mod.ts";
import { transportProviderTcp } from "https://deno.land/x/mtkruto@0.1.800/transport/3_transport_provider_tcp.ts";
const client = new Client({
storage,
apiId,
apiHash,
transportProvider: transportProviderTcp(),
/* ... */
});
Parameters
IPv6
To connect via IPv6, set ipv6
to true
.
transportProvider({
ipv6: true,
/* other params */
});
Obfuscation
To enable transport obfuscation, set obfuscated
to true
.
transportProvider({
obfuscated: true,
/* other params */
});
The above parameters are available to both runtimes.
SOCKS5 Proxy
You can connect to Telegram through a SOCKS5 proxy like this:
transportProvider({
proxy: {
type: "socks5",
hostname: "proxyhostname", /* required */
port: 8000, /* optional */
username: "username", /* optional */
password: "password", /* optional */
},
/* other params */
})
SOCKS5 proxy is available only to Deno as of now.