| Crates.io | librice |
| lib.rs | librice |
| version | 0.1.1 |
| created_at | 2021-01-24 16:34:26.204008+00 |
| updated_at | 2025-08-14 13:23:17.230541+00 |
| description | ICE (RFC8445) implementation |
| homepage | |
| repository | https://github.com/ystreet/librice |
| max_upload_size | |
| id | 346092 |
| size | 134,268 |
Repository containing an async implementation of the ICE (RFC8445) protocol
written in the Rust programming language.
This async implementation is based on the sans-IO crate rice-proto in
the same repository. See the rice-proto
README for some
details as to why use the sans-IO design.
The current status is that there is enough of the implementation to sucessfully communicate with STUN/TURN servers and/or a browser (Chrome or Firefox) in a WebRTC scenario. The STUN implementation is relatively mature. More work is needed on the ICE layer for efficiency and API experience. Initial TURN support has been implemented and some TURN-related RFCs are currently in progress. Supporting more scenarios is part of the near and long term future roadmap.
librice depends on rice-c and thus has the same build requirements as
outlined in its README.
Specifically, that either cargo-c must be installed if building from source
using the librice repository for development, or the the rice-proto C API
must be available in the build environment through pkg-config.