Support for the Ruby 2.4 series has ended. See here for reference.

In Files

  • socket/sockssocket.c




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, serv) => socket click to toggle source

Opens a SOCKS connection to host via the SOCKS server serv.

               static VALUE
socks_init(VALUE sock, VALUE host, VALUE serv)
    static int init = 0;

    if (init == 0) {
        init = 1;

    return rsock_init_inetsock(sock, host, serv, Qnil, Qnil, INET_SOCKS);

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