Confidex
Розділи

Запустіть сервер синхронізації самостійно.

Сервер синхронізації зберігає запечатані коробки, веде лічильник для кожного сейфа і перевіряє підпис перед прийняттям зміни. Він ніколи не зберігає ключ і не бачить імені, тому запуск власної копії коштує дуже мало.

Оберіть, де він працює і де живуть об'єкти. Сторінка складає конфігурацію, а ви вставляєте її туди, де вона потрібна.

Три місця, де він може жити.

Той самий код обслуговує всі три варіанти. Cloudflare Worker вимагає від вас лише облікового запису; бінарний файл чи контейнер потребують машини, яка у вас уже є. Що б ви не обрали, ключі сейфа залишаються на ваших пристроях.

Cloudflare Worker

Безкоштовний тариф витримує невеликий сервер. Індекс — база даних D1, а об'єкти йдуть у S3-сумісний бакет, тому для приватного сейфа немає нічого, що треба підтримувати запущеним, і нічого платити.

Нативний бінарний файл

Один процес на Linux, macOS або Windows. Він обслуговує звичайний HTTP і очікує проксі перед собою для HTTPS. Коробки запечатані й підписані в будь-якому разі, тому звичайний HTTP тут не є слабкістю.

Контейнер

Той самий бінарний файл з тими самими налаштуваннями, переданими як змінні середовища. Використовуйте його, коли машина вже запускає контейнери і ви не хочете збирати з коду.

Без сервера взагалі

Синхронізація необов'язкова. Сейф може залишатися на одному пристрої з локальною резервною копією і ніколи не торкатися мережі. Додайте сервер пізніше, нічого не змінюючи всередині сейфа.

Дайте відповідь на чотири питання, скопіюйте результат.

Налаштування мають одну форму всюди: поле TOML або те саме поле як змінна середовища. Worker приймає лише S3-бакети; бінарний файл і контейнер також пишуть у звичайні каталоги та в репозиторій Git.

Завантажте й розпакуйте ZIP для самостійного розміщення. Компілятор Rust не потрібен.

GitHub Releases · self-host ZIP

Показати конфігурацію

Конфігурацію оновлено.

Де він працює
Індекс
Де зберігаються запечатані коробки

Оберіть стільки, скільки хочете. Кожна коробка пишеться в усі з них; читання переходить на наступне і перевіряє дайджест.

Адреса для вхідних з’єднань
Повернутися до налаштувань

Перед розгортанням створіть базу даних і бакет. Замініть усі заповнювачі.

Файл конфігурації


        

Команди


        

Секрети залишаються в секретах Worker, ніколи у файлі. Worker пише лише в S3-сумісне сховище.

Значення в кутових дужках вам потрібно заповнити самостійно. Ніщо з уведеного тут не покидає сторінку: текст складається у вашому браузері.

Спрямуйте свої сейфи на нього.

Новий сейф використовує sync.confidex.me. Зміна адреси — це одне налаштування в застосунку, і сейф продовжує працювати: адреса не є частиною сейфа і не є частиною його ідентичності.

У застосунку
Відкрийте налаштування сейфа і замініть адресу сервера синхронізації на власну. Клієнт сам додає шлях API.
Спільне джерело
Застосунок і API можуть жити на одному домені. Спрямуйте префікс API на сервер, а все інше — на застосунок.
Облікові записи
Немає жодного. Сейф реєструється сам, завантажуючи свій підписаний замок, і замінити його може лише власник ключа підпису.
Кілька серверів
Один сейф спілкується з одним сервером за раз. Перехід на інший — те саме єдине налаштування.

Що має робити власник сервера.

Дуже мало, і ніщо з цього не стосується секретів. Сервер зберігає запечатані коробки та індекс, який на них вказує. Резервна копія — це копія обох.

Резервні копії

Копіюйте індекс і сховище об'єктів разом. Об'єкти незмінні і названі своїм дайджестом, тому копія, зроблена під час роботи сервера, залишається дійсною.

Оновлення

Замініть бінарний файл або розгорніть Worker знову. Схема індексу застосовується під час запуску для нативного індексу та файлом схеми для D1.

Доступ

Облікові дані сховища авторизують сервер у його власному сховищі. Вони не мають нічого спільного з ключами сейфа і не можуть відкрити жодної коробки.

Ліцензія

Сервер ліцензований під GNU AGPL-3.0. Зміни, які ви запускаєте для інших людей, залишаються відкритими; копія, яку ви запускаєте для себе, не несе жодних зобов'язань.

Сервер — найменш цікава частина, і це головна суть.