SOCKS and HTTP Proxy Component for .NET/Mono

Free, opensource, easy to use .NET 2.0 Component for creating client side proxy connections to SOCKS and HTTP proxy servers.  Provides a managed code library giving developers the ability to traverse firewalls using proxy servers from within their own .NET applications.

Download

Change Log

Issue Tracker

Browse Source Code

Documentation

License

  • Free software with permissive MIT license - no GPL restrictions.
  • Easy to add proxy capabilities to any existing .NET projects that use the standard System.Net.SocketsTcpClient class.  Returns a standard TcpClient object once the proxy connection has been established.
  • Multiple VB.NET and C# examples.
  • Connects to SOCKS v4, SOCKS v4a, SOCKS v5, and HTTP proxy servers.
  • Factory and abstraction support via the ProxyClientFactory class and IProxyClient interface.
  • Use as a DLL or add the source code directly to your project.
  • Implements the new Microsoft Asynchronous Model so you can just fire and forget asynchronous calls (no Begin/End needed).
  • Integrated Visual Studio.NET help documentation.
  • Written in 100% managed C# code.
  • Requires .NET 2.0, 3.0, or 3.5.
Example:
   // create an instance of the client proxy factory
   ProxyClientFactory factory = new ProxyClientFactory();
          
   // use the proxy client factory to generically specify the type of proxy to create
   // the proxy factory method CreateProxyClient returns an IProxyClient object
   IProxyClient proxy = factory.CreateProxyClient(ProxyType.Http, "localhost", 6588); 
  
   // create a connection through the proxy to www.starksoft.com over port 80
   TcpClient conn = proxy.CreateConnection("www.starksoft.com", 80);