Port Brave Sync server to Rust

Use SQLite for persistence and generate Rust protobuf bindings at build time.

Add Docker image support for containerized deployment.

Co-Authored-By: codex <[email protected]>
This commit is contained in:
janisslsmandcodex committed 2026-06-04 23:57:44 +03:00
commit 28826af88d
93 files changed
+11666

No files matched your search

@@ -0,0 +1,50 @@
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol for persisting the loopback server state to disk.
syntax = "proto2";
option go_package = "./sync_pb";
option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";
option optimize_for = LITE_RUNTIME;
package sync_pb;
import "sync_entity.proto";
// Serialization of the LoopbackServerEntity and its ancestors.
message LoopbackServerEntity {
// Entity type mapping to one of the subclasses of LoopbackServerEntity.
enum Type {
UNKNOWN = 0;
BOOKMARK = 1;
PERMANENT = 2;
TOMBSTONE = 3;
UNIQUE = 4;
}
optional Type type = 1;
optional SyncEntity entity = 2;
optional int64 model_type = 3;
}
// Contains the loopback server state.
message LoopbackServerProto {
// The protocol buffer format version.
optional int64 version = 1;
optional int64 store_birthday = 2;
repeated LoopbackServerEntity entities = 3;
// All Keystore keys known to the server.
repeated bytes keystore_keys = 4;
// The last entity ID that was assigned to an entity.
optional int64 last_version_assigned = 5;
}