Proxies
MTProxy
Both TLS and non-TLS versions of MTProxy are supported by MTKruto. To connect a client to an MTProxy server, use transportProviderMtproxy when initializing it:
import { Client, transportProviderMtproxy } from "@mtkruto/mtkruto";
const proxyLink = "https://t.me/proxy?server=hostname&port=443&secret=00000000000000000000000000000000";
const client = new Client({
transportProvider: transportProviderMtproxy(proxyLink),
/* ... */
});
import { Client, transportProviderMtproxy } from "@mtkruto/node";
const proxyLink = "https://t.me/proxy?server=hostname&port=443&secret=00000000000000000000000000000000";
const client = new Client({
transportProvider: transportProviderMtproxy(proxyLink),
/* ... */
});
Credentials can also be specified manually:
const hostname = "hostname";
const port = 443;
const secret = new Uint8Array([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);
const transportProvider = transportProviderMtproxy(hostname, port, secret);
SOCKS5
SOCKS5 proxies are also supported through transportProviderSocks5:
import { Client, transportProviderSocks5 } from "@mtkruto/mtkruto";
const proxyLink = "socks5://user:pass@host:port";
const client = new Client({
transportProvider: transportProviderSocks5(proxyLink),
/* ... */
});
import { Client, transportProviderSocks5 } from "@mtkruto/node";
const proxyLink = "socks5://user:pass@host:port";
const client = new Client({
transportProvider: transportProviderSocks5(proxyLink),
/* ... */
});