Table of Contents
Синхронізація налаштувань — v0.6.28
English | Українська
Додано у v0.6.26, випущеній 2026-11-02. Функція експериментальна та вимкнена за замовчуванням.
Підключення власного OpenBao
Кнопка Settings → Sync… доступна всім. Адреса сервера й обліковий запис не вбудовані у програму. Потрібен власний OpenBao з KV v2 та користувачем userpass, якого створює адміністратор; самостійної реєстрації у KSwitcher немає.
Увімкніть Enable synchronization with your OpenBao (KV v2) і заповніть:
| Поле | Значення |
|---|---|
| Server (HTTPS) | Адреса сервера, наприклад https://bao.example.com, без додаткового шляху |
| Username / Password | Логін і пароль окремого користувача з доступом до профілю |
| KV v2 mount | Назва сховища; типово kswitcher. Якщо назвали його інакше, вкажіть свою назву |
| Profile path | Запис усередині сховища; типово personal/settings |
| Login mount | Шлях способу входу userpass; типово userpass |
Натисніть Save / Sign in / Sync. Ця кнопка одразу зберігає підключення: головні Save/Cancel не керують цим окремим діалогом. Порожнє поле пароля використовує раніше збережений пароль для цієї адреси, способу входу та логіна.
Підключення зберігається в sync.json у папці даних: зазвичай data/ поруч із EXE, або LocalAppData, якщо папка програми недоступна для запису. Пароль зберігається у Windows Credential Manager та не потрапляє в експорт, журнали чи серверний профіль. Токен входу живе в пам’яті протягом однієї спроби синхронізації; після неї програма намагається відкликати токен. На сервері також задайте обмежений час дії, наприклад початкові 5 і максимальні 10 хвилин.
Перевірка сертифіката HTTPS обов’язкова, перенаправлення заборонені. Не підтримуються некореневі namespaces, URL-префікси зворотного проксі, MFA-вхід та інші провайдери.
Перший і другий ПК
Якщо профіль уже є, натисніть Save / Sign in / Sync: перше підключення одразу зливає незалежні записи. Списки винятків, сніпети й окремі пари замін об’єднуються. Різні значення одного параметра без спільної історії залишаються на своїх сторонах та з’являються у Resolve individual conflicts…. Решта змін застосовується одразу; нерозв’язані конфлікти зберігаються між запусками.
Якщо сервер порожній, Upload local створює профіль. Download remote / Upload local залишаються доступними для свідомої заміни профілю після підтвердження. Незбережені зміни Settings не синхронізуються; після завантаження закрийте та відкрийте Settings знову.
Конфлікти та видалення
Незалежні зміни параметрів об’єднуються за останньою спільною копією. Resolve individual conflicts… показує назву параметра та локальне/серверне значення. Виберіть потрібне значення для кожного спірного параметра і натисніть Apply choices. Невибрані конфлікти залишаться, а незалежні зміни продовжать синхронізуватися. Перед записом значення перевіряються повторно: застарілий діалог не перезаписує нові зміни іншого ПК.
Прив’язки гарячих клавіш до кожної розкладки порівнюються окремо. Винятки програм і особисті слова об’єднуються як набори елементів. Упорядковані списки розкладок та мов словників залишаються цілісними параметрами, оскільки порядок впливає на поведінку.
Сніпети мають сталі ID, що зберігаються після перейменування. Різні сніпети синхронізуються незалежно; зміни тригера й тексту одного сніпета також можуть об’єднуватись. Після видалення залишається запис без автоматичного строку очищення: незмінений офлайн-ПК не поверне сніпет мовчки. Видалення проти одночасного редагування потребує вибору між видаленою та зміненою версією. Однакові тригери або гарячі клавіші, що виникли після об’єднання, також показуються для розв’язання. Новий сніпет, створений у редакторі, отримує новий ID.
Кожен запис на сервер використовує CAS з щойно прочитаною версією, навіть Upload local. Якщо інший ПК встиг записати зміни, перезапис відхиляється. Видалений серверний профіль не відтворюється мовчки. Download/Upload призначені для початкового підключення або свідомого відновлення всього профілю, а не для звичайного розв’язання конфліктів.
Що передається
Синхронізуються гарячі клавіші, сніпети, порядок розкладок, винятки програм, параметри конвертації, скриншотів і автовиправлення, особисті словники. Для My dictionary спочатку натисніть OK, потім Save у головному вікні.
Локальними залишаються автозапуск та підвищення прав, підтримання активності, журналювання, увімкнення/ліміти історії, шлях та вибір рушія Tesseract, дані підключення й пароль. Історія буфера, знімки та файли словників не передаються. У повному режимі відсутні розкладки перелічуються за мовою (якщо Windows її визначає) та точним ID; можна встановити їх або скористатися частковим режимом нижче. Налаштування зберігаються в OpenBao як JSON; це не наскрізне шифрування від адміністратора сховища.
Оновлення, відновлення та відключення
Старі профілі мігруються автоматично: початкові ID сніпетів визначаються однаково з початкового тригера й надалі зберігаються. Запис використовує syncSchema: 2. Старі клієнти відмовляються читати цей формат, а не втрачають ID та записи видалення. Оновіть усі ПК перед використанням нової поведінки. Серверні профілі версії 1 та старі локальні базові копії підтримуються для міграції.
sync-base.bin містить останню спільну копію, а settings-before-sync.bin — налаштування перед останньою завантаженою зміною. Вони захищені Windows DPAPI та прив’язані до облікового запису й комп’ютера. Після перевстановлення Windows підключіться заново та завантажте серверний профіль; копіювання локальних DPAPI-файлів не відновлює їх на іншому ПК.
Для давнішої версії відновіть її як поточну через історію KV в OpenBao, потім натисніть Download remote. Перегляду серверної історії у програмі поки немає. Зберігайте й звичайні резервні копії сервера.
Disconnect / forget password вимикає синхронізацію та видаляє збережений пароль поточного підключення. Уже надісланий запит може завершитися, але завантажені налаштування не застосуються після зміни підключення. Облікові дані попередніх адрес/логінів можна видалити у Windows Credential Manager, розділ KSwitcher.Sync/.
Налаштування адміністратора OpenBao
- Створіть KV версії 2 на шляху
kswitcherабо власному. Увімкніть Require Check-and-Set, кількість версій задайте, наприклад, 30. - Створіть окремого користувача userpass і політику лише для його профілю. Для типових шляхів:
path "kswitcher/data/personal/settings" {
capabilities = ["create", "read", "update"]
}
path "auth/token/revoke-self" {
capabilities = ["update"]
}
- Призначте політику користувачу, обмежте час дії токенів та введіть його дані у KSwitcher. Не використовуйте адміністраторський акаунт. Сервер і довірений TLS-сертифікат мають бути доступні з кожного ПК.
Приклади інтерфейсу
Справжні діалоги v0.6.26 з демонстраційними даними.
Клавіші доступу діалогів (v0.6.27)
Alt+S — зберегти/увійти/синхронізувати, Alt+D — завантажити з сервера, Alt+U — передати на сервер, Alt+I — окремі конфлікти, Alt+F — відключити/забути пароль, Alt+C — закрити. У діалозі конфліктів: Alt+P — значення цього ПК, Alt+S — сервера, Alt+A — застосувати вибір, Alt+C — скасувати. Наявні перевірки та підтвердження залишаються чинними. Див. клавіші доступу.
Часткова синхронізація та доступність керування — v0.6.28
Прапорець Keep this PC’s layouts and layout shortcuts (sync other settings) залишає весь локальний цикл розкладок і прямі гарячі клавіші без змін. Натисніть Save / Sign in / Sync для збереження режиму й синхронізації решти параметрів. Порядок розкладок і прив’язки на сервері не перезаписуються навіть при повторному Sync або явному Upload. Download теж зберігає локальні розкладки. Параметр діє тільки на цьому ПК; зніміть його, щоб повернути повну синхронізацію.
Коли синхронізацію вимкнено, її поля та дії неактивні. Увімкніть головний прапорець, щоб налаштувати підключення. Для вимкнення активного підключення зніміть його й натисніть Save: запит не запускається, параметри й пароль зберігаються. Disconnect / forget password доступна і у вимкненому стані. Повідомлення можна виділити, скопіювати та прокрутити.

