класс SOCKSSocket
SOCKS — это интернет-протокол, который маршрутизирует пакеты между клиентом и сервером через прокси-сервер. SOCKS5, если поддерживается, дополнительно предоставляет аутентификацию, чтобы только авторизованные пользователи могли получить доступ к серверу.
Публичные методы класса
new(host, port) → socket Показать исходный код
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);
} Открывает подключение SOCKS к host через SOCKS-сервер.
Конфигурация SOCKS-сервера зависит от реализации.
При использовании реализации Dante libsocks/libsocksd она настраивается как переменная среды SOCKS_SERVER.
См. manpages.debian.org/testing/dante-client/socksify.1.en.html для поддержки всех переменных среды.
# File lib/resolv-replace.rb, line 73 def initialize(host, serv) original_resolv_initialize(IPSocket.getaddress(host), port) end
Публичные методы экземпляра
static VALUE
socks_s_close(VALUE sock)
{
rb_io_t *fptr;
GetOpenFile(sock, fptr);
shutdown(fptr->fd, 2);
return rb_io_close(sock);
} Закрывает подключение SOCKS.
Ruby Core © 1993–2020 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.