☰ Menu
CLI Open source 2 installs/mo

libjuice for Mac

libjuice

libjuice - UDP Interactive Connectivity Establishment

libjuice — overview

libjuice - UDP Interactive Connectivity Establishment

libjuice :lemon::sweat_drops: (_JUICE is a UDP Interactive Connectivity Establishment library_) allows to open bidirectionnal User Datagram Protocol (UDP) streams with Network Address Translator (NAT) traversal.

The library is a simplified implementation of the Interactive Connectivity Establishment (ICE) protocol, client-side and server-side, written in C without dependencies for multiple platforms, including GNU/Linux, Android, FreeBSD, Apple macOS, iOS, and Microsoft Windows. The client supports only a single component over UDP per session in a standard single-gateway network topology, as this should be sufficient for the majority of use cases nowadays.

libjuice is licensed under MPL 2.0, see LICENSE.

libjuice is available on AUR and vcpkg. Bindings are available for Rust.

For a STUN/TURN server application based on libjuice, see Violet.

Compatibility

The library implements a simplified full ICE agent (RFC5245 then RFC8445) featuring: STUN protocol (RFC5389 then RFC8489) TURN relaying (RFC5766 then RFC8656) TCP candidates (RFC6544) ICE Consent freshness (RFC7675) ICE Patiently Awaiting Connectivity (RFC 8863) SDP-based interface (RFC8839) IPv4 and IPv6 dual-stack support Optional multiplexing on a single UDP port

The limitations compared to a fully-featured ICE agent are: Only UDP is supported as transport protocol and other protocols are ignored. Only one component is supported, which is sufficient for WebRTC Data Channels and multiplexed RTP+RTCP. Only RFC8828 mode 2 is supported (default route + all local addresses).

It also implements a lightweight STUN/TURN server (RFC8489 and RFC8656). The server can be disabled at compile-time with the NO_SERVER flag.

Dependencies

None!

Optionally, Nettle can provide SHA1 and SHA256 algorithms instead of the internal implementation.

Building

Clone repository

Build with CMake

The CMake library targets libjuice and libjuice-static respectively correspond to the shared and static libraries. The default target will build the library and tests. It exports the targets with namespace LibJuice::LibJuice and LibJuice::LibJuiceStatic to link the library from another CMake project.

POSIX-compliant operating systems (including Linux and Apple macOS)

The option USE_NETTLE allows to use the Nettle library instead of the internal implementation for HMAC-SHA1:

Microsoft Windows with MinGW cross-compilation

Microsoft Windows with Microsoft Visual C++

Build directly with Make (Linux only)

The option USE_NETTLE allows to use the Nettle library instead of the internal implementation for HMAC-SHA1:

Example

See test/connectivity.c for a complete local connection example.

See test/server.c for a server example.

Contributing

See CONTRIBUTING.md for contribution guidelines.

Details

UDP 交互式连接建立 (ICE) 库

How to install libjuice

  1. Open Terminal (press ⌘ + Space and type “Terminal”).
  2. If Homebrew is not installed yet, run the command below first.
  3. Run this command:

Latest 10 releases

Last updated 2026-09-26; current version v1.7.4, with the latest 10 releases listed.

VersionReleasedTypeSizemacOSWindowsLinux
v1.7.42026-09-26Stable————
v1.7.32026-08-07Stable————
v1.7.22026-05-27Stable————
v1.7.12026-04-17Stable————
v1.7.02025-11-15Stable————
v1.6.22025-09-22Stable————
v1.6.12025-06-11Stable————
v1.6.02025-03-25Stable————
v1.5.102025-03-25Stable————
v1.5.92025-02-14Stable————

Data from GitHub Releases; stable releases first, each group sorted newest first.

Prebuilt bottle platforms

Official Homebrew bottles cover:

  • Apple silicon · latest macOS
  • Apple silicon · macOS 26 Tahoe
  • Apple silicon · macOS 15 Sequoia
  • Linux · ARM64
  • Linux · x86_64

⚠️ No prebuilt bottle for Intel Macs; Intel users need brew install --build-from-source to build from source.

Compared with similar apps

Only public metadata is compared, with no subjective recommendation; see the compare pages for field-by-field comparisons.

Compared with similar apps
AppVersionLicenseArchitecture30-day installs
libjuicev1.7.4MPL-2.0CLI2
xfig3.2.9aMITCLI11
kojiv3.4.0MITCLI11
vip19971113LicenseRef-Homebrew-cannot-representCLI12

Similar apps: Command-line Tools

Leave a comment

评论表单加载中…