# `ProxyCommand` support

class paramiko.proxy.ProxyCommand(command_line)

  Wraps a subprocess running ProxyCommand-driven programs.

  This class implements a the socket-like interface needed by the `Transport` and `Packetizer` classes. Using this class instead of a regular socket makes it possible to talk with a Popen’d command that will proxy traffic between the client and a server hosted in another machine.

  Instances of this class may be used as context managers.

  __init__(command_line)

    Create a new CommandProxy instance. The instance created by this class can be passed as an argument to the `Transport` class.

    Parameters:

      command_line (str) – the command that should be executed and used as the proxy.

  recv(size)

    Read from the standard output of the forked program.

    Parameters:

      size (int) – how many chars should be read

    Returns:

      the string of bytes read, which may be shorter than requested

  send(content)

    Write the content received from the SSH client to the standard input of the forked command.

    Parameters:

      content (str) – string to be sent to the forked command