I have recently distributed my WiFi network with highpseed antennas to my area which covers almost 300-400 peoples. I am not charging them anything but i would like to generate some revenue through Advertisements placed on the websites that they visit.

Is it possible to display ads from Google (I know i can do redirect the Advertisements, using some cache server or firewall) .

Its just like a free vpn but i would like to have my advertisements above the websites they visit so i can take out the cost for the WiFi that i offer.

Any suggestions would be great!

  • 26
    If you want/need to make money you should just charge them a tiny fee for access. Otherwise, drop this. It's a bad idea. May 26, 2014 at 19:29
  • 13
    Hope your ISP doesn't find out your making (ad) money off redistributing their service. That's a big no-no in most cases. Like "Knock knock -- Hi, we're from the ISP's law office, here's your cease and desist order" type trouble. May 26, 2014 at 19:33
  • 4
    What's your legal liability if your neighbours download child pornography over the network you're making available to them? May 26, 2014 at 22:08
  • 1
    @Chipperyman: I explained in a comment on one of the answers some of the things that could go wrong. In addition, providing modified versions of the content that users access (at least morally, and hopefully legally) nullifies his status as a common carrier. For example, as David mentioned, if one of his neighbors is downloading CP, his machines would be actively fetching, modifying, and re-serving the pages containing CP rather than just passing through packets. May 26, 2014 at 22:15
  • 3
    I would instead have a kind of splash page with adverts on it, along with terms and conditions and an "I Agree" button. That way you help CYA plus you can show some adverts, but not interfere with their normal browsing. May 27, 2014 at 4:14

6 Answers 6


I highly advise you don't do this as it will most likely lead to a backlash.

That being said, if you want to, this will not work on SSL sites unless you also get everyone to download a custom SSL root certificate (which I really do not recommend you do), but, for standard HTTP, all you need to do is stick a proxy on your router to basically add a bit of content to each page.

This isn't an easy thing to do, but, to get a basic idea on the concept, I recommend you take a look here to a guy who made people's images flip... It should put you on the right track.

  • 1
    Nice trick! I didn't know this but glad I do now!
    – Kinnectus
    May 26, 2014 at 18:09
  • this is a good trick indeed.
    – Ahsan
    May 26, 2014 at 18:31
  • 17
    As an aside/additional reason not to do this, modifying the data returned by an HTTP request can introduce serious and far-reaching corruption. Imagine a non-expert updating their website who downloads their own page, modifies it, and uploads the resulting html file back to their server via ftp. You've now trashed their data; your modifications inadvertently make it back out into the wild. There are plenty of other variants on this theme. May 26, 2014 at 19:27
  • 2
    @R..: If the pages are all wrapped in a frame, then it won't trash anything. May 27, 2014 at 12:42
  • Why would it likely lead to a backlash?
    – DBedrenko
    May 27, 2014 at 15:16

You can use dark ways to spoof and change (inject) the contents.
It will require powerful hardware if you want to change 300-400 people's traffic simultaneously.


  • Google Ads and a lot of other ad-services will not work (its illegal).
  • Site owners may sue you because you change their site content.
  • Assuming that ad-services will see only 1 IP* (router's IP) for all 300-400 people, they will most likely block your ad accounts. So there's no way of using ad-services at all (except your own ad-service).
  • Wait for 300-400 people from FBI next day and get ready to explain why you spoofed a lot of traffic.

However you can think about white ways, for example, create a start-page for your connection and add there your own ads (again, ad-services will not work). It's legal if your ISP lets you do it.

*probably you will not buy and assign 300-400 IPs to all your clients.

  • Any ideas for the startup page? I have 2-4 dynamic IP's that are providing internet to the users above. What is the best way to show the startup page for once?
    – Ahsan
    May 26, 2014 at 18:30
  • @Ahsan do you have your own ad-service ?)
    – Jet
    May 28, 2014 at 9:22
  • I do not own a Personal Ad-Service but i do own some websites, and i own a Valid Google AdSense account for those websites.
    – Ahsan
    May 28, 2014 at 15:20
  • No, as I mentioned, Google AdSense will not work, or you will get banned after some days.
    – Jet
    May 28, 2014 at 16:11

