Как заставить irc-клиент с скрученной базой подключаться через socks-прокси?

Я использую markov сетевой irc-бот на основе Twisted. Прокси-сервер Socks может быть замазан, прослушивая порт 22. Добавление следующего кода к вышеуказанному клиенту (в верхней части py-файла) не помогло:

import socks, socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,
    'localhost', 22)
socket.socket = socks.socksocket

Принимая во внимание, что это решило проблему при использовании SimpleIRCClient из irclib, однако irclib не соответствует другим требованиям.

Спасибо.


person rok    schedule 09.10.2013    source источник
comment
Подождите, это не помогло, и это решило проблему? Какие еще требования у вас есть?   -  person Dour High Arch    schedule 10.10.2013
comment
Например, периодические задания. периодические задачи с irc-клиентом Согласно этому сообщению, скрученный клиент лучше для периодических задач.   -  person rok    schedule 10.10.2013


Ответы (2)


Используйте клиентскую библиотеку socks — https://github.com/habnabit/txsocksx.

person Jean-Paul Calderone    schedule 09.10.2013

Спасибо, Жан-Поль Кальдероне. У меня сработал следующий код.

from twisted.internet.endpoints import TCP4ClientEndpoint 
from txsocksx.client import SOCKS5ClientEndpoint

if __name__ == "__main__":
    chan = "django-hotclub"
    chain_length = 5

    myID = sys.argv[1]
    counterpartID = sys.argv[2]

    puttyEndPoint = TCP4ClientEndpoint(reactor, '127.0.0.1', 22)
    ircEndpoint = SOCKS5ClientEndpoint('irc.freenode.net', 6667, puttyEndPoint)
    d = ircEndpoint.connect(MomBotFactory('#' + chan, myID, counterpartID, chain_length, chattiness=0.05))
    reactor.run()
person rok    schedule 12.10.2013