Si quieres una solucion rapida puedes usar el componente TIdHTTPProxyServer de Indy. Solo es colocarlo y activarlo y ya tienes un proxy funcionando.
Pero si lo que quieres es hacer uno tu desde cero, entonces la cosa se complica mas. En principio un proxy funcina de una forma muy similar a un servidor web, esta escuhando por un puerto y recibe los comandos (Get, Post, Head, Connect) y devuelve un archivo. La diferencia entre el servidor y el proxy es que el proxy descarga los archivos de internet antes de mandarselos al cliente.
Espero haberme explicado.
Entonces podemos partir de un servidor web ya montado (el IdHttpServer o cualquier otro) y añadirle las funciones necesarias para convertirlo en un Proxy. Pero si lo que quieres es hacerlo desde cero, sera mejor que te busques informacion sobre como manejar sockets y aqui te dejo una lectura interesante el
protocolo http para que le eches un vistazo.