Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
What is Hive2Hive?
Hive2Hive is an open-source library, written in Java, for secure, distributed, P2P-based file synchronization and sharing. It is built on top of TomP2P, an advanced, high-performance DHT for multi-key-value pairs. The Hive2Hive project is licensed under the MIT License and any contribution is welcome.
Problems of Common Sync and Sharing Services
Although many well-known synchronization and sharing services exist, most of them exhibit the following drawbacks:
- centralized client-server approaches, data resides in large, external data centers
- single-point-of-failure, vulnerable to targeted attacks
- often not scalable
- private data is not encrypted
- user control is revoked, no control over who has access to the private data
- user is bound to the respective pricing and terms of service
- no version control, no conflict management
Hive2Hive is the Solution!
The Hive2Hive library addresses these issues by providing a free and open-sourced, distributed and scalable solution that focuses on maximum security and privacy of both users and data. Aside of this, it supports the whole feature set known from similar centralized approaches, such as Dropbox, OneDrive or Google Drive, and adds functionality for file versioning and conflict management. All packed in a clean, simple API.
There are many simple ways to improve this experience even more.
Hive2Hive offers the same basic functionality known from popular synchronization services (e.g., Dropbox). On top of that, the library includes additional features such as security and versioning.
- File Synchronization
- File Sharing and Access Permissions (read/write and read-only)
- File Versioning and Conflict Management
- File Watchdog / Change Detection (automated, configurable)
- Security (configurable)
- Users can use multiple clients (simulatenously)
- Multiple users can use the same machine (simultaneously)
Using the Hive2Hive library is very simple and has several advantages.
- P2P Decentralization
- Reliability & Fault-Tolerance
- no file size limits (configurable)
- platform independent (JVM)
- headless deployment possible* (e.g., on a Raspberry Pi)
- free & open-source
- generously configurable & customizable
- highly extendable
- detailed documentation
* Try our console-based
org.hive2hive.client by just executing the library