5个版本

0.0.5 2024年6月26日
0.0.4 2024年6月14日
0.0.3 2022年12月23日
0.0.2 2022年3月14日
0.0.1 2021年1月24日

#751 in 网络编程

MIT/Apache

465KB
10K SLoC

Build status codecov Dependencies crates.io docs.rs

librice

包含使用Rust编程语言编写的ICE (RFC8445)协议异步实现的仓库。此异步实现基于同一仓库中的sans-IO crate librice-proto。有关为什么使用sans-IO设计的一些详细信息,请参阅librice-proto README

警告

此代码仍处于非常早期的开发阶段,一切都将随时更改。

当前状态

当前状态是,实现足以在WebRTC场景中与外部浏览器(Chrome和Firefox)成功传输数据。在此阶段,STUN实现相对成熟。ICE层还需要更多工作以提高效率和API体验。TURN支持目前仍在进行中。支持更多场景肯定是近期和长期路线图的一部分。

相关标准

  • RFC5389: NAT穿越会话遍历实用工具(STUN)
  • RFC8445: 交互式连接建立(ICE):用于NAT穿越的协议
  • RFC5766: NAT周围使用中继(TURN):STUN的会话遍历实用工具中继扩展
  • RFC7675: NAT穿越会话遍历实用工具(STUN)的同意新鲜度使用
  • RFC6544: 与交互式连接建立(ICE)的TCP候选者
  • RFC8838: 滴水ICE:交互式连接建立(ICE)协议的候选者增量提供

待办事项

  • RFC5766
  • RFC6554
  • RFC7675

依赖项

~8–18MB
~252K SLoC