I would like to make an HTTP/S proxy program to filter/deny certain http traffic based on how I parse the HTTP request in C++.
Is there some kind of starting point code that I can use with an open license for commercial use? For example if I wanted to do a project on searching I would start with lucene.
Have a look at Squid (developers section).
nginx is a high performance HTTP/S server written in C that can be used as a proxy.
It has a easy to use module system for which you can write plugins. You should consider using an existing parser like Ragel to help you on the filtering side.
It is licensed under a BSD-like license which is fine for commercial use.
You can't see the request at a proxy for HTTPS traffic - SSL is specifically designed to prevent this.
You could terminate the SSL connection at the proxy but would need to either rewrite all the URLs in the content to be non-SSL before passwing back to the client or install your skae oil CA Cert on all the clients and generate certificates on the fly.
If you just want to play around with HTTP, then SQUID alreay has hooks built-in to implement your own filtering mechanism.
C.