Harden connectivity probe, add checking state, support URLTest/Fallback groups, MIT license

This commit is contained in:
av
2026-07-18 16:29:20 +03:00
parent fc83c57382
commit ec673b92f3
5 changed files with 207 additions and 106 deletions
+19 -11
View File
@@ -7,25 +7,29 @@ GNOME, используя встроенный **Clash API**.
**В панели (компактно):**
- монохромный индикатор-кружок с тремя состояниями (цвет берётся из цвета текста
панели, поэтому индикатор одинаково читается на тёмной и светлой теме):
- монохромный индикатор-кружок (цвет берётся из цвета текста панели, поэтому
индикатор одинаково читается на тёмной и светлой теме):
- **залитый круг** — сервис работает и через активный outbound есть связь;
- **сплошное кольцо** — сервис работает, но связи через outbound нет;
- **пунктирное кольцо (тусклое)** — сервис (Clash API) недоступен.
- **яркое сплошное кольцо** — сервис работает, но связи через outbound нет;
- **тусклое сплошное кольцо** — сервис работает, связь ещё проверяется;
- **пунктирное тусклое кольцо** — сервис (Clash API) недоступен / подключение.
Различие «есть связь / нет связи» доступно только при включённой опции
«Connectivity check» (см. ниже) — иначе кружок просто залит, когда API отвечает;
- имя активного outbound (текущий узел Selector-группы);
Различие «есть связь / нет связи / проверяется» доступно только при включённой
опции «Connectivity check» (см. ниже) — иначе кружок просто залит, когда API
отвечает, и пунктирный, когда нет;
- имя активного outbound (текущий узел группы);
- текущую скорость, например `↓2.4M ↑120k`.
**В выпадающем меню (подробности):**
- `sing-box · Active / Unreachable`;
- полная скорость (`↓ 2.4 MB/s ↑ 120 KB/s`);
- каждая Selector-группа отдельным подменю — выбор узла **переключает активный
outbound** (текущий помечен точкой, рядом — последняя измеренная задержка, если она
есть). Пункт **Test latency** в подменю запускает ручной замер задержки всех узлов
группы и обновляет значения на месте (меню при этом не закрывается);
- каждая группа outbound'ов отдельным подменю. **Selector**-группы переключаемы —
выбор узла меняет активный outbound; **URLTest/Fallback**-группы показываются только
для просмотра (узел выбирает сам sing-box). Текущий узел помечен точкой, рядом —
последняя измеренная задержка, если она есть. Пункт **Test latency** в подменю
запускает ручной замер задержки всех узлов группы по адресу `connectivity-url` и
обновляет значения на месте (меню при этом не закрывается);
- число активных соединений с разбивкой по outbound;
- **Open dashboard** (MetaCubeXD или ваш дашборд Clash) и **Settings**.
@@ -95,3 +99,7 @@ API sing-box 1.13.13.
- `lib/format.js` — форматирование байтов и скорости.
- `prefs.js` — настройки на Adwaita.
- `schemas/` — схема GSettings.
## Лицензия
MIT — см. [LICENSE](LICENSE).