What is ProFil ?
- How does it work ?
- Why could I need it ?
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.
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):
- Picture Filter : stop all requests for pictures
- CGI Filter : stop all requests to CGI scripts
Basic Script from downloaded HTML pages
- Applet Filter : remove applets from downloaded
- HTTP Header Filter : automaticaly remove some
- Cookie Filter : remove cookie related headers,
thus stopping cookies
- HTTP Tunnel : create a tunnel between to ProFil
- Crypted Tunnel : crypt data over the previous
- Offline Browser : save on disk every page
browsed during a session
- HTTP Sniffer : log all the headers/contents
passing through a connection
| Why could I need
Here are some example of typical use case:
- You are using a modem connection, and thus want to disallow
picture downloading to spare your bandwidth. But for one special site, you
want to see the pictures automaticaly. You could for this setup your web browser
in order to disable automatic pictures downloading, then enable it when you
connect to this specific site. Or you can use ProFil: just edit the default
SiteFilter and configure it to disallow pictures requests, then create a SiteFilter
matching the domain name of your special site. Let this SiteFilter allow pictures.
ProFil will now download pictures for you only when you are getting them from
the site you have authorized, and will otherwise stop all requests.
- You are trying to connect an HTTP server, but for some reason,
your compagny's proxy refuse to let you contact it. Assuming that you have
at your disposal a ProFil server outside your compagny's local network, you
can setup ProFil to automaticaly use a ProFil tunnel (eventualy crypted) to
connect to this HTTP server, thus bypassing your compagny's proxy, while continuing
using it normaly for any other connection.
- You are concerned about your anonymity, and would like your
user-agent to provide as few information as possible about you, or you would
like to automatically use Proxy Chaining while surfing the web. Just setup
ProFil for that !