What is ProFil ? - How does it work ? - Why could I need it ?


What is ProFil ?

ProFil is an HTTP proxy written in Java and equipped with some special filtering features.

ProFil can filter connections between a user-agent and an HTTP server depending on the URI of the document requested by the user-agent. It can for example filter a connection to disallow pictures or cookies, remove some HTTP headers that may reveal private information, remove scripts or applets, etc... , and all depending on with which server or for what URL the connection is made. ProFil's very flexible filtering structure even allows you to use ProFil for tunelling, or to design and add your own filters, with merely only your own imagination as a limit.


How does it work ?

ProFil manages a set of objects called SiteFilters, that you can build yourself through ProFil's Graphical User Interface. A SiteFilter is basically a group of filters that will be applied on all data (requests & replies headers as contents) going passing through a connection between your user-agent and a server. Each SiteFilter has a regular expression with which it tries to match the URI of documents requested through ProFil. Each time a match is found, ProFil will automatically apply the corresponding SiteFilter to all data passing through this connection. When no SiteFilter matches a connection, a default SiteFilter is used.

With this system,  you can define specific filters for each type of connection you are using, and this in a completly transparant way, since you only have to configure your user-agent (Netscape, IE, ...) to make it use ProFil as its proxy, and let ProFil do all the work.

ProFil offers you a wide variety of filters that can be applied to a connection. Here are some examples (rem: not all of them may be implemented in the beta release):


Why could I need ProFil ?

Here are some example of typical use case: