{"id":27273329,"url":"https://github.com/rtrlib/rtrlib","last_synced_at":"2025-04-11T14:25:43.732Z","repository":{"id":8934449,"uuid":"10666282","full_name":"rtrlib/rtrlib","owner":"rtrlib","description":"An open-source C implementation of the RPKI/Router Protocol client","archived":false,"fork":false,"pushed_at":"2025-03-21T07:56:39.000Z","size":4927,"stargazers_count":74,"open_issues_count":21,"forks_count":33,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-21T08:32:59.162Z","etag":null,"topics":["bgp","c","routing","rpki","rtr","rtr-client","rtr-server","rtrlib","security"],"latest_commit_sha":null,"homepage":"https://rtrlib.realmv6.org/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rtrlib.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":"CONTRIBUTING","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-06-13T13:07:08.000Z","updated_at":"2025-03-21T07:56:43.000Z","dependencies_parsed_at":"2023-12-19T11:35:09.929Z","dependency_job_id":"31adde54-24e8-426a-97bc-8af453ecd53b","html_url":"https://github.com/rtrlib/rtrlib","commit_stats":{"total_commits":698,"total_committers":29,"mean_commits":24.06896551724138,"dds":0.6991404011461317,"last_synced_commit":"52b2d66049664046afd80deaf2bc8eee8486173e"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtrlib%2Frtrlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtrlib%2Frtrlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtrlib%2Frtrlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtrlib%2Frtrlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rtrlib","download_url":"https://codeload.github.com/rtrlib/rtrlib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248418703,"owners_count":21100193,"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":["bgp","c","routing","rpki","rtr","rtr-client","rtr-server","rtrlib","security"],"created_at":"2025-04-11T14:25:42.957Z","updated_at":"2025-04-11T14:25:43.706Z","avatar_url":"https://github.com/rtrlib.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status][travis-badge]][travis-link]\n[![GitHub release][release-badge]][release-link]\n[![License][license-badge]][license-link]\n[![API docs][api-badge]][api-link]\n[![Wiki][wiki-badge]][wiki-link]\n[![Read the Docs][rtd-badge]][rtd-link]\n[![Help wanted][helpwanted-badge]][helpwanted-link]\n\nIntroduction\n------------\nThe RTRlib implements the client-side of the RPKI-RTR protocol \n([RFC 6810](https://tools.ietf.org/html/rfc6810)), \n([RFC 8210](https://tools.ietf.org/html/rfc8210)), BGP Prefix Origin\nValidation ([RFC 6811](https://tools.ietf.org/html/rfc6811)), and ASPA-based Route Leak \ndetection ([Rev. 18](https://datatracker.ietf.org/doc/draft-ietf-sidrops-aspa-verification/)). \nThis also enables the maintenance of router keys. Router keys are required to deploy BGPSEC.\n\nThe software was successfully tested on Linux and FreeBSD.\n\nThis package contains also the `rtrclient` program. It connects to an\nRTR-Server over TCP or SSH and shows on STDOUT prefix origin data and\nrouter keys that have been received from the RTR server. The program can\nbe found in the bin/ directory.\n\nRequirements\n------------\nTo build the RTRlib, the CMake build system must be installed.\n\nTo establish an SSH connection between RTR-Client and RTR-Server, the\nlibssh 0.6.x or higher library must also be installed.\n\nTo enable BGPsec support for validating and signing AS paths, libssl\n1.0 or higher needs to be installed.\n\ncmocka (optional) is required for unit tests\nDoxygen (optional) is required to create the HTML documentation.\n\n\nCompilation\n-----------\n\n* Generate Makefile:\n\n  Without debugging options\n\n      cmake -D CMAKE_BUILD_TYPE=Release .\n\n  With debug symbols and debug messages:\n\n      cmake -D CMAKE_BUILD_TYPE=Debug .\n\n  If the libssh isn't installed within the systems include and library\n  directories you can run cmake with the following parameters:\n\n      -D LIBSSH_LIBRARIES=\u003cpath-to-libssh.so\u003e\n      -D LIBSSH_INCLUDE_DIRS=\u003cinclude-directory\u003e\n\n  If libssh is installed but you do not want to build rtrlib with ssh\n  support, you can disable it with the following parameter:\n\n      -D RTRLIB_TRANSPORT_SSH=No\n\n  Or to enforce ssh support:\n\n      -D RTRLIB_TRANSPORT_SSH=Yes\n\n  To specify another directory where the RTRlib will be installed, you\n  can pass the following argument to cmake:\n\n      -D CMAKE_INSTALL_PREFIX=\u003cpath\u003e\n\n  BGPsec support is enabled by default. If dependencies cannot be\n  resolved, rtrlib builds without BGPsec.\n  \n  To explicitly disable BGPsec:\n\n      -D WITH_BGPSEC=No\n\n  To explicitly enable BGPsec and fail the build if dependencies\n  cannot be resolved:\n\n      -D WITH_BGPSEC=Yes\n\n* Build library, tests, and tools\n\n      make\n\n\nInstallation\n------------\nTo copy libraries and headers to system directories, run (optional):\n\n    make install\n\n\nLinking to RTRlib\n----------------------\nThe name of the shared library is rtr. To link programs to the RTRlib,\npass the following parameter to gcc:\n\n    -lrtr\n\nIn case an error such as\n\n    -/usr/bin/ld: cannot find -lrtr\n    -collect2: error: ld returned 1 exit status\n\noccurs, the location of the library can be passed explicitly as a parameter\n\n    -L\u003cpath_to_librtr.so\u003e\n\ne.g.,\n\n    -L/usr/local/lib64/\n\n\nAPI Documentation\n-----------------\nThe RTRlib includes a HTML documentation of the API. To build them,\ndoxygen must be installed. The documentation will be located in the\ndocs/ directory after the execution of:\n\n    make doc\n\n\nTest RTR-Server Connection\n--------------------------\nThe following command establishes a plain TCP connection to an\nRTR-Server using the rtrclient command line tool:\n\n    bin/rtrclient tcp rpki-validator.realmv6.org 8282\n\n`rpki-cache.netd.cs.tu-dresden.de` is an open RTR-Server instance for testing\npurposes, which runs the RIPE Validator. It listens on port 3323 and\nvalidates ROAs from the following trust anchors: AfriNIC, APNIC, ARIN,\nLACNIC, RIPE.\n\n\nDirectories\n-----------\n* cmake/      - CMake modules\n* doxygen/    - Example code and graphics used in the Doxygen\n                documentation\n* rtrlib/     - Header and source code files of the RTRlib\n* tests/      - Unit tests\n* tools/      - Contains the rtrclient\n\n\nCONTRIBUTE\n----------\nTo contribute something to RTRlib, please refer to our [contributing document](CONTRIBUTING).\n\n\nContact\n-------\nWebsite: [http://rtrlib.realmv6.org/](http://rtrlib.realmv6.org/)\n\nMailing List: [rtrlib@googlegroups.com](mailto:rtrlib@googlegroups.com)\n\n\n[travis-badge]:https://travis-ci.com/rtrlib/rtrlib.svg?branch=master\n[travis-link]:https://travis-ci.com/rtrlib/rtrlib\n[release-badge]: https://img.shields.io/github/release/rtrlib/rtrlib.svg\n[release-link]: https://github.com/rtrlib/rtrlib/releases/latest\n[license-badge]: https://img.shields.io/github/license/rtrlib/rtrlib\n[license-link]: https://github.com/rtrlib/rtrlib/blob/master/LICENSE\n[api-badge]: https://img.shields.io/badge/docs-API-informational.svg\n[api-link]: http://rtrlib.realmv6.org/doxygen/latest/\n[wiki-badge]: https://img.shields.io/badge/docs-Wiki-informational.svg\n[wiki-link]: https://github.com/rtrlib/rtrlib/wiki\n[rtd-badge]: https://readthedocs.org/projects/rtrlib/badge/?version=latest \n[rtd-link]: http://rtrlib.readthedocs.io/en/latest/?badge=latest\n[helpwanted-badge]: https://img.shields.io/badge/help-wanted-orange.svg\n[helpwanted-link]: https://github.com/rtrlib/rtrlib/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtrlib%2Frtrlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frtrlib%2Frtrlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtrlib%2Frtrlib/lists"}