socks5Bind function

Future<void> socks5Bind(
  1. Socks5HandshakeReader reader,
  2. String targetHost,
  3. int targetPort, {
  4. String? username,
  5. String? password,
})

Performs the full SOCKS5 handshake via reader and binds its socket to targetHost:targetPort. The hostname is sent UNRESOLVED (ATYP 0x03) unless it is already an IP literal (ATYP 0x01/0x04).

Implementation

Future<void> socks5Bind(
  Socks5HandshakeReader reader,
  String targetHost,
  int targetPort, {
  String? username,
  String? password,
}) async {
  await socks5NegotiateAuth(
    reader,
    reader.add,
    username: username,
    password: password,
  );
  reader.add(socks5ConnectRequestBytes(targetHost, targetPort));
  await socks5ConsumeReply(reader);
}