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();

Використовуйте наявний WTelegram.Client та імпортуйте вибрану сумісну бібліотеку SOCKS. proxyHost, порт і обліковий запис позначають посередника; address/port лямбди — адресати, запитані WTelegram.

CreateConnection має повернути підключений TcpClient після узгодження з проксі. Самого досягнення порту проксі недостатньо для такого передавання.

Приклад використовує синхронний метод бібліотеки. Виклик з’єднання продовжує блокувати, навіть якщо результат обгорнуто в Task.FromResult; за потреби використовуйте підтримуваний асинхронний метод.

Збережіть обробник і для подальших з’єднань, а не лише входу. Автентифікація облікового запису Telegram залишається окремою від облікового запису SOCKS.

Схожі статті