Gargoyle Router – A Not So Ugly Solution to Bandwidth Monitoring and Quotas – Mini Review

We use affiliate links. If you buy something through the links on this page, we may earn a commission at no cost to you. Learn more.

Gargoyle Mainscreen

GARGOYLE- [gahr-goil] NOUN – a grotesquely carved figure of a human or animal

Gargoyle Router  is an alternative firmware for a number of different routers that allows you to monitor bandwidth usage by user  and set and enforce bandwidth quotas on particular users.

Let me preface this review with a warning. I’m an alternate firmware junkie. Any device I’ve got that has an alternative firmware available has been flashed.  My HTC Desire was flashed straight out of the box, my Samsung Galaxy Tab 7″ the same. My various routers have had multiple firmwares installed on them over the years. Note that flashing an alternate firmware WILL void your warranty, and a bad flash has the potential to brick your device and make it unuseable and unrecoverable.  If you are not comfortable with the whole procedure and risk of flashing an alternative  firmware then please don’t. 

In Australia, almost all ISPs have set download/upload limited plans with some form of shaping if you exceed the limit.  So how do you stop that one ( selfish? ) family member or flatmate from chewing up all your available bandwidth and getting you shaped in the first week of your plan or even  tell who’s been downloading the most youtube, bit torrent or other stuff ?? This is the issue I had at home with my three boys.  Of course I had my suspicions which of them it was but no firm evidence*.  So my search to find a router that would allow me to gather and maintain some control over bandwidth consumption began.

Garygoyle router is a derivation of OpenWRT that runs on a variety of different routers, everything from the very old and reliable Linksys WRT54G to much newer hardware. I’m currently running it on a TP-Link WR1043ND,  a cheap sub $80 router.

As you’d expect from a router it does all you standard routery stuff….sets up your connection with your ISP, controls your Wireless and security ,QOS,  dishes out DHCP addresses, gives you control over what time’s wifi or internet is enabled or disabled etc.  I’m going to skip over all these “standard” functions and just concentrate on what’s special about this firmware.

Gargoyle staticip 2

It seems these days that any device is capable of connecting to the internet, whether it’s your notebook, your phone, your ipod, your DS…… the first thing I needed to do is to setup some static DHCP addresses.   Rather than having to deal with lots of multiple devices ad hoc, using Static IPs I’ve setup up all my kids into a particular IP Range so:

Kid 1 ( T ) =

Kid 2 ( R ) =

Kid 3 ( H ) =

Other known devices ( that I don’t want to quota )  are and non specified DHCP

Using this scheme I can put rules and controls easily around any of the kids without having to delve into individual devices.  This allows 9 devices per child and lord help me if they start exceeding that number.

I get 50GB per month and decided that each child should get 7.5GB of that bandwidth each.  All my kids have different usage patterns.  Two of them mostly use their Notebooks while the youngest tends to use his Ipod most of the time.  By grouping the IP addresses I can then give them 7.5GB across all their devices .  So it doesn’t matter if they only use their notebook or their ipod or a combination of both, it all gets recorded against their usage. So I end up with 3 rules for the kids. The last one means that anything that attaches without a static IP only get 1024KB before I shape them.  Stops intruders and also visitors from excessive downloading.

Gargoyle Quotas 1

Gargoyle Quoteindividual 1

Above is  the individual rule for ( Kid 1 ) , they get 7.5GB from each cycle and if they exceed that then they get throttled to VOIP speed ( max 200 kbit/s ). If I wanted to I could throttle them even further or even stop their internet access entirely for the rest of the cycle.

Group quotas can be checked easily by the administrator

Gargoyle Bandwidthusage 1

Or by going to the router address , users can check their own

Gargoyle CheckIndQuote 1

The other big differentiation with this firmware is that it also displays some really handy, easy to read status graphs that can help you out with monitoring your bandwidth over various time frames ( minute, 15 minutes, hour, days, month,year  ). Makes it very easy to work out what’s happening during any time period. The data can also be exported out for analysis via Excel or similar ( Click on the pics below to see bigger/clearer versions )

.Gargoyle BandwidthUsage Month 1

Gargoyle Bandwidthdistribution Month(*You’ll note some repeated host names in the bandwidth distribution table on the left. It’s some left over legacy stuff from my mucking around sorting things out. Note they show 0 usage.)









As mentioned above it is a third party firmware and as such support comes from the development community. I had some issues installing originally, then some issues with functionality such as the wifi and had to wait for some patches to be released but that can be the nature of third party firmwares.  It’s all good and stable now and I haven’t bothered loading the latest updates.

