Class: Net::SSH::Proxy::SOCKS5

Class | Net::SSH::Proxy::SOCKS5
In: | lib/net/ssh/proxy/socks5.rb
Parent: | Object

An implementation of a SOCKS5 proxy. To use it, instantiate it, then pass the instantiated object via the :proxy key to Net::SSH.start:

      require 'net/ssh/proxy/socks5'

      proxy = Net::SSH::Proxy::SOCKS5.new('proxy.host', proxy_port,
        :user => 'user', :password => "password")
      Net::SSH.start('host', 'user', :proxy => proxy) do |ssh|
        ...
      end

### Methods

new open

### Constants

VERSION | = | 5 |  | The SOCKS protocol version used by this class
METHOD_NO_AUTH | = | 0 |  | The SOCKS authentication type for requests without authentication
METHOD_PASSWD | = | 2 |  | The SOCKS authentication type for requests via username/password
METHOD_NONE | = | 0xFF |  | The SOCKS authentication type for when there are no supported authentication methods.
CMD_CONNECT | = | 1 |  | The SOCKS packet type for requesting a proxy connection.
ATYP_IPV4 | = | 1 |  | The SOCKS address type for connections via IP address.
ATYP_DOMAIN | = | 3 |  | The SOCKS address type for connections via domain name.
SUCCESS | = | 0 |  | The SOCKS response code for a successful operation.

### Attributes

options | [R] | The map of options given at initialization
proxy_host | [R] | The proxy‘s host name or IP address
proxy_port | [R] | The proxy‘s port number

### Public Class methods

new(proxy_host, proxy_port=1080, options={})

Create a new proxy connection to the given proxy host and port. Optionally, :user and :password options may be given to identify the username and password with which to authenticate.

### Public Instance methods

open(host, port)

Return a new socket connected to the given host and port via the proxy that was requested when the socket factory was instantiated.

[Validate]