NodeJS-based netflow collector, designed for non-commercial work - specifically with DD-WRT Routers.
50K+
NodeJS-based netflow collector, designed for non-commercial work - specifically with DD-WRT Routers.
Click here to see screenshots of DDWarden.
DDWarden is written in NodeJS. It acts as an RFlow and MACupd collector for use with DD-WRT Routers to gather information about network traffic between your local devices and the WAN interface. The vast majority of the netflow data is discarded, as this tool is only intended to give you a traffic breakdown per device, over a given timeframe. This allows us to keep the database small as well. Collected stats are stored in a SQLite3 database.
Traffic information is recorded every minute, and the device reporting page can give small increment views (last 5 minutes, 10 minutes, etc) - Every hour, the previous hours information is compacted into a single hour-long traffic record for each device, allowing us to store long-term data without creating a massive database.
The reporting interface is AngularJS 1.5 and collects information from the Node application to render it's graphs and data views.
Warden has been tested in NodeJS v5.4.1 and higher.
You can install and run DDWarden on a Docker host (including Synology systems with an x86 core) with a minimal of pain and effort.
You will need a few pieces of information to replace in the following command.
The ports will be mapped to 8020, 2055, and 2056. You can alter these if you wish, just remember to use the altered ports when configuring your router as well. PLEASE Make sure to map 2055 and 2056 as UDP ports or traffic logs will not make it to the server.
docker run -d --name="DDWarden" -e TZ=America/Los_Angeles -v /docker/ddwarden:/database:rw -v /etc/localtime:/etc/localtime:ro -p 8020:8020 -p 2055:2055/udp -p 2056:2056/udp bthaase/ddwarden
The latest image can be located on the Docker Hub.
You will likely want to create an Upstart script or similar to ensure the application boots at system startup.
In the near future, I intend to have a Docker install file as well.
The configuration file can be located under 'config/config.json' and contains the following settings:
If you wish, you can also override the config.json with environmental variables. They are as follows:
Once the Warden application is running, you will need to change some settings on your DD-WRT Router to forward the netflow traffic to Warden.
After about a minute, you should be able to refresh the Warden web interface to see some devices and traffic stats being recorded. (You may need to request an external website first to generate some WAN traffic)

Content type
Image
Digest
Size
269.3 MB
Last updated
almost 10 years ago
docker pull bthaase/ddwarden