1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-09 17:45: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
Mikhail Rakhmanov 3f4a4fe20d
Merge pull request #166 from anyproto/GO-2937-acl-send-coordinator
GO-2937: Change to coordinator client
2024-02-19 19:49:28 +01: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 Generate mocks 2024-01-24 10:01:00 +01:00
app Merge pull request #152 from anyproto/go-1293-fix-ocache 2024-01-26 15:24:04 +03:00
commonfile fix 2023-10-25 13:55:13 +02:00
commonspace Add mock coordinator client 2024-02-19 19:45:37 +01:00
consensus update mock 2024-02-15 19:38:45 +01:00
coordinator merge 2024-02-15 19:12:28 +01: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
nameservice Add FullName to CreateUserOperationRequest 2023-11-30 19:40:07 +00:00
net add version 3 as compatible 2024-02-19 15:40:49 +01:00
nodeconf Generate mocks 2024-01-24 10:01:00 +01:00
paymentservice Fix: app.ComponentRunnable -> app.Component 2023-11-29 15:19:36 +00:00
testutil fix imports 2023-05-23 14:47:24 +02:00
util Generate mocks 2024-01-24 10:01:00 +01: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 merge 2024-02-12 19:17:41 +01:00
go.sum merge 2024-02-12 19:17:41 +01:00
LICENSE.md Mention consensus node (#71) 2023-09-14 17:00:11 +03:00
Makefile Move pp client from pp repository to any-sync 2023-11-27 20:40:41 +00: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.