{"id":21478955,"url":"https://github.com/mjpost/wrtbwmon","last_synced_at":"2025-07-13T16:36:41.268Z","repository":{"id":27308793,"uuid":"30782921","full_name":"mjpost/wrtbwmon","owner":"mjpost","description":"Per-user bandwidth monitoring on a Netgear WNDR4000 with DD-WRT build 21676","archived":false,"fork":false,"pushed_at":"2015-02-14T01:02:11.000Z","size":108,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-06T02:27:21.530Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mjpost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-14T01:01:38.000Z","updated_at":"2020-02-01T04:05:44.000Z","dependencies_parsed_at":"2022-08-26T22:42:25.402Z","dependency_job_id":null,"html_url":"https://github.com/mjpost/wrtbwmon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjpost%2Fwrtbwmon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjpost%2Fwrtbwmon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjpost%2Fwrtbwmon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjpost%2Fwrtbwmon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mjpost","download_url":"https://codeload.github.com/mjpost/wrtbwmon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243998669,"owners_count":20381194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-23T11:20:16.103Z","updated_at":"2025-03-17T08:27:30.563Z","avatar_url":"https://github.com/mjpost.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"February 2015\n\nI set up per-user traffic monitoring using\n[DD-WRT](http://www.dd-wrt.com/) a Netgear WNDR4000 that I got on Ebay\nfor $35. \n\nThe code here adapts and improves\n[the wrtbwmon code](https://code.google.com/p/wrtbwmon/), which\nmaintains a database that is updated periodically and recycled every\nmonth. This is a nice package with a set of scripts that does just\nwant you want, querying usage periodically, finding what's changed,\ndumping it to a database, allowing a division between \"peak\" and\n\"non-peak\" hours, and generating a nice web page that can be view\n\nThis release contains a few changes I had to make to get it to work on\nbuild 21676 of DD-WRT.\n\n### Instructions\n\n1.  Install DD-WRT\n\n    I installed from the instructions\n    [on this page](http://www.dd-wrt.com/wiki/index.php/Netgear_WNDR4000).\n    I first flashed with\n    [the DD-WRT 21676 release](ftp://ftp.dd-wrt.com/betas/2013/05-27-2013-r21676/broadcom_K26/dd-wrt.v24-21676_NEWD-2_K2.6_mini-WNDR4000.chk),\n    then upgraded to\n    [the mini build](ftp://ftp.dd-wrt.com/betas/2013/05-27-2013-r21676/broadcom_K26/dd-wrt.v24-21676_NEWD-2_K2.6_mini-nv64k.bin). I\n    do not know why this has to be done in two steps, but the\n    instructions suggest that it should be.\n\n2.  Enable JFFS\n\n    Log into the web interface and enable JFFS2 support on the\n    administrator page (Administration → Management). This a permanent\n    flash-based filesystem that will survive power cycles, but that\n    you also do not want to write to too often. \n    \n3.  Deploy this code\n\n    These instructions are modified from those found on the\n    [wrtbwmon deployment page](https://code.google.com/p/wrtbwmon/wiki/Deploying)\n    \n    Login to your router and install:\n    \n        cd /jffs\n        wget ...\n        cd wrtbwmon\n    \n4.  Create the crontab entries\n\n    From what I could tell, the best way to create crontab entries is\n    through the web interface. The entries you want are in the file\n    `crontab` and, assuming you followed all the suggested path names,\n    can just be cut-and-pasted there.\n\n5.  Viewing \n\n    You can view the results [on this page](http://192.168.1.1/user/usage.html).\n\n### Other pages\n\nI found\n[this page](http://blog.billsdon.com/2014/02/usage-details-dd-wrt-router/)\nto be helpful for setup issues, even though I didn't end up using that\ncode. [This site](http://clevarme.blogspot.com/2011/12/getting-dd-wrt-on-netgear-n750-wndr4000.html)\nmight also be\nuseful. [Here](http://www.dd-wrt.com/wiki/index.php/Netgear_WNDR4000)\nis the main DD-WRT page.\n\n### Description of changes\n\nFrom the `wrtbwmon` code, I had to make a few changes to get it to\nread in the hostnames from the DHCP leases file. This pertains to\nDD-WRT build 21676; I don't know whether it applies elsewhere. The git\nhistory contains the change.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjpost%2Fwrtbwmon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmjpost%2Fwrtbwmon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjpost%2Fwrtbwmon/lists"}