A router based on NFF-Go.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Martins Eglitis 79cdc603f7 sad 5 days ago
docs Update file structure 1 month ago
src sad 5 days ago
vagrant Bug 5 days ago
.gitmodules Generator and firewall is working, did manual setup on a different network topology 1 week ago
README.MD Reworked and simplified some of the methods and added comments 6 days ago



Ecublens is a home router built using the NFF-Go framework.


Simply clone the repo.

git clone --depth 1 https://git.sitilge.id.lv/sitilge/ecublens.git


  • Dummy example
  • Dummy generator
  • Virtual machines
  • DHCP
  • ARP
  • NAT
  • FW
  • DNS
  • Logging
  • Public API
  • GUI
  • An easy to use and fast generator
  • Bare metal setup


Current setup is lazily using 5 cores and 8GB of memory for each VM using Vagrant. Tweak as you see fit.


Spin up two VMs, where first machine arch-0 is supposed to be a generator, while the second machine arch-1 serves as the actual firewall.

cd vagrant
vagrant up arch-0 arch-1

Wait for the machines to stop provisioning. Then open two terminal sessions and ssh into the respective machines, bind the ports using the devbind-bind, build and run the NFs.

vagrant ssh arch-0
cd ecublens/src/generator
go build && sudo ./generator


vagrant ssh arch-1
cd ecublens/src/fw
go build && sudo ./fw

The DPDK phase when running the NF might take some time, so be patient.