NFD-Windows provides Windows builds of Named Data Networking software.

NFD-Windows includes the following packages:

  • ndn-cxx: NDN C++ library with eXperimental eXtensions
  • NFD: NDN forwarding daemon
  • ndn-tools: essential tools, including ping peek+poke dissect
  • infoedit: a program to edit NFD configuration file

Download NFD-Windows

NFD-Windows packages are free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. NFD-Windows is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

If you agree to the disclaimer above, you may download NFD-Windows from
Source code and build script can be found on GitHub.

How to use NFD-Windows?

  1. Extract the ZIP archive to an empty folder. It's recommended to choose a path without whitespaces.

  2. Open Command Prompt, CD to the folder.


  4. Start NFD with START bin\nfd.exe --config etc\ndn\nfd.conf.

  5. Start ndnping server with START bin\ndnpingserver.exe ndn:/localhost/demo.

  6. Start ndnping client with bin\ndnping.exe -c 4 /localhost/demo. If everything works fine, you should get "content from /localhost/demo" messages.


  • Which archive should I download?

    Each archive is a different build, and is named after the UTC datetime upon build completion. You may start with the most recent build. If that doesn't work, go back to an eariler build.

  • What Windows versions are supported?

    I'm able to run the packages on Windows 10, both 32-bit and 64-bit.

  • Can I use the packages on my laptop / tablet / server?

    Yes and no. See disclaimer in "download" section.

  • What's the functional difference of these programs and their linux builds?

    • ndn-cxx: Unix socket transport is removed.
    • ndn-cxx: ndnsec-* wrapper scripts are deleted.
    • NFD: Unix face and Ethernet face are not supported.
    • NFD: Privilege drop is not supported.
    • NFD: Runtime configuration reload (upon signal) is removed.
    • NFD: ndn-autoconfig tool is deleted.
    • ndn-tools: ndnping won't print statistics if terminated with CTRL+C.
  • How are the packages built?

    They are built on Travis CI using MXE (M cross environment).

  • Can I build them myself?

    Absolutely. Download source code and build script from NFD-Windows repository. You'll need a Ubuntu 14.04 virtual machine with at least 3GB memory and 8GB disk space.

  • Are the packages tested?


  • Did you run the unit tests?

    No. They are disabled.

  • Why do I have to execute SET HOME=%USERPROFILE%?

    Program looks for NDN KeyChain at $HOME/.ndn where $HOME represents user's home directory. But Windows exports home directory as %USERPROFILE%.

  • Why do you offer ZIP archives for downloads, rather than TAR.XZ which is more compact?

    Extracting files from a ZIP archive is natively supported by Windows.

  • Why are EXE files so big?

    They are compiled in debug mode so it's easier to debug, and linked statically so you don't need to register DLLs.

  • How to debug these programs?

    Install gdb from Mingw-w64, and use gdb to debug the program. Debug symbols are already included in the EXE files.

  • I found a bug. How can I report it?

    Write me an email. See my academic homepage for email address.

    It would be helpful if you can include the following in your email:

    • filename of the downloaded archive
    • output of TYPE NFD-Windows_version.txt
    • output of SYSTEMINFO
    • detailed steps to reproduce your bug, including the commands you type and the configuration files you use
    • stack trace obtained by gdb, if it's a crash (see "how to debug" question)