класс SOCKSSocket
SOCKS — это интернет-протокол, который маршрутизирует пакеты между клиентом и сервером через прокси-сервер. SOCKS5, если поддерживается, дополнительно предоставляет аутентификацию, чтобы только авторизованные пользователи могли получить доступ к серверу.
Методы класса
Исходный код
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, Qfalse, Qnil);
} Открывает подключение SOCKS к host через SOCKS-сервер.
Настройка SOCKS-сервера варьируется в зависимости от реализации.
При использовании реализации Dante libsocks/libsocksd она настраивается как переменная среды SOCKS_SERVER.
См.: manpages.debian.org/testing/dante-client/socksify.1.en.html для полной поддержки переменных среды.
Методы экземпляра
Исходный код
static VALUE
socks_s_close(VALUE sock)
{
rb_io_t *fptr;
GetOpenFile(sock, fptr);
shutdown(fptr->fd, SHUT_RDWR);
return rb_io_close(sock);
} Закрывает подключение SOCKS.
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.