| Crates.io | stun-types |
| lib.rs | stun-types |
| version | 1.0.0-alpha4 |
| created_at | 2024-06-16 12:19:15.825045+00 |
| updated_at | 2025-09-23 01:15:36.248335+00 |
| description | STUN parsing and writing |
| homepage | |
| repository | https://github.com/ystreet/stun-proto |
| max_upload_size | |
| id | 1273491 |
| size | 346,204 |
Repository containing an implementation of STUN (RFC5389/RFC8489) protocol writing in
the Rust programming language. The
turn-types crate uses stun-types to
implement STUN attributes for TURN.
Attributes. See
defining your own attribute
in the documentation for more details.MessageWrite trait. But if
you don't need the complexity, a Vec<u8>-based implementation is also available.If you are looking for attribute implementations related to TURN, have a look at
the turn-types crate which uses
stun-types to implement the required attributes for TURN.
Have a look at the documentation at the crate root for some examples.
stun_codec, stun-format, stun-rs, or 'insert crate here'?Existing STUN crates suffer from one of a few of shortcomings.
rust-stun-coder and stun-format fall into this category. While we do aim
to eventually support all the STUN attributes currently defined by the IANA
and in various RFCs, we are also not going to force a user to use our
implementations (except for integrity and fingerprint attributes).stun-format, stun_codec, stun-rs fail this
design goal. The only other implementation I could find at the time of
writing was turn-rs which contains a very minimal STUN implementation
that is only sufficient for TURN usage.decoder/encoder
traits for messages and attributes. STUN is a relatively simple byte codec
and does not require a complicated implementation. stun-rs, stun_codec,
currently fail this design goal.