{"id":13420878,"url":"https://github.com/CESNET/libnetconf","last_synced_at":"2025-03-15T07:31:45.725Z","repository":{"id":33607231,"uuid":"37259408","full_name":"CESNET/libnetconf","owner":"CESNET","description":"C NETCONF library","archived":false,"fork":false,"pushed_at":"2019-06-20T06:37:44.000Z","size":21471,"stargazers_count":113,"open_issues_count":47,"forks_count":83,"subscribers_count":35,"default_branch":"master","last_synced_at":"2024-07-31T22:57:00.737Z","etag":null,"topics":["liberouter","netconf"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CESNET.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-11T12:22:33.000Z","updated_at":"2024-06-14T15:05:15.000Z","dependencies_parsed_at":"2022-09-12T22:00:55.994Z","dependency_job_id":null,"html_url":"https://github.com/CESNET/libnetconf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CESNET%2Flibnetconf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CESNET%2Flibnetconf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CESNET%2Flibnetconf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CESNET%2Flibnetconf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CESNET","download_url":"https://codeload.github.com/CESNET/libnetconf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243701264,"owners_count":20333614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["liberouter","netconf"],"created_at":"2024-07-30T22:01:43.295Z","updated_at":"2025-03-15T07:31:45.092Z","avatar_url":"https://github.com/CESNET.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"## libnetconf – The NETCONF protocol library\n\n[![Project Stats](https://www.openhub.net/p/libnetconf/widgets/project_thin_badge.gif)](https://www.openhub.net/p/libnetconf)\n\n**libnetconf** is a NETCONF library in C intended for building NETCONF clients\nand servers. It provides basic functions to connect NETCONF client and server\nto each other via SSH, to send and receive NETCONF messages and to store and\nwork with the configuration data in a datastore.\n\nWith the experiences from **libnetconf**, we have moved our activities to\nwork on next generation of this library based on [libyang](https://github.com/CESNET/libyang)\nlibrary. [libnetconf2](https://github.com/CESNET/libnetconf2)\nis mature enough to be used as a replacement of the original **libnetconf**. Therefore, the\n**libnetconf** is no more developed neither maintained. Note, that while **libnetconf2** does not\ninclude NETCONF datastore implementation, this particular functionality can be implemented\nvia [sysrepo](https://github.com/sysrepo/sysrepo) project. Similarly, the NETCONF server/client\nimplementation [Netopeer](https://github.com/CESNET/netopeer) is deprecated and replaced by [Netopeer2](https://github.com/CESNET/netopeer2) which can be also used as a reference tool using **libnetconf2**\nfunctions.\n\n**libnetconf** was developed by the [Tools for\nMonitoring and Configuration](https://www.liberouter.org/) department of\n[CESNET](http://www.ces.net/). It implements the NETCONF protocol introduced by IETF -\nmore information about NETCONF protocol can be found at \n[NETCONF WG](http://trac.tools.ietf.org/wg/netconf/trac/wiki).\n\n## Documentation\n\n**libnetconf**'s API documentation including a description of its use is available\n[here](https://rawgit.com/CESNET/libnetconf/master/doc/doxygen/html/index.html) (Python API\nis available [here](https://rawgit.com/CESNET/libnetconf/master/doc/python/html/index.html)).\n\nDocumentation can be also built from source codes:\n```\n$ make doc\n```\nInstructions to compile the **libnetconf** library can be found in [INSTALL](./INSTALL) file.\n\nInformations about differencies to the previous version can be found in [RELEASE_NOTES]\n(./RELEASE_NOTES) document or [compatibility reports](./doc/compat_reports/).\n\n## Features\n\n* NETCONF v1.0 and v1.1 compliant ([RFC 6241](http://tools.ietf.org/html/rfc6241))\n* NETCONF over SSH ([RFC 6242](http://tools.ietf.org/html/rfc6242)) including Chunked Framing Mechanism\n  * DNSSEC SSH Key Fingerprints ([RFC 4255](http://tools.ietf.org/html/rfc4255))\n* NETCONF over TLS ([RFC 5539bis](http://tools.ietf.org/html/draft-ietf-netconf-rfc5539bis-05))\n* NETCONF Writable-running capability ([RFC 6241](http://tools.ietf.org/html/rfc6241))\n* NETCONF Candidate configuration capability ([RFC 6241](http://tools.ietf.org/html/rfc6241))\n* NETCONF Validate capability ([ RFC 6241](http://tools.ietf.org/html/rfc6241))\n* NETCONF Distinct startup capability ([ RFC 6241](http://tools.ietf.org/html/rfc6241))\n* NETCONF URL capability ([RFC 6241](http://tools.ietf.org/html/rfc6241])\n* NETCONF Event Notifications ([RFC 5277](http://tools.ietf.org/html/rfc5277) and [RFC 6470](http://tools.ietf.org/html/rfc6470))\n* NETCONF With-defaults capability ([RFC 6243](http://tools.ietf.org/html/rfc6243))\n* NETCONF Access Control ([RFC 6536](http://tools.ietf.org/html/rfc6536))\n* NETCONF Call Home ([Reverse SSH draft](http://tools.ietf.org/html/draft-ietf-netconf-reverse-ssh-05), [RFC 5539bis](http://tools.ietf.org/html/draft-ietf-netconf-rfc5539bis-05))\n* [Python bindings](https://rawgit.com/CESNET/libnetconf/master/doc/python/html/index.html)\n\n## Interoperability\n\nIn November 2012, prior to the IETF 85 meeting, **libnetconf** was one of the\nNETCONF protocol implementation participating in [NETCONF Interoperability Testing](http://www.internetsociety.org/articles/successful-netconf-interoperability-testing-announced-ietf-85).\n\n## Papers and Articles\n\n* *Building NETCONF-enabled Network Management Systems with libnetconf* at the\n  IFIP/IEEE International Symposium on Integrated Network Management 2013 (IM2013),\n  * [paper](https://github.com/CESNET/libnetconf/raw/wiki/papers/im2013/paper.pdf),\n  * [poster](https://github.com/CESNET/libnetconf/raw/wiki/papers/im2013/poster.pdf).\n* *Managing SamKnows Probes using NETCONF* at the IEEE/IFIP Network Operations and\n  Management Symposium 2014 (NOMS 2014),\n  * [paper](https://github.com/CESNET/libnetconf/raw/wiki/papers/noms2014/paper.pdf),\n  * [poster](https://github.com/CESNET/libnetconf/raw/wiki/papers/noms2014/poster.pdf).\n\n## Project History\n\n**libnetconf** comes from the Netopeer project. The first version of Netopeer was\nimplemented in 2007 as a bachelor thesis at Masaryk university (available only\n[czech](http://is.muni.cz/th/98863/fi_b/)). Further work on the project was\ncovered by CESNET, z.s.p.o., Czech National Research and Education Network (NREN)\noperator and in 2009 released as an open source project at GoogleCode.\n\nFurther development led to splitting the original Netopeer applications and\ncreating a separate library implementing NETCONF functionality. The **libnetconf**\nlibrary was detached as a standalone project in 2012. For some time, the\n[Netopeer server](https://www.liberouter.org/?page_id=827) was developed internally\nat CESNET to control specific CESNET devices.\n\nIn 2013, the [Netopeer project](http://code.google.com/p/netopeer/) was restarted.\nCurrently it contains an advanced NETCONF server developed at CESNET with several\ntransAPI modules covering basic configuration of the Linux server. Furthermore, it\nalso contains a command line interface that came from the **libnetconf**, where it was\nused as example application. [The Netopeer web client](https://github.com/CESNET/Netopeer-GUI)\nis available separately at GitHub.\n\nIn June 2015, the project was moved to GitHub because of GoogleCode shutdown.\n\nIn 2016 we have moved our activity to [libyang](https://github.com/CESNET/libyang)\nand [libnetconf2](https://github.com/CESNET/libnetconf2). The tools became mature\nin 2017 so the original libnetconf is no more maintained from that time.\n\n## Release History\n\n* libnetconf-0.10 was released in June 2015\n* libnetconf-0.9 was released in November 2014\n* libnetconf-0.8 was released in May 2014\n* libnetconf-0.7 was released in February 2014\n* libnetconf-0.6 was released in September 2013\n* libnetconf-0.5 was released in June 2013\n* libnetconf-0.4 was released in April 2013\n* libnetconf-0.3 was released in December 2012\n* libnetconf-0.2 was released in October 2012\n* libnetconf-0.1 was released in July 2012\n* The **libnetconf** project was started in April 2012\n\n## Other Resources\n\n* [Netopeer project](https://github.com/CESNET/Netopeer)\n* [Netopeer GUI](https://github.com/CESNET/Netopeer-GUI)\n* [CESNET TMC department](https://www.liberouter.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCESNET%2Flibnetconf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCESNET%2Flibnetconf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCESNET%2Flibnetconf/lists"}