client.TcpHandler = (address, port) =>
{
    var proxy = new Socks5ProxyClient(
        proxyHost, proxyPort, proxyUsername, proxyPassword);
    return System.Threading.Tasks.Task.FromResult(
        proxy.CreateConnection(address, port));
};
await client.LoginUserIfNeeded();

Użyj istniejącego WTelegram.Client i zaimportuj wybraną zgodną bibliotekę SOCKS. proxyHost, port i konto identyfikują pośrednika; address/port lambdy to cele żądane przez WTelegram.

CreateConnection musi zwrócić połączony TcpClient po negocjacji z proxy. Samo osiągnięcie portu proxy nie zapewnia tego przekazania.

Przykład korzysta z synchronicznej metody biblioteki. Wywołanie połączenia nadal blokuje, nawet gdy jego wynik jest opakowany w Task.FromResult; w razie potrzeby użyj obsługiwanej metody asynchronicznej.

Zachowaj handler również dla późniejszych połączeń, nie tylko logowania. Uwierzytelnianie konta Telegram pozostaje oddzielne od konta SOCKS.

Powiązane artykuły