Python通过Tor连接到IRC

时间:2019-01-09 15:13:10

标签: python sockets python-3.5 irc tor

是否可以通过Tor连接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 :(得分:2)

通过SOCKS连接Tor exposes可能是最简单的方法。

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)

然后您可以使用socks.socksocket类正常进行TCP连接,这将导致实际连接通过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'))