From 49df8392541678ccc0d001a5ad3a0ee480c87674 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Sat, 18 Jul 2026 16:48:16 +0300 Subject: [PATCH] Document fresh-clone install, update, and disable/uninstall steps in README --- README.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8c4dd83..fd135e2 100644 --- a/README.md +++ b/README.md @@ -54,23 +54,86 @@ GNOME, используя встроенный **Clash API**. } ``` -## Установка (из исходников) +## Установка + +Полная последовательность после свежего `git clone` (в репозитории нет собранной +схемы — её нужно скомпилировать локально, шаг 3): ```sh +# 1. Клонировать репозиторий +git clone https://git.vakhrushev.me/av/sing-box-gnome-extension.git +cd sing-box-gnome-extension + +# 2. Установить как пользовательское расширение. Симлинк на клон удобен тем, что +# обновления затем подтягиваются простым `git pull` (не удаляйте каталог клона). UUID="sing-box-status@git.vakhrushev.me" +mkdir -p "$HOME/.local/share/gnome-shell/extensions" ln -s "$PWD" "$HOME/.local/share/gnome-shell/extensions/$UUID" + +# 3. Скомпилировать схему GSettings (обязательно: gschemas.compiled не хранится в git) glib-compile-schemas schemas/ -# На Wayland: выйдите из сессии и войдите снова, чтобы shell зарегистрировал -# новое расширение, затем: + +# 4. Перезапустить GNOME Shell, чтобы он увидел новое расширение: +# X11 — Alt+F2, ввести «r», Enter +# Wayland — выйти из сессии и войти снова (перезапуск на лету невозможен) + +# 5. Включить расширение gnome-extensions enable "$UUID" ``` -Откройте **Settings** из меню (или `gnome-extensions prefs "$UUID"`) и задайте: +Вместо симлинка можно скопировать файлы +(`cp -r . "$HOME/.local/share/gnome-shell/extensions/$UUID"`), но тогда каждое +обновление придётся копировать заново. + +Проверить состояние: + +```sh +gnome-extensions info sing-box-status@git.vakhrushev.me # ENABLED / DISABLED / ошибки +``` + +После включения откройте **Settings** из меню расширения (или +`gnome-extensions prefs "$UUID"`) и задайте: - **API URL** — например `http://127.0.0.1:9090` (ваш `external_controller`); - **Secret** — ваш `clash_api.secret`; - **Dashboard URL** — например `http://127.0.0.1:9091`. +### Обновление + +```sh +cd sing-box-gnome-extension && git pull +glib-compile-schemas schemas/ # если менялась схема +# перезапуск GNOME Shell (см. шаг 4) — на Wayland через перелогин +``` + +## Отключение и удаление + +Временно **отключить** (расширение остаётся установленным, настройки сохраняются): + +```sh +gnome-extensions disable sing-box-status@git.vakhrushev.me +``` + +Снова **включить**: + +```sh +gnome-extensions enable sing-box-status@git.vakhrushev.me +``` + +Отключать и включать можно и через GUI — приложение **Extensions** («Расширения») +или **Extension Manager**. + +Полностью **удалить**: + +```sh +UUID="sing-box-status@git.vakhrushev.me" +gnome-extensions disable "$UUID" +rm "$HOME/.local/share/gnome-shell/extensions/$UUID" # симлинк (или каталог при копировании) +dconf reset -f /org/gnome/shell/extensions/sing-box-status/ # необязательно: сбросить настройки +``` + +На Wayland индикатор из панели исчезнет после перелогина. + ## Как это работает Каждые *N* секунд (по умолчанию 2) расширение опрашивает две точки Clash API: