any-sync

module
v0.2.17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 7, 2023 License: MIT

README

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!

❤️ This project and everyone involved in it is governed by the Code of Conduct.

🧑‍💻 Check out our contributing guide to learn about asking questions, creating issues, or submitting pull requests.

🫢 For security findings, please email security@anytype.io and refer to our security guide for more information.

🤝 Follow us on Github and join the Contributors Community.


Made by Any — a Swiss association 🇨🇭

Licensed under MIT License.

Directories

Path Synopsis
mock_accountservice
Package mock_accountservice is a generated GoMock package.
Package mock_accountservice is a generated GoMock package.
app
ldiff
Package ldiff provides a container of elements with fixed id and changeable content.
Package ldiff provides a container of elements with fixed id and changeable content.
ldiff/mock_ldiff
Package mock_ldiff is a generated GoMock package.
Package mock_ldiff is a generated GoMock package.
commonfile
credentialprovider/mock_credentialprovider
Package mock_credentialprovider is a generated GoMock package.
Package mock_credentialprovider is a generated GoMock package.
deletionstate/mock_deletionstate
Package mock_deletionstate is a generated GoMock package.
Package mock_deletionstate is a generated GoMock package.
headsync/mock_headsync
Package mock_headsync is a generated GoMock package.
Package mock_headsync is a generated GoMock package.
object/acl/list/mock_list
Package mock_list is a generated GoMock package.
Package mock_list is a generated GoMock package.
object/acl/liststorage/mock_liststorage
Package mock_liststorage is a generated GoMock package.
Package mock_liststorage is a generated GoMock package.
object/acl/syncacl/mock_syncacl
Package mock_syncacl is a generated GoMock package.
Package mock_syncacl is a generated GoMock package.
object/tree/objecttree/mock_objecttree
Package mock_objecttree is a generated GoMock package.
Package mock_objecttree is a generated GoMock package.
object/tree/synctree/mock_synctree
Package mock_synctree is a generated GoMock package.
Package mock_synctree is a generated GoMock package.
object/tree/synctree/updatelistener/mock_updatelistener
Package mock_updatelistener is a generated GoMock package.
Package mock_updatelistener is a generated GoMock package.
object/tree/treestorage/mock_treestorage
Package mock_treestorage is a generated GoMock package.
Package mock_treestorage is a generated GoMock package.
object/treemanager/mock_treemanager
Package mock_treemanager is a generated GoMock package.
Package mock_treemanager is a generated GoMock package.
objectsync/mock_objectsync
Package mock_objectsync is a generated GoMock package.
Package mock_objectsync is a generated GoMock package.
objecttreebuilder/mock_objecttreebuilder
Package mock_objecttreebuilder is a generated GoMock package.
Package mock_objecttreebuilder is a generated GoMock package.
peermanager/mock_peermanager
Package mock_peermanager is a generated GoMock package.
Package mock_peermanager is a generated GoMock package.
settings/mock_settings
Package mock_settings is a generated GoMock package.
Package mock_settings is a generated GoMock package.
settings/settingsstate/mock_settingsstate
Package mock_settingsstate is a generated GoMock package.
Package mock_settingsstate is a generated GoMock package.
spacestorage/mock_spacestorage
Package mock_spacestorage is a generated GoMock package.
Package mock_spacestorage is a generated GoMock package.
spacesyncproto/mock_spacesyncproto
Package mock_spacesyncproto is a generated GoMock package.
Package mock_spacesyncproto is a generated GoMock package.
consensus
consensusclient/mock_consensusclient
Package mock_consensusclient is a generated GoMock package.
Package mock_consensusclient is a generated GoMock package.
coordinator
coordinatorclient/mock_coordinatorclient
Package mock_coordinatorclient is a generated GoMock package.
Package mock_coordinatorclient is a generated GoMock package.
net
peer/mock_peer
Package mock_peer is a generated GoMock package.
Package mock_peer is a generated GoMock package.
pool/mock_pool
Package mock_pool is a generated GoMock package.
Package mock_pool is a generated GoMock package.
rpc
transport/mock_transport
Package mock_transport is a generated GoMock package.
Package mock_transport is a generated GoMock package.
mock_nodeconf
Package mock_nodeconf is a generated GoMock package.
Package mock_nodeconf is a generated GoMock package.
testutil
util
crc16
Package crc16 is implementation according to CCITT standards.
Package crc16 is implementation according to CCITT standards.
periodicsync/mock_periodicsync
Package mock_periodicsync is a generated GoMock package.
Package mock_periodicsync is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL