1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-08 05:57:03 +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-11-01 12:42:03 +00:00
.githooks GO-1732 Add commit hooks and test coverage report 2023-08-01 17:54:16 +02:00
.github .github/workflows/coverage.yml updated golang version and refactoring 2023-09-11 15:23:45 +00:00
accountservice Change treesyncer component and mocks 2023-09-27 22:41:33 +02:00
app Change treesyncer component and mocks 2023-09-27 22:41:33 +02:00
commonfile fix 2023-10-25 13:55:13 +02:00
commonspace Add NodeTypeNamingNode and NodeTypePaymentProcessingNode to nodeconf 2023-11-01 12:42:03 +00:00
consensus Change treesyncer component and mocks 2023-09-27 22:41:33 +02:00
coordinator regenerate mock coordinator client 2023-10-25 15:50:38 +02:00
deps build deps locally 2023-01-11 14:15:20 +03:00
identityrepo/identityrepoproto identityrepoproto: dataPull change proto 2023-08-07 19:53:14 +02:00
metric validate rpc method name 2023-06-14 11:55:59 +02:00
net Change treesyncer component and mocks 2023-09-27 22:41:33 +02:00
nodeconf Add NodeTypeNamingNode and NodeTypePaymentProcessingNode to nodeconf 2023-11-01 12:42:03 +00:00
testutil fix imports 2023-05-23 14:47:24 +02:00
util Change treesyncer component and mocks 2023-09-27 22:41:33 +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.31.0 to 0.32.0 2023-10-30 15:24:25 +00:00
go.sum Bump github.com/libp2p/go-libp2p from 0.31.0 to 0.32.0 2023-10-30 15:24:25 +00:00
LICENSE.md Mention consensus node (#71) 2023-09-14 17:00:11 +03:00
Makefile Merge branch 'main' of github.com:anyproto/any-sync into GO-1737-any-id-repository 2023-08-03 14:17:43 +02:00
README.md Mention consensus node (#71) 2023-09-14 17:00:11 +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-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.