any-sync

module
v0.3.4 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 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-consensusnode — implementation of a consensus node responsible for ACL changes monitoring and validation.
  • 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
Code generated by MockGen.
Code generated by MockGen.
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
Code generated by MockGen.
Code generated by MockGen.
commonfile
credentialprovider/mock_credentialprovider
Code generated by MockGen.
Code generated by MockGen.
deletionmanager/mock_deletionmanager
Code generated by MockGen.
Code generated by MockGen.
deletionstate/mock_deletionstate
Code generated by MockGen.
Code generated by MockGen.
headsync/mock_headsync
Code generated by MockGen.
Code generated by MockGen.
mock_commonspace
Code generated by MockGen.
Code generated by MockGen.
object/acl/list/mock_list
Code generated by MockGen.
Code generated by MockGen.
object/acl/liststorage/mock_liststorage
Code generated by MockGen.
Code generated by MockGen.
object/acl/syncacl/mock_syncacl
Code generated by MockGen.
Code generated by MockGen.
object/tree/objecttree/mock_objecttree
Code generated by MockGen.
Code generated by MockGen.
object/tree/synctree/mock_synctree
Code generated by MockGen.
Code generated by MockGen.
Code generated by MockGen.
object/tree/treestorage/mock_treestorage
Code generated by MockGen.
Code generated by MockGen.
object/treemanager/mock_treemanager
Code generated by MockGen.
Code generated by MockGen.
object/treesyncer/mock_treesyncer
Code generated by MockGen.
Code generated by MockGen.
objectsync/mock_objectsync
Code generated by MockGen.
Code generated by MockGen.
objecttreebuilder/mock_objecttreebuilder
Code generated by MockGen.
Code generated by MockGen.
peermanager/mock_peermanager
Code generated by MockGen.
Code generated by MockGen.
settings/settingsstate/mock_settingsstate
Code generated by MockGen.
Code generated by MockGen.
spacestorage/mock_spacestorage
Code generated by MockGen.
Code generated by MockGen.
spacesyncproto/mock_spacesyncproto
Code generated by MockGen.
Code generated by MockGen.
consensus
consensusclient/mock_consensusclient
Code generated by MockGen.
Code generated by MockGen.
coordinator
coordinatorclient/mock_coordinatorclient
Code generated by MockGen.
Code generated by MockGen.
identityrepo
net
peer/mock_peer
Code generated by MockGen.
Code generated by MockGen.
pool/mock_pool
Code generated by MockGen.
Code generated by MockGen.
rpc
transport/mock_transport
Code generated by MockGen.
Code generated by MockGen.
mock_nodeconf
Code generated by MockGen.
Code generated by MockGen.
testutil
util
crc16
Package crc16 is implementation according to CCITT standards.
Package crc16 is implementation according to CCITT standards.
periodicsync/mock_periodicsync
Code generated by MockGen.
Code generated by MockGen.

Jump to

Keyboard shortcuts

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