Браузерне розширення
Браузерне розширення Elido переносить функцію скорочення безпосередньо у вкладку, на якій ви зараз перебуваєте. Відкрийте спливаюче вікно, вставте URL-адресу - і коротке посилання вже у вашому буфері обміну. Або натисніть правою кнопкою миші на будь-яке посилання та скоротіть його миттєво. Іконка розширення показує кількість кліків на ваше останнє посилання в реальному часі.
Побудовано на Manifest V3, упаковано за допомогою wxt , протестовано на Chrome / Edge / Brave / Arc / Firefox.
Що воно вміє
- Спливаюче вікно «встав та скороти». Натисніть на іконку розширення → вставте URL → коротке посилання опиниться у вашому буфері обміну за одне натискання клавіші.
- Контекстне меню. Натисніть правою кнопкою миші на будь-яке посилання або виділену URL-адресу будь-де на сторінці; пункт «Скоротити за допомогою Elido» зареєструє коротке посилання та скопіює його.
- Бейдж із лічильником кліків. Іконка на панелі інструментів показує кількість кліків на нещодавно створене посилання в реальному часі, дані оновлюються кожні 60 секунд.
- OAuth2 PKCE. У розширенні не зберігаються довготривалі токени API; автентифікація проходить через Ory Hydra з токеном оновлення (refresh token) у
chrome.storage.local(для кожного пристрою окремо, ніколи не передається через контейнер синхронізації). - Повна інтернаціоналізація (i18n). Спливаюче вікно та сторінки налаштувань локалізовані десятьма мовами (en, ua, ru, de, fr, es, pt, it, pl, ja) - Chrome автоматично вибирає мову на основі локалі браузера користувача.
- Підтримка Self-hosted. Адресу API можна налаштувати на сторінці опцій. Спрямуйте її на ваш власний
api-core, і розширення буде направляти трафік туди.
Встановлення (зараз)
Вихідний код розширення знаходиться в apps/extension/ у монорепозиторії elidoapp/elido. Продакшн-збірки для магазинів очікують на перевірку в Chrome Web Store / Firefox Add-ons (описи та скріншоти вже в черзі - див. ADR-0028 щодо архітектури). Поки вони не з’явилися, встановіть розробницьку збірку локально:
git clone https://github.com/elidoapp/elido.git
cd elido
pnpm install
pnpm --filter @elido/extension build:chrome # або build:firefoxpnpm --filter @elido/extension build:chrome створює бандл Manifest V3 у apps/extension/.output/chrome-mv3/.
Браузери на базі Chromium (Chrome / Edge / Brave / Arc)
- Відкрийте
chrome://extensions. - Увімкніть Developer mode (режим розробника) у верхньому правому куті.
- Натисніть Load unpacked (завантажити розпаковане).
- Виберіть
apps/extension/.output/chrome-mv3/.
Firefox
- Виконайте
pnpm --filter @elido/extension build:firefox. - Відкрийте
about:debugging#/runtime/this-firefox. - Натисніть Load Temporary Add-on (завантажити тимчасове доповнення).
- Виберіть
apps/extension/.output/firefox-mv2/manifest.json.
Firefox видаляє тимчасові доповнення після перезапуску браузера - для повсякденного використання підпишіть збірку за допомогою web-ext або дочекайтеся публікації в AMO.
Налаштування при першому запуску
При першому відкритті розширення покаже сторінку налаштувань. Оберіть один із варіантів:
- Токен API робочої області - вставте ключ
ek_…з розділу Dashboard → API keys . Це найпростіший шлях; токен зберігається вchrome.storage.sync, тому він синхронізується через контейнер Chrome користувача. - OAuth2 PKCE - натисніть Sign in with Elido. Відкриється спливаюче вікно браузера на
https://hydra.elido.app, користувач увійде через Kratos, а розширення збереже токен оновлення (уchrome.storage.local) та короткочасний токен доступу (access token) у пам’яті. Рекомендовано для спільних або керованих пристроїв - ніяких довготривалих секретів на диску.
Конфігурація
На сторінці опцій доступні:
| Налаштування | За замовчуванням | Примітки |
|---|---|---|
| API origin | https://api.elido.app | Спрямуйте на ваш власний api-core для self-hosted Elido. |
| Default workspace | Перша у вашому акаунті | Використовується при скороченні через спливаюче вікно або контекстне меню. |
| Default redirect domain | Перший активний домен | Налаштування для кожної робочої області; заповнюється з /v1/workspaces/{id}/domains. |
| Click-count poll interval | 60s | Нижній ліміт - 30 секунд, щоб бути ощадливим до api-core. |
Політика конфіденційності
Розширення не збирає жодної телеметрії, не містить сторонніх скриптів, а єдині мережеві запити воно робить до вказаної вами адреси API. Структура зберігання токенів / токенів оновлення задокументована в Центрі довіри (Trust Center) у розділі «Browser extension - data scope». Дозволи маніфесту обмежені мінімумом, необхідним для роботи спливаючого вікна (activeTab, contextMenus, storage, notifications, clipboardWrite, offscreen для запису в буфер обміну через service-worker та identity для OAuth2 редіректу).
План розвитку
Версія MV3 функціонально завершена; пункти в черзі стосуються дистрибуції, а не функціоналу:
- Публікація в Chrome Web Store + Firefox AMO.
- Публікація в Edge Add-ons (копія бандла для Chrome).
- Канал автоматичного оновлення, підписаний ключем під контролем Elido.
Слідкуйте за журналом змін (changelog) щодо виходу в магазинах.
Вихідний код
- Код:
apps/extension/ - Обґрунтування архітектури: ADR-0028
- Ціль збірки: Manifest V3, упаковано з wxt