If you’re not comfortable with flashing a third party firmware Gargoyle does offer a router preloaded with the firmware.

You don’t need to have any linux skills to install or setup, it’s all configurable via the web interface.

I highly recommend this firmware if you really do need to know who’s using your bandwidth, and require  the ability to be able to set hard download/upload quotas for  certain users. Coupled with the ability to enable or disable wifi at particular times  for a particular user or web filter certain sites based on keyword ( some applications/sites  don’t work well with this ) I get a nice level of granular control.

Ideally I’d love the ability to be able to time quota the kids as well , say 3 hours per day during school days and 6 hours on weekends ( as compared with giving them access between certain times ) . The other shortcomings are that the monthly bandwidth distribution graph/chart  shown above only covers calendar month and can’t be sync with an ISP monthly cycle and the graph status pages are a little bit picky about what browser they’ll display properly in ( Firefox seems to be the most compatible ) .

In summary Gargoyle gives me the ability to easily monitor and manage my usage and comes with functions that you’d expect from much higher end  and more expensive routers.

*BTW after yelling and screaming at Kid 2 for month after month accusing him of exceeding our allotted bandwidth because of his gaming and skyping , after installing I actually found it’s Kid 3 that’s the biggest “offender”.  Even though he knew  he’s being monitored and had an enforced quota  he’d used up 37% of his 7.5GB quota in the first 3 days last cycle  on youtube and downloading games.

Updates 04/21/16

My first real review for The Gadgeteer and scary to think it’s still getting comments 4 years down the track. I think that just goes to show that it’s such a cheap and easy solution to such a common problem. These days with two sons no longer living with me and about 20x the download limits I had then it’s not as important to me however I still use it in between my Wireless Access Point and “modem” to allow me to control and monitor my connection. I still haven’t found a solution that’s so simple and cheap to implement.


Product Information


