I recently forked twisted-socks to add SOCKS 5 support for my GoogleScraper in order to scraper Google pages asynchronously. Obviously I needed SOCKS5 support to anonymize the parallel requests such that I can scrape more pages simultaneously.
I tested the code for SOCKS4 and SOCKS4a with a local TOR proxy and
twistd -n socks
and the SOCKS5 protocol with the dante socks proxy
server on my VPS. So I guess the
basic functionality should be working by now. GSSAPI (Kerberos)
support is planned.
Here is the socksclient code, which is also available on my github repository:
# Copyright (c) 2011-2013, The Tor Project
# See LICENSE for the license.
# Updated on 25.01.14-28.01.14 to add SOCKS 5 support.
# Cleaned some parts of the code and abstracted quite a bit to handle the most important SOCKS5
# functionality like
# - username/password authentication
# - gssapi authentication (planned)
# - CONNECT command (the normal case, there are others: UDP ASSOCIATE and BIND, but they aren't as important. Maybe I will add them
# in the future. If anyone wants to implement them, the basic structure is already here and the SOCKSv5ClientProtocol should be
# rather easy extensible (how the actual connection, listening for incoming connections (BIND) and …
Continue reading