SocksSvc LogoSocksSvc v1.07

 

Welcome to SocksSvc, a collection of freeware MFC classes to implement a simple Socks server.

The idea behind SocksSvc was originally to learn about the Socks protocol and how it is implemented on Win32.

For detailed information about the Socks Protocol you should read RFC 1928 (Socks 5), RFC 1929 (Username / Password authentication for Socks 5) and the Socks 4 specification.

Please note that SocksSvc is only meant as a simple tutorial on writing server side TCP applications and it should not be treated as code which is an enterprise grade socks proxy. For that I would suggest the user look at something like Squid which is a HTTP proxy or Dante.

 

The classes which constitute SocksSvc are:

CSocksServerSettings: This class contains the settings which are used to configure the Socks server. Example member variables in this class include the port to listen on and the valid protocols to support. If you are developing a stand alone socks server based on SocksSvc, you could for example store all the variables for the CSocksServerSettings instance in an ini file or in the registry.

CSocksServer: This is the actual class which implements the Socks server. It has a number of very simple functions to allow you to control the state of the socks server such as Start and Stop. Internally a background thread is spun off to handle the client connections.

CSocksClient: This class is used in the CSocksServer class to handle client connections. It handles the parsing of client requests and returning the appropriate response. A number of virtual functions are provided to allow end user customisation.

Various other help classes and structures are provided including a number of classes I have already developed independent of SocksSvc.

 

 

Features
Copyright
Usage
History
Contacting the Author

 

 

 

Features

 

 

 

Copyright

 

 

 

Usage

 

 

 

History

V1.07 (30 November 2017)

V1.06 (10 February 2017)

V1.05 (15 January 2007)

V1.04 (13 February 2006)

V1.03 (7 September 2005)

V1.02 (13 January 2004)

V1.01 (3 March 2003)

V1.0 (19 February 2003)

 

 

 

Contacting the Author

PJ Naughter
Email: pjna@naughter.com
Web: http://www.naughter.com
30 November 2017