Python подключиться к IRC через тор - PullRequest
0 голосов
/ 09 января 2019

Можно ли подключить IRC через тор?

Ниже мой код для подключения к IRC-серверу:

    connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    connection.connect((self.server, self.port))
    connection.send(
        'USER {nickname} {nickname} {nickname} {nickname}\n'.format(nickname=self.nickname).encode('utf-8')
    )
    connection.send('NICK {nickname}\n'.format(nickname=self.nickname).encode('utf-8'))

1 Ответ

0 голосов
/ 09 января 2019

подключение через SOCKS , которое Tor предоставляет , вероятно, самый простой способ.

библиотека Python PySocks у меня работает, установите с обычным:

pip install -U PySocks

затем выполните:

import socks

# assuming your Tor client is using the defaults
socks.set_default_proxy(socks.PROXY_TYPE_SOCKS5, 'localhost', 9150)

затем вы можете устанавливать TCP-соединения как обычно, используя класс socks.socksocket, что приведет к тому, что фактическое соединение будет проходить через Tor

import socket

with socks.socksocket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect(('chat.freenode.net', 6667))
    s.send('USER {0} {0} {0} {0}\r\n'.format(nickname).encode('utf8'))
    s.send('NICK {0}\r\n'.format(nickname).encode('utf8'))
    print(s.recv(4096).decode('utf8'))
...