Hana is a way to share files across computers connected to the same network using mDNS as its foundation.
The reason behind Hana is to never go out into the web when is not needed. It's fairly common to share files across devices that are not connected to the same network using overkill and untrustworthy platforms such as Google Drive, Dropbox, WhatsApp, Messanger and many others. This project aims to provide a way to share files locally in a safe and reliable way, so you don't need to worry about your privacy, performance and security.
The way Hana works is through a combination of mDNS to discover peers on the local network and a TCP server to exchange files back and forth. The underlying building block behind Hana and Hana CLI are Hana Client and Hana Server.
(Documentation on Hana Client and Hana Server soon)
This project is in alpha phase so it's in constant change and some features may not work as expected.
We appreciate if you take your time to report bugs or open a feature request!
curl -L https://raw.githubusercontent.com/iankressin/hana/main/install.sh | bash
Setup your environment
mkdir ~/.hana && cd ~/.hana
mkdir records && echo "{}" >> records/folders.json
Setup Tauri and its dependencies:
Running the project
git clone https://github.com/iankressin/hana
cd hana && npm install
- Open 2 shell windows:
- In the first
npm start
- In the second:
npm run tauri dev
- In the first
Hana and Hana CLI were built to work together, so it's safe to share files using the CLI and the GUI versions of Hana.
Currently Hana do not support:
- Retry send files if no server was found on the first try
- Windows OS (Windows doesn't support mDNS out of the box as RFC 6762 describes. We're still trying to figure out how to make Hana compatible across OSs. If you ever worked with Microsoft's LLMNR before, your help will be much appreciated 🙃)