Skip to content

nitroshare/nitroshare2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nitroshare2

This repository contains the source code for the (completely rewritten) Nitroshare client.

Development goals:

  • Complete rewrite in Go — While C++/Qt was a very good choice for a cross-platform GUI application, the complexity of using a language and framework with no built-in build / installation system wasted an enormouse amount of development time. Go offers built-in dependency management / installation, unit testing, and incredibly simple deployment.

  • Support for running in a terminal — The existing client was written in a way that required a graphical subsystem on all major platforms. While there was work underway to separate the core protocol code from the user interface, a complete rewrite in Go will solve this problem in a much more straightforward way.

  • Vastly improved mDNS-based discovery — One of the most frequent source for issues being filed against the client was the IP broadcast / mDNS code. The new client will use an existing (and better tested) mDNS package, hopefully eliminating a lot of the issues.

  • Extensible with plugins written in JavaScript — Plugins can extend the client (and protocol itself!) with new features. A simple JavaScript runtime will be included, allowing developers to use a widely popular language.

  • Well-documented and comprehensive local API — Having nearly all of the protocol code behind a local API enables the application to be very modular and therefore easier to port across platforms (including Android/iOS).

  • More service integrations (email, MQTT, etc.) — Integrating Nitroshare with other services (like MQTT for Home Assistant, etc.) will open up a lot of new possibilities and simplify information transfer between devices.

Warning

As nitroshare2 is still in its early stages, APIs / ABIs are not stable and will likely change dramatically. If you build something that uses them, expect it to break until things are in a more finalized state.

About

Rewrite of the cross-platform file transfer application in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages