Dev/mihomo control (#339)
* Add Mihomo Control plugin Monitor and control a Mihomo (Clash Meta) external controller from the bar: live traffic graph, proxy mode, proxy-group management with latency tests, and core restart. Works locally (127.0.0.1) or remotely via host/port/secret settings. * Add Chinese (Simplified) translation * Add test-all latency button Adds a Test all button next to the Proxy groups heading that runs latency tests on every group sequentially, with a single summary notification. * Unify traffic and proxy groups section styles Give both sections the same card look: muted medium-weight heading on the left, secondary info on the right, and proxy-group cards restyled as bordered sub-cards inside the section. * Polish proxy group cards Show the selected proxy next to the bold group name (ECS > ecs-proxy), move the expand chevron to the type/members row where the list opens, and drop the list glyph from the card header. * Decouple heights of paired group cards Keep each card in a two-column row at its natural height instead of stretching the neighbor when one is expanded. * Use thumbnail generator to generate thumbnail * mihomo-control: theme-aware panel colors Use theme roles for traffic and latency colors so they stay readable in light mode, and keep the status chip's green/amber/red identity with darker light-mode shades.
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
# Mihomo Control — monitor and control a Mihomo (Clash Meta) external
|
||||
# controller: live traffic, proxy mode, group selection, latency tests and
|
||||
# active connections, locally (127.0.0.1) or on a remote host.
|
||||
#
|
||||
# The service entry owns every HTTP request and publishes "mihomo.*" state;
|
||||
# the widget, panel and shortcut are pure subscribers and send commands
|
||||
# through the "mihomo.command" state channel.
|
||||
|
||||
id = "mdj2812/mihomo-control"
|
||||
name = "Mihomo Control"
|
||||
version = "0.1.0"
|
||||
plugin_api = 9
|
||||
author = "mdj2812"
|
||||
license = "MIT"
|
||||
icon = "cat"
|
||||
description = "Monitor and control Mihomo (Clash Meta) — live traffic, proxy mode, group selection, and connections, local or remote."
|
||||
tags = ["network", "indicator", "utility", "bar", "panel", "service", "shortcut"]
|
||||
dependencies = []
|
||||
|
||||
# ── Shared settings ──────────────────────────────────────────────────────────
|
||||
[[setting]]
|
||||
key = "host"
|
||||
type = "string"
|
||||
default = "127.0.0.1"
|
||||
label_key = "settings.host.label"
|
||||
description_key = "settings.host.description"
|
||||
|
||||
[[setting]]
|
||||
key = "port"
|
||||
type = "string"
|
||||
default = "9090"
|
||||
label_key = "settings.port.label"
|
||||
description_key = "settings.port.description"
|
||||
|
||||
[[setting]]
|
||||
key = "secret"
|
||||
type = "string"
|
||||
default = ""
|
||||
label_key = "settings.secret.label"
|
||||
description_key = "settings.secret.description"
|
||||
|
||||
[[setting]]
|
||||
key = "use_https"
|
||||
type = "bool"
|
||||
default = false
|
||||
advanced = true
|
||||
label_key = "settings.use_https.label"
|
||||
description_key = "settings.use_https.description"
|
||||
|
||||
[[setting]]
|
||||
key = "allow_insecure_tls"
|
||||
type = "bool"
|
||||
default = false
|
||||
advanced = true
|
||||
label_key = "settings.allow_insecure_tls.label"
|
||||
description_key = "settings.allow_insecure_tls.description"
|
||||
|
||||
[[setting]]
|
||||
key = "test_url"
|
||||
type = "string"
|
||||
default = "https://www.gstatic.com/generate_204"
|
||||
label_key = "settings.test_url.label"
|
||||
description_key = "settings.test_url.description"
|
||||
|
||||
[[setting]]
|
||||
key = "refresh_interval"
|
||||
type = "int"
|
||||
default = 2
|
||||
min = 1
|
||||
max = 60
|
||||
advanced = true
|
||||
label_key = "settings.refresh_interval.label"
|
||||
description_key = "settings.refresh_interval.description"
|
||||
|
||||
# ── Entries ──────────────────────────────────────────────────────────────────
|
||||
[[widget]]
|
||||
id = "widget"
|
||||
entry = "widget.luau"
|
||||
|
||||
[[panel]]
|
||||
id = "panel"
|
||||
entry = "panel.luau"
|
||||
width = 560
|
||||
height = 720
|
||||
placement = "floating"
|
||||
position = "center"
|
||||
|
||||
[[service]]
|
||||
id = "service"
|
||||
entry = "service.luau"
|
||||
|
||||
[[shortcut]]
|
||||
id = "mode"
|
||||
entry = "shortcut.luau"
|
||||
Reference in New Issue
Block a user