Connected Things Without a Cloud

Husarnet is a peer-to-peer technology allowing you to directly connect your IoT devices with computers or smartphones over the Internet - without any central cloud in between.

Benefits to your IoT/IIoT network

  • Privacy & security for end-users

    They can control any of their smart devices (eg. smart bulbs) without transferring data through 3rd party servers.

  • IoT devices without an IoT cloud

    Your smartphone app can talk to your smart device (eg. garage door) over the internet directly, without any API server in between.

  • Reliability

    No API server means your IoT device will always work if connected to the Internet. DDoS or any other hacker attacks on an IoT platform can disable the whole IoT network. There is no such risk in case of Husarnet.

  • Scalability

    Husarnet can connect two, ten, or thousands of devices into a single network. Scale your solutions easily as you grow.

Features

Peer-to-Peer Connection Over the Public Internet

Husarnet infrastructure is used only for establishing and maintaining the connection. As soon as a peer-to-peer connection is established, data traffic goes directly between your devices running Husarnet Client software. Husarnet servers do not take part in the communication.

Easy to Integrate

To make your existing device code work over Husarnet all you need to do is start the service in the background using just a few lines of code.

From a developer point of view, Husarnet connected devices behave like they were connected to the same WiFi router. They can however be connected to different routers in different networks (in different countries) with almost no configuration.

All you need to do to make a device such as ESP32, working in LAN, work over the internet, is to add the following lines to the existing web server code.

Lightweight

Let's compare the amount of flash memory used for the two code snippets (for ESP32) presented in the previous image:

  • 887kB - for the code working only in LAN (with no Husarnet library)
  • 1341kB - for the code working both in LAN and over the Internet (with Husarnet library included)

This means that on a simple microcontroller such as ESP32 Husarnet needs only ~450kB of additional flash in comparison to the same code working in LAN. Let's put it this way: you just installed a full VPN on your microcontroller for less than half a Mega Byte!

When it comes to RAM, Husarnet consumes only ~76kB of memory.

Extremely Secure

In typical IoT solutions RSA is used for session key exchanges and AES for data encryption.

In Husarnet we treat security much more seriously, and use X25519 (from libsodium) for key exchange, with ephemeral Curve25519 keys for perfect forward secrecy. The hash of initial public key is validated to match the IPv6 address. The packets are encrypted using libsodium ChaCha20-Poly1305 secretbox construction with a random 192-bit nonce. All to ensure high-security margins, and achieve high performance and throughput. Packets never leave your device unencrypted.

It's hard to find something more secure for IoT.

Simple Architecture for Your System

You can connect your IoT devices with computers and smartphones with no additional server in between.

In typical architectures you have:

  • Your IoT devices - eg. sensors, switches, cameras etc.
  • IoT server - like MQTT server, or 3rd party cloud service with it's own API and specific features
  • End devices - smartphones, laptops etc.

In a solution powered by Husarnet there are only:

  • Your IoT devices
  • End devices

Because IoT server is not needed for establishing the connection

Fail Safe

A typical IoT network operator provides a centralized service to which your devices are connected. In case such a server is down due to a hacker attack or failure, the whole IoT network is disabled.

Husarnet provides a decentralized alternative:

  • Husarnet Base Servers are used to assist peers in establishing a direct connection between them and to maintain the connetion in case of a network change. After a P2P connection between peers (devices with Husarnet Client installed) is established, Base Servers are not needed to keep the communication going.
  • There are multiple Base Servers - even if one of them experience a down-time, others can still support your network.
  • Sometimes a P2P connection is not possible for some reason (see troubleshooting guide) - in such a case redundant Husarnet Base Servers work as a fail-over solution (this is the only case when Husarnet network works as a centralized alternative).

Low cost

The pricing model is simple: a fixed monthly or annual fee with no transfer limit, starting at only 0.35 USD/dev/mo.

No hidden costs, no transfer monitoring - we can't physically do that, because of peer-to-peer data transfer. We also offer a free account up to 5 connected devices.

Currently supported IoT hardware

Husarnet Client software works standalone on:

  • ESP32 WiFi microcontrollers - we provide a library that you can include into your exisitng project based on Arduino Framework or ESP IDF. Works with platformio too!
  • Single Board Computers (SBC) - just use our Linux Client that can be easilly installed on almost all Linux Distributions.

Are you interested?