You're not going to be able to put anything above the pages they access easily. What about those that connect with not a browser? Or if they connect with their own VPN. The traffic won't cause any ads. One thing you can do is create a captive portal that they have to go through a number of pages before the connection is created by your hotspot.

  • Thats a concern too aswell, what if i use some firewall like Kerio Winroute or WinGate, is it possible to modify the content then?
    – Ahsan
    May 26, 2014 at 18:24
  • Not VPN or SSL content because that is why it is designed the way it is. Think about many of the cafes, supermarkets and public transport public wifis. They use captive portals and people don't always mind if the end result is Internet. You could even do a one-time payment system, or a paid "ad-free" service where their device will bypass any adds when they connect. Ypu could then use, say, PayPal.
    – Kinnectus
    May 26, 2014 at 19:04

You can. But please don't.

All you would need to do is put a proxy on your server and modify each page that comes through, injecting one of your ads in to it. It's not terrible hard to do.

But the problems:

  1. It will only work over HTTP and other non-encrypted protocols
  2. Your users will hate you
  3. Tech-savvy users will simply use an SSH tunnel (or a VPN) to make even HTTP traffic encrypted, then you have no way of injecting ads.

So yeah, this is a bad idea which will make people not like you, and the people that will use your WiFi most will probably know of tunneling. So either a user is angry at you or you make no money off them.

  • There are some ways of doing it for HTTPS too (and other protocols which use SSL).
    – Jet
    May 28, 2014 at 9:37

I agree that it's a terrible idea.

With that said, here's a way you can do it....
I've never used it, but I have seen on various distributions of the DD-WRT firmware for routers you can have an ad automatically inserted in for you. I don't know the details of how it works, but would probably be a lot easier then setting up your own separate proxy and rerouting everything manually as this would take place directly at the router.

Others have mentioned people getting around it using VPN's, DD-WRT can for the most part prevent these.

enter image description here

There's a demo of the dd-wrt setup here.

You can buy some Routers with DD-WRT already on them, others are advertised as Compatible. For a complete list of devices that support it, go here, you may already have a router that supports it. There are some very good directions on how to change your firmware from stock to DD-WRT, but you will still need a little technical skill and knowledge.

Depending on what router you have or get, DD-WRT can unlock all sorts of potential if it's a powerful enough router. I recently turned a router into a 'wireless bridge' to connect my bluray player to the internet instead of running a cable from my office to the living room or spending $80 on a usb dongle for it.


The only "polite" solution that would display ads on (almost) every page would be to insert the ads via frames; basically run as a transparent proxy that creates a frameset with your ad in a frame at the top and the page content in a frame below. Alternatively, a captive portal page that displays a few ads and terms of service would work, and be far less intrusive/offensive to many users.

You may wish to disable VPN access so people can't circumvent it that way; I'm not sure how it's done, but I know it can be done at least partially (the free WiFi on my commuter train doesn't allow me to connect to PPTP VPN, but I can still connect to OpenVPN, for example).

You will also have to permit HTTPS pass-through, due to the certificate issue, so users browsing solely HTTPS sites (e.g. checking their GMail) would not see ads... but if they wandered off to other sites, your ads would show up.

  • They may be able to block the VPN by blocking certain known protocol ports or ip addresses?
    – dave k
    May 27, 2014 at 19:29
  • Imagine web without Google, Youtube, Facebook, mail services, social sites and ask yourself: are you sure, do you want to disable HTTPS?
    – Jet
    May 28, 2014 at 9:41
  • I never said anything about disabling/blocking HTTPS...
    – Doktor J
    May 28, 2014 at 16:28

Not the answer you're looking for? Browse other questions tagged or ask your own question.