netjsonconfig

https://github.com/openwisp/netjsonconfig/workflows/Netjsonconfig%20CI%20Build/badge.svg?branch=master https://coveralls.io/repos/openwisp/netjsonconfig/badge.svg Dependency monitoring https://badge.fury.io/py/netjsonconfig.svg https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat-square

Netjsonconfig is part of the OpenWISP project and it’s the official configuration engine of OpenWISP 2.

_images/openwisp.org.svg

netjsonconfig is a python library that converts NetJSON DeviceConfiguration objects into real router configurations that can be installed on systems like OpenWRT, LEDE or OpenWisp Firmware.

Its main features are:

  • OpenWRT / LEDE support
  • OpenWisp Firmware support
  • OpenVPN support
  • Wireguard support
  • Plugin interface for external backends, support more firmwares with an external package
  • Based on the NetJSON RFC
  • Validation based on JSON-Schema
  • Templates: store common configurations in templates
  • Multiple template inheritance: reduce repetition to the minimum
  • File inclusion: easy inclusion of arbitrary files in configuration packages
  • Variables: reference variables in the configuration
  • Command line utility: easy to use from shell scripts or from other programming languages

Contents:

Indices and tables