1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-07 21:47:02 +09:00
An open-source protocol designed to create high-performance, local-first, peer-to-peer, end-to-end encrypted applications that facilitate seamless collaboration among multiple users and devices https://anytype.io/
Find a file
2023-08-01 17:54:16 +02:00
.githooks GO-1732 Add commit hooks and test coverage report 2023-08-01 17:54:16 +02:00
.github GO-1732 Add commit hooks and test coverage report 2023-08-01 17:54:16 +02:00
accountservice switch to uber/gomock 2023-07-10 15:41:22 +02:00
app switch to uber/gomock 2023-07-10 15:41:22 +02:00
commonfile handshake proto + common handshake fixes 2023-05-31 16:22:49 +02:00
commonspace Add syncaclhandler tests 2023-07-12 15:58:41 +02:00
consensus Merge remote-tracking branch 'origin/consensus-client' into acl-sync-protocol 2023-07-11 13:58:45 +02:00
coordinator switch to uber/gomock 2023-07-10 15:41:22 +02:00
deps build deps locally 2023-01-11 14:15:20 +03:00
metric validate rpc method name 2023-06-14 11:55:59 +02:00
net merge 2023-07-10 19:12:58 +02:00
nodeconf switch to uber/gomock 2023-07-10 15:41:22 +02:00
testutil fix imports 2023-05-23 14:47:24 +02:00
util merge 2023-07-10 19:12:58 +02:00
.gitignore make common module as any-sync repo 2023-01-05 15:34:09 +03:00
.pre-commit-config.yaml GO-1732 Add commit hooks and test coverage report 2023-08-01 17:54:16 +02:00
go.mod Bump github.com/libp2p/go-libp2p from 0.28.1 to 0.29.0 2023-07-17 15:55:07 +00:00
go.sum Bump github.com/libp2p/go-libp2p from 0.28.1 to 0.29.0 2023-07-17 15:55:07 +00:00
LICENSE change license org 2023-03-01 03:01:13 +02:00
Makefile GO-1732 Add commit hooks and test coverage report 2023-08-01 17:54:16 +02:00
README.md Add README.md 2023-07-17 10:09:29 +03:00

Any-Sync

Any-Sync is an open-source protocol designed to create high-performance, local-first, peer-to-peer, end-to-end encrypted applications that facilitate seamless collaboration among multiple users and devices.

By utilizing this protocol, users can rest assured that they retain complete control over their data and digital experience. They are empowered to freely transition between various service providers, or even opt to self-host the applications.

This ensures utmost flexibility and autonomy for users in managing their personal information and digital interactions.

Introduction

Most existing information management tools are implemented on centralized client-server architecture or designed for an offline-first single-user usage. Either way there are trade-offs for users: they can face restricted freedoms and privacy violations or compromise on the functionality of tools to avoid this.

We believe this goes against fundamental digital freedoms and that a new generation of software is needed that will respect these freedoms, while providing best in-class user experience.

Our goal with any-sync is to develop a protocol that will enable the deployment of this software.

Features:

  • Conflict-free data replication across multiple devices and agents
  • Built-in end-to-end encryption
  • Cryptographically verifiable history of changes
  • Adoption to frequent operations (high performance)
  • Reliable and scalable infrastructure
  • Simultaneous support of p2p and remote communication

Protocol explanation

Plese read the overview of protocol entities and design.

Implementation

You can find the various parts of the protocol implemented in Go in the following repositories:

  • any-sync-node — implementation of a sync node responsible for storing spaces and objects.
  • any-sync-filenode — implementation of a file node responsible for storing files.
  • any-sync-coordinator — implementation of a coordinator node responsible for network configuration management.

Contribution

Thank you for your desire to develop Anytype together.

Currently, we're not ready to accept PRs, but we will in the nearest future.

Follow us on Github and join the Contributors Community.


Made by Any — a Swiss association 🇨🇭

Licensed under MIT License.