//! Innisfree, a project for exposing local network services
//! via a public cloud IP. The traffic is routed transparently
//! from a cloud VM to the local machine running `innisfree`
//! via an ad-hoc Wireguard tunnel. Multiple services can be
//! configured, via [crate::config::ServicePort]. Both TCP and
//! UDP are supported (see [crate::proxy]).
//!
//! Only DigitalOcean is implemented as a cloud backend, but
//! adding others should be fairly straightforward — see
//! [crate::server::Provider].