class SOCKSSocket
SOCKS is an Internet protocol that routes packets between a client and a server through a proxy server. SOCKS5, if supported, additionally provides authentication so only authorized users may access a server.
Public Class Methods
new(host, port) → socket
click to toggle source
Opens a SOCKS connection to host
via the SOCKS server.
The SOCKS server configuration varies by implementation
When using the Dante libsocks/libsocksd implementation it is configured as SOCKS_SERVER env var.
See: manpages.debian.org/testing/dante-client/socksify.1.en.html for full env variable support.
static VALUE socks_init(VALUE sock, VALUE host, VALUE port) { static int init = 0; if (init == 0) { SOCKSinit("ruby"); init = 1; } return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil, Qnil); }
new(host, serv)
click to toggle source
# File lib/resolv-replace.rb, line 73 def initialize(host, serv) original_resolv_initialize(IPSocket.getaddress(host), port) end
Public Instance Methods
close()
click to toggle source
Closes the SOCKS connection.
static VALUE socks_s_close(VALUE sock) { rb_io_t *fptr; GetOpenFile(sock, fptr); shutdown(fptr->fd, 2); return rb_io_close(sock); }