I’m working for a small ISP and I’m trying to figure out how I can add a frame window to all websites that all users on our network see, so that we can promote faster speeds / notify users of downtime. I’ve seen this done by some ISPs, where they add a frame at the top of a website that you can opt out of, and I’m curious to know how this could be accomplished. So far, my best guess is that:
- Some sort of proxy system (SQUID?) is involved that rewrites HTML or appends to html code as it comes through
- -or- Some sort of firewall system handles the traffic
- -or- Something like an actual web proxy handles everything. (Apache’s mod_proxy?)
- -or- A captive portal?
Is there any kind of automated solution for all this? Also, are there open source projects that might accomplish something like this? I saw PacketFence, but I’m not looking to authenticate end users.
Edit:
I want a NON-PERMANENT solution, something that can occur temporarily. I don’t want to permanently add a bar to the top of everyone’s website.
Answer
Of the options you listed a captive portal seems like the least evil. With a captive protal you aren’t framing content, you simply use DNS/DHCP hacks to redirect the user to your own web site when they attempt to visit a page.
There are many guides on the Interwebs about how to setup a captive portal system.
Most of the common Linux firewall distributions support a captive portal setup. This is commonly used for WIFI hotspots, schools, hotel networks, and so on.
Messing around with trying to add a frame is generally considered to be needlessly intrusive these days. I believe there where even some lawsuits in the past against ISPs that tried to do this.
Attribution
Source : Link , Question Author : Timothy , Answer Author : Zoredache