30 thoughts on “Gargoyle Router – A Not So Ugly Solution to Bandwidth Monitoring and Quotas – Mini Review”

  1. Gadgeteer Comment Policy - Please read before commenting
  2. I have a question: how do you distribute the addresses to your boys’ devices? Do you have an AP with DHCP in each one’s room giving out over that limited range ? Or do you just assign static manually as new devices come into the house?

  3. I allocate the static IP manually as each new device comes on. Not that hard to do as I’ve set it so that “foreign” devices only get 10MB before they’re cut off completely so if I miss one I know pretty quickly and the router will have “recorded” the Mac address to allocate a static to.

  4. OK, thanks. I’m in a different situation where the connected devices will vary more, so I’m experimenting with having a local AP hand out dynamic IP in the range for each corresponding user group. My rules in Gargoyle are modeled on yours and it appears that it’s going to work fine that way.

  5. Now that I’m using Gargoyle, I can answer.

    You will connect a given device by getting an address from the main pool using DHCP to the router. That pool may or may not have any rules/quotas set for it in general. Then the device will show up in a list of connected hosts. Then you select that device in the list and assign it a “fixed” address of your choosing that DHCP will give it everytime.

    then you can set up a special rule for that address or group of addresses. That way, wheneven a certain MAC address wants to connect it goes into the group that you want it to be in with the rule you set to apply to that group.

    That IP address will now be attached to the device’s MAC address. It will get the same one as long as it’s MAC is the same.

  6. Great article. I have exactly the same needs but with only 2 boys. I was using dd-wrt, but it doesn’t have the same reporting. Thanks!

  7. Hi Ian,

    I have a doubt. What if I installed Gargoyle on a router and a person changed his pc’s MAC address, would he automatically be assigned the ‘guest’ IP (after being assigned a ‘category’ IP with the 7.5GB limit). Hope my question is clear.

  8. @LR, if you look at the way I’ve set my rules up, if your MAC address isn’t specifically “hardcoded” in the DHCP list then you end up with an IP address of and therefore under the Quote Usage rules you only get 1024kb. So if someone changes their MAC address to an unknown one then in theory yes they should end up in the “guest” status 🙂

  9. Hi there,

    Gargoyle doesn’t currently support my devices (and I’m not going to be the one to test flashing it). Do you know if its the only firmware/solution to the usage limit issue you faced? I’m having the same problem as you were and can’t find a solution.


  10. Sorry when I found Gargoyle I was using an old Linksys WRT54g which I’d had for many years and had run multiple ROMs on. Luckily it was a supported device. When I’d tested it on the WRT I used it as an excuse to buy a new N router and bought a TP-link 1043ND. Only cost me about $80 and well worth it not just for the speed but also so I could run Gargoyle. Has solved heaps of hassle 🙂

  11. Nice review Ian, it’s Len from B&B here. Just signed up for the NBN and need to get a new router, I will be sure to get one that supports gargoyle.

  12. sir nice review,

    1) if i update this firmware will it will have all the original menu also available ?
    2) Can we flash the original firm were again
    3) i could not find in list the router of mine still can you tell me is it possible to use in linksys X3000

    thanks in advance

  13. Hello Ian,

    Nice review!

    I have a TP LINK WDR3600.

    I wanted to monitor the traffic generated by a satellite receiver and I have been successful :).

    But now I’m a little disappointed: Gargoyle seems not to know about Gigabyte WAN.

    I have a nice subscription from my isp of 1 Gigabyte. When I did the test I could get only 100 Mb……. :(. Is there any possibility too set WAN to 1G?

    Thank you.



  14. I only get 25gb per month from our satellite provider. We do vacation rentals on the home. I’m wondering if Gargoyle can help me limit all the clients to 1GB per day so that one guest doesn’t download a bunch of movies (though we ask them not to stream) and leave the rest of the guests that month without Internet service.


    1. Eric,
      I haven’t set up gargoyle yet (my router is in the mail), so take this with a grain of salt, but I’m almost certain that you can do exactly that. If you look in the third image in the article, you’ll notice that you can set a download max, and have it re-set each day. Is the 25GB per month limit only for download, or is it upload and download combined? If you don’t know for sure, you should assume it applies to both upload AND download just to be safe. Just by my looking at the image above, I would recommend setting the values to something like the following if your 25GB limit applies to both upload and download [if it applies to download only then use the information in brackets instead]:

      Applies to: Entire Local Network
      Max Upload: Unlimited
      Max Download: Unlimited [or “1GB” if your 25GB limit is ONLY download]
      Max Total Up+Down: 1GB [or “Unlimited” if your 25GB limit is ONLY download]
      Quota Resets: Every Day
      Reset Hour: 12:00 AM
      Quota Is Active: Always
      When Exceeded: Shut Down All Internet Access

      NOTE: Values may be worded differently in gargoyle, such as requiring “1024MB” instead of “1GB”, etc.
      Then click “Add New Quota”
      Then click “Save Changes”

      Hopefully this helps,

  15. Hi, great information thanks. If I have a building that has multiple WIFI networks set up, is it possible to install Gargoyle on only the first (main) wifi router, which then feeds other routers through ethernet cables? Or do I need to install Gargoyle on each wifi router?
    Just want to make sure that a device that has reached it’s download limit, could not simply connect to a different wifi router and have full bandwidth again.

    1. Gargoyle can only control the clients that connect to it. It’s in no way a robust commercial product so using it with multiple networks might not be suitable.

      That being said, as long as the traffic is seen by the Gargoyle router then it can control it. It uses tables of IPs and Mac addresses of clients to manage the amount of traffic each uses.

  16. hello everyone.

    my router is not listed. its a DLINK DIR600L
    kindly help?
    i have a mobile repair shop and all employees take full advantage of the 125GB download limit. i need to limit each with a maximum of 15-20GB only.

    Do help

  17. Hi Ian,
    Great post.We ran a community hall with limited monthly data. I would like to implement one of your scenarios limiting data per user to 1GB. Now you mentioned it need to assign static ip address for example to 20. How does our guest log in to our wifi ? What address are they going to use? Does every user will be signing in different address.Kindly show a sample how its done if you have time.

  18. @Rudyard Wow this post is 8 years old and still being referenced which is fantastic. My boys are adults now and I no longer use Gargoyle.
    In your situation I assume you’ll get a lot of random people so will be hard and time consuming to static ip everyone’s device.
    If you look at picture two you’ll see my “randoms” are set to get an address from DHCP of If you look at picture 3 youll see they are quota of 1024kb.
    This will be the best way for you to setup. Set a DHCP range, then set a quota for hosts within your DHCP range to get x mb/GB per time period (like picture 3). Anyone who say administers the network and you want to have unlimited access, set their devices up on a static IP outside the DHCP range (or a higher quota) .
    Hope this makes sense and assists.

  19. hey ian, we run a non-profit office in Malawi; ISP has 80GB limit and the org leadership understandably likes to keep IT costs low. Gargoyle was just the ticket! Thanks for the superb article.

  20. Fantastic Steve. Great to see that an article (in fact it was my first real article for The Gadgeteer) I wrote 10 years ago is still helping people. I don’t use Gargoyle any more as the “kids” are 10 years older, but as far as I’m aware Gargoyle is still the best Open Source option for metering and quotas. Enjoy!

Leave a Comment

Your email address will not be published. Required fields are marked *