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 …