Python 通过 tor 连接到 IRC
Python Connect to IRC via 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'))
通过 SOCKS that 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
class 正常建立 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'))
是否可以通过 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'))
通过 SOCKS that 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
class 正常建立 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'))