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

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

Plugin interface for external backends, support more firmwares with an external package Create your backend as a plugin Experimental AirOS support as a plugin

Based on the NetJSON RFC

Validation based on JSON-Schema

based on JSON-Schema Templates : store common configurations in templates

: store common configurations in templates Multiple template inheritance : reduce repetition to the minimum

: reduce repetition to the minimum File inclusion : easy inclusion of arbitrary files in configuration packages

: easy inclusion of arbitrary files in configuration packages Variables : reference variables in the configuration

: reference variables in the configuration Command line utility: easy to use from shell scripts or from other programming languages

Contents: