diff options
| author | zhuzn <haimu0427@Outlook.com> | 2026-04-19 23:26:13 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-19 23:26:13 +0300 |
| commit | d580086361036f87af843d0f7386bdc54736720a (patch) | |
| tree | f22944b1ab1ea8c29858d796cc248b7b16436427 /web/html/settings/panel/subscription/subpage.html | |
| parent | 1e3b366fba3054698d55e36891d022a513e5a942 (diff) | |
feat add clash yaml convert (#3916)
* docs(agents): add AI agent guidance documentation
* feat(sub): add Clash/Mihomo YAML subscription service
Add SubClashService to convert subscription links to Clash/Mihomo
YAML format for direct client compatibility.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(sub): integrate Clash YAML endpoint into subscription system
- Add Clash route handler in SUBController
- Update BuildURLs to include Clash URL
- Pass Clash settings through subscription pipeline
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(web): add Clash settings to entity and service
- Add SubClashEnable, SubClashPath, SubClashURI fields
- Add getter methods for Clash configuration
- Set default Clash path to /clash/ and enable by default
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(ui): add Clash settings to subscription panels
- Add Clash enable switch in general subscription settings
- Add Clash path/URI configuration in formats panel
- Display Clash QR code on subscription page
- Rename JSON tab to "Formats" for clarity
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(js): add Clash support to frontend models
- Add subClashEnable, subClashPath, subClashURI to AllSetting
- Generate and display Clash QR code on subscription page
- Handle Clash URL in subscription data binding
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Sanaei <ho3ein.sanaei@gmail.com>
Diffstat (limited to 'web/html/settings/panel/subscription/subpage.html')
| -rw-r--r-- | web/html/settings/panel/subscription/subpage.html | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/web/html/settings/panel/subscription/subpage.html b/web/html/settings/panel/subscription/subpage.html index 794c67c3..64c1224d 100644 --- a/web/html/settings/panel/subscription/subpage.html +++ b/web/html/settings/panel/subscription/subpage.html @@ -83,7 +83,7 @@ <a-form-item> <a-space direction="vertical" align="center"> <a-row type="flex" :gutter="[8,8]" justify="center" style="width:100%"> - <a-col :xs="24" :sm="app.subJsonUrl ? 12 : 24" style="text-align:center;"> + <a-col :xs="24" :sm="app.subJsonUrl || app.subClashUrl ? 12 : 24" style="text-align:center;"> <tr-qr-box class="qr-box"> <a-tag color="purple" class="qr-tag"> <span>{{ i18n @@ -112,6 +112,19 @@ </tr-qr-bg> </tr-qr-box> </a-col> + <a-col v-if="app.subClashUrl" :xs="24" :sm="12" style="text-align:center;"> + <tr-qr-box class="qr-box"> + <a-tag color="purple" class="qr-tag"> + <span>Clash / Mihomo</span> + </a-tag> + <tr-qr-bg class="qr-bg-sub"> + <tr-qr-bg-inner class="qr-bg-sub-inner"> + <canvas id="qrcode-subclash" class="qr-cv" title='{{ i18n "copy" }}' + @click="copy(app.subClashUrl)"></canvas> + </tr-qr-bg-inner> + </tr-qr-bg> + </tr-qr-box> + </a-col> </a-row> </a-space> </a-form-item> @@ -242,7 +255,7 @@ </a-layout> <!-- Bootstrap data for external JS --> -<template id="subscription-data" data-sid="{{ .sId }}" data-sub-url="{{ .subUrl }}" data-subjson-url="{{ .subJsonUrl }}" +<template id="subscription-data" data-sid="{{ .sId }}" data-sub-url="{{ .subUrl }}" data-subjson-url="{{ .subJsonUrl }}" data-subclash-url="{{ .subClashUrl }}" data-download="{{ .download }}" data-upload="{{ .upload }}" data-used="{{ .used }}" data-total="{{ .total }}" data-remained="{{ .remained }}" data-expire="{{ .expire }}" data-lastonline="{{ .lastOnline }}" data-downloadbyte="{{ .downloadByte }}" data-uploadbyte="{{ .uploadByte }}" data-totalbyte="{{ .totalByte }}" |
