Skip to main content

Husarnet 2.0 is out!

· 4 min read
Paweł Kozubal

Roughly a year ago we have released the version of Husarnet that most of you are familiar with. At that time we started thinking more and more about core users of Husarnet and what would make their experience better. Our most important conclusion was that our users are mostly power users who first of all know how to program and secondly want a semless integration of Husarnet with their own products and creations. In order to accomodate this we started a pivot in our design choices to make Husarnet API-centric. This means that not only Dashboard API is now available for all users but also Husarnet Daemon can be controlled via an HTTP API. This should enable all of you to treat Husarnet as a building block for your products much more easily.

Husarnet 2.0 released

As we have reached a point where those tools can actually provide value to you, we've released them as Husarnet 2.0. We've stripped the Husarnet Daemon from all of the CLI utils (except the --version flag 😉 ), renamed the binary to husarnet-daemon, and… made a first client of all the APIs - the Husarnet CLI (with a binary named husarnet). This means that you can not only control the Husarnet Daemon from the CLI but also you can do all the things you could with Husarnet Dashboard.

Loading asciinema cast...

As you can see the CLI is now much more powerful and user friendly, but also - it has changed a lot since the latest release. If you want to know more please have a look at updated Husarnet Documentation and Husarnet 2.0 release note on GitHub.

At this point we want to treat those all the new APIs in a semi-beta state - this means that we may be making changes to the endpoint names and parameters but we plan to mark them as stable very soon. Once we do that we will publish a full documentation on how to use them. If you have any suggestions for the features you want to have - this is definitely the best time to write to us!

Additionally over the next couple of weeks we will be changing the CLI's code so you will be able to use our code as a Golang library for your projects. We hope that in the end our CLI will become a live and battle-tested example for all of our APIs.

What are our goals for the future?

While doing all of the changes listed above we have made a lot of changes to our codebase to make it much easier to support both new platforms and keep the supported ones more aligned. For example now we are easily able to ship the same CLI experience to both Windows and Linux platforms. As per the new ones… keep an eye for that - we may have something coming out really soon!

Our todolist never stops growing, fortunately our team is growing too. Because of that we can start working on multiple axis: Dashboard, ESP32, infrastructure resiliency and monitoring. The most visible changes will be at Husarnet Dashboard - we plan on doing a complete rework to more easily support the API centric approach. As our contributions to external repositories were accepted, our ESP32 port will be reworked into a regular library which is probably the most requested feature for ESP32.

Feedback

We're extremely excited for this release and looking forward to any feedback from you.

You can reach us at our Community Portal, via an e-mail or even via GitHub's Issues and Pull Requests as Husarnet Client is open source!