Browse Source

Merge pull request #1545 from Anankke/dev-20220827

Dev 20220827
M1Screw 3 years ago
parent
commit
00b6a5eb93
2 changed files with 91 additions and 272 deletions
  1. 50 193
      resources/views/material/user/index.tpl
  2. 41 79
      src/Command/ClientDownload.php

+ 50 - 193
resources/views/material/user/index.tpl

@@ -238,7 +238,7 @@
                     <div class="card">
                         <div class="card-main">
                             <div class="card-inner margin-bottom-no">
-                                <p class="card-heading"><i class="icon icon-md">notifications_active</i> 公告</p>
+                                <p class="card-heading"><i class="icon icon-md">notifications_active</i> 最新公告</p>
                                 {if $ann != null}
                                     <p>{$ann->content}</p>
                                     <br/>
@@ -289,7 +289,7 @@
                                                         <td>{$user->port}</td>
                                                     </tr>
                                                     <tr>
-                                                        <td><strong>SS/SSR连接密码</strong></td>
+                                                        <td><strong>连接密码</strong></td>
                                                         <td>{$user->passwd}</td>
                                                     </tr>
                                                     <tr>
@@ -323,7 +323,7 @@
                                                         <a class="" data-toggle="tab" href="#sub_center_universal_subscription"><i class="icon icon-lg">star</i>&nbsp;通用订阅</a>
                                                     </li>
                                                     <li>
-                                                        <a class="" data-toggle="tab" href="#sub_center_general"><i class="icon icon-lg">error</i>&nbsp;协议/客户端专用订阅(旧)</a>
+                                                        <a class="" data-toggle="tab" href="#sub_center_general"><i class="icon icon-lg">apps</i>&nbsp;协议/客户端专用订阅</a>
                                                     </li>
                                                     <li>
                                                         <a class="" data-toggle="tab" href="#sub_center_windows"><i class="icon icon-lg">desktop_windows</i>&nbsp;Windows</a>
@@ -338,7 +338,7 @@
                                                         <a class="" data-toggle="tab" href="#sub_center_android"><i class="icon icon-lg">android</i>&nbsp;Android</a>
                                                     </li>
                                                     <li>
-                                                        <a class="" data-toggle="tab" href="#sub_center_linux"><i class="icon icon-lg">devices_other</i>&nbsp;Linux</a>
+                                                        <a class="" data-toggle="tab" href="#sub_center_linux"><i class="icon icon-lg">devices_other</i>&nbsp;Linux Desktop</a>
                                                     </li>
                                                     <li>
                                                         <a class="" data-toggle="tab" href="#sub_center_router"><i class="icon icon-lg">router</i>&nbsp;Router</a>
@@ -377,36 +377,20 @@
                                                 {/foreach}
                                             {/function}
                                             <div class="tab-pane fade active in" id="sub_center_universal_subscription">
-                                                <p>此处为通用订阅,适用于多种应用的订阅,请注意站点所支持的协议,本处显示的订阅类型不代表站点支持的协议类型.</p>
+                                                <p>此处为通用订阅,适用于多种应用的订阅</p>
                                                 <hr/>
                                                 <p><span class="icon icon-lg text-white">settings_suggest</span> [ 所有节点 ]:
                                                     <a class="copy-text btn-dl" data-clipboard-text="{$getUniversalSub}/all"><i class="material-icons icon-sm">send</i> 拷贝链接</a>
                                                 </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">settings_suggest</span> [ Shadowsocks 节点 ]:
-                                                    <a class="copy-text btn-dl" data-clipboard-text="{$getUniversalSub}/ss"><i class="material-icons icon-sm">send</i> 拷贝链接</a>
-                                                </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">settings_suggest</span> [ Shadowsocksr 节点 ]:
-                                                    <a class="copy-text btn-dl" data-clipboard-text="{$getUniversalSub}/ssr"><i class="material-icons icon-sm">send</i> 拷贝链接</a>
-                                                </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">settings_suggest</span> [ Vmess/Vless 节点 ]:
-                                                    <a class="copy-text btn-dl" data-clipboard-text="{$getUniversalSub}/v2ray"><i class="material-icons icon-sm">send</i> 拷贝链接</a>
-                                                </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">settings_suggest</span> [ Trojan 节点 ]:
-                                                    <a class="copy-text btn-dl" data-clipboard-text="{$getUniversalSub}/trojan"><i class="material-icons icon-sm">send</i> 拷贝链接</a>
-                                                </p>
                                             </div>
                                             <div class="tab-pane fade" id="sub_center_general">
-                                                <p>此处的订阅将会在未来版本中被废弃,请尽快切换至可以使用通用订阅的客戶端</p>
+                                                <p>此处的订阅为协议/客户端专用订阅,可能不适用于所有类型的客户端。</p>
                                                 <hr/>
                                                 <p><span class="icon icon-lg text-white">filter_1</span> [ Shadowsocks ]:
                                                     <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ss']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>.<a id="general_ss" class="copy-config btn-dl" onclick=Copyconfig("/user/getUserAllURL?type=ss","#general_ss","")><i class="material-icons icon-sm">send</i> 拷贝全部节点 URL</a>
                                                 </p>
                                                 <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_2</span> [ ShadowsocksR(R) ]:
+                                                <p><span class="icon icon-lg text-white">filter_2</span> [ ShadowsocksR ]:
                                                     <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssr']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>.<a id="general_ssr" class="copy-config btn-dl" onclick=Copyconfig("/user/getUserAllURL?type=ssr","#general_ssr","")><i class="material-icons icon-sm">send</i> 拷贝全部节点 URL</a>
                                                 </p>
                                                 <hr/>
@@ -426,8 +410,8 @@
                                                 <p><span class="icon icon-lg text-white">filter_1</span> Shadowsocks Windows - [ SS ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        {if $config["subscribe_client"]===true}<a class="btn-dl" href="{if $config["subscribe_client_url"]==''}/user/getPcClient{else}{$config["subscribe_client_url"]}/getClient/{$getClient}{/if}?type=ss-win"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
-                                                        .{/if}
+                                                        <a class="btn-dl" href="/clients/Shadowsocks.zip"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
+                                                        .
                                                         <a class="btn-dl" href="https://github.com/shadowsocks/shadowsocks-windows/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
                                                     </p>
                                                     <p>
@@ -438,7 +422,7 @@
                                                 <p><span class="icon icon-lg text-white">filter_2</span> ShadowsocksR Windows - [ SS/SSR ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="{if $config["subscribe_client"]===true}{if $config["subscribe_client_url"]==''}/user/getPcClient{else}{$config["subscribe_client_url"]}/getClient/{$getClient}{/if}?type=ssr-win{else}/clients/ssr-win.7z{/if}"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
+                                                        <a class="btn-dl" href="/clients/ShadowsocksR.7z"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
@@ -450,7 +434,7 @@
                                                 <p><span class="icon icon-lg text-white">filter_3</span> V2RayN - [ SS/VMess ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="{if $config["subscribe_client"]===true}{if $config["subscribe_client_url"]==''}/user/getPcClient{else}{$config["subscribe_client_url"]}/getClient/{$getClient}{/if}?type=v2rayn-win{else}/clients/v2rayn.zip{/if}"><i class="material-icons icon-sm">cloud_download</i> 本站下载 </a>
+                                                        <a class="btn-dl" href="/clients/v2rayN.zip"><i class="material-icons icon-sm">cloud_download</i> 本站下载 </a>
                                                         .
                                                         <a class="btn-dl" href="https://github.com/2dust/v2rayN/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
                                                     </p>
@@ -475,19 +459,6 @@
                                                         <a class="btn-dl" href="clash://install-config?url={urlencode($subInfo['clash'])}"><i class="material-icons icon-sm">send</i> 配置一键导入</a>
                                                     </p>
                                                 <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_5</span> Qv2ray - [ SS/VMess ]:</p>
-                                                    <p>
-                                                        应用下载:
-                                                        <a class="btn-dl" href="/clients/Qv2ray.7z"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
-                                                        .
-                                                        <a class="btn-dl" href="https://github.com/Qv2ray/Qv2ray/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
-                                                    </p>
-                                                    <p>
-                                                        使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['v2ray']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
-                                                        .
-                                                        <a id="win_qv2ray" class="copy-config btn-dl" onclick=Copyconfig("/user/getUserAllURL?type=v2ray","#win_qv2ray","")><i class="material-icons icon-sm">send</i> 拷贝全部节点 URL</a>
-                                                    </p>
                                             {if array_key_exists('Windows',$config['userCenterClient'])}
                                                 {if count($config['userCenterClient']['Windows']) != 0}
                                                     {printClient items=$config['userCenterClient']['Windows']}
@@ -528,46 +499,29 @@
                                                 <p><span class="icon icon-lg text-white">filter_3</span> V2RayU - [ SS/VMess ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="/clients/V2rayU.dmg"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
+                                                        <a class="btn-dl" href="/clients/V2rayU.dmg"><i class="material-icons icon-sm">cloud_download</i> 本站下载(x86_64)</a>
+                                                        .
+                                                        <a class="btn-dl" href="/clients/V2rayU-arm64.dmg"><i class="material-icons icon-sm">cloud_download</i> 本站下载(arm64)</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
                                                         <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['v2ray']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
                                                     </p>
                                                 <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_4</span> ShadowsocksX-NG - [ SS ]:</p>
-                                                    <p>
-                                                        应用下载:
-                                                        <a class="btn-dl" href="/clients/ss-mac.zip"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
-                                                    </p>
-                                                    <p>
-                                                        使用方式:
-                                                        <a id="mac_ss" class="copy-config btn-dl" onclick=Copyconfig("/user/getUserAllURL?type=ss","#mac_ss","")><i class="material-icons icon-sm">send</i> 拷贝全部节点 URL</a>
-                                                    </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_5</span> ShadowsocksX-NG-R - [ SS/SSR ]:</p>
-                                                    <p>
-                                                        应用下载:
-                                                        <a class="btn-dl" href="/clients/ssr-mac.dmg"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
-                                                    </p>
-                                                    <p>
-                                                        使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssr']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
-                                                    </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_6</span> Qv2ray - [ SS/VMess ]:</p>
+                                                <p><span class="icon icon-lg text-white">filter_4</span> Clash for Windows - [ SS/VMess/Trojan ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="/clients/Qv2ray.dmg"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
+                                                        <a class="btn-dl" href="/clients/Clash-Windows.dmg"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
                                                         .
-                                                        <a class="btn-dl" href="https://github.com/Qv2ray/Qv2ray/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
+                                                        <a class="btn-dl" href="https://github.com/Fndroid/clash_for_windows_pkg/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['v2ray']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
+                                                        <a class="btn-dl" href="{$subInfo['clash']}"><i class="material-icons icon-sm">send</i> 配置文件下载</a>
                                                         .
-                                                        <a id="mac_qv2ray" class="copy-config btn-dl" onclick=Copyconfig("/user/getUserAllURL?type=v2ray","#mac_qv2ray","")><i class="material-icons icon-sm">send</i> 拷贝全部节点 URL</a>
+                                                        <a class="btn-dl" href="clash://install-config?url={urlencode($subInfo['clash'])}"><i class="material-icons icon-sm">send</i> 配置一键导入</a>
                                                     </p>
+                                                <hr/>
                                             {if array_key_exists('macOS',$config['userCenterClient'])}
                                                 {if count($config['userCenterClient']['macOS']) != 0}
                                                     {printClient items=$config['userCenterClient']['macOS']}
@@ -596,7 +550,7 @@
                                                 <p><span class="icon icon-lg text-white">filter_1</span> Surge - [ SS/VMess ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="https://itunes.apple.com/us/app/surge-3/id1442620678?ls=1&mt=8"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
+                                                        <a class="btn-dl" href="https://itunes.apple.com/us/app/surge-3/id1442620678?ls=1&mt=8"><i class="material-icons icon-sm">cloud_download</i> Appstore 购买</a>
                                                     </p>
                                                     <p>
                                                         相关说明:
@@ -605,95 +559,57 @@
                                                     </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="btn-dl" href="surge3:///install-config?url={urlencode($subInfo['surge4'])}"><i class="material-icons icon-sm">send</i> 4.x 一键</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['surge4']}"><i class="material-icons icon-sm">send</i> 拷贝 4.x 托管链接</a>
                                                         .
-                                                        <a class="btn-dl" href="surge3:///install-config?url={urlencode($subInfo['surge3'])}"><i class="material-icons icon-sm">send</i> 3.x 一键</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['surge3']}"><i class="material-icons icon-sm">send</i> 拷贝 3.x 托管链接</a>
                                                         .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['surge_node']}"><i class="material-icons icon-sm">send</i> 节点 List</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['surge_node']}"><i class="material-icons icon-sm">send</i> 拷贝 3.x 节点链接</a>
                                                         .
-                                                        <a class="btn-dl" href="surge:///install-config?url={urlencode($subInfo['surge2'])}"><i class="material-icons icon-sm">send</i> 2.x 一键</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['surge2']}"><i class="material-icons icon-sm">send</i> 拷贝 2.x 托管链接</a>
                                                     </p>
                                                 <hr/>
                                                 <p><span class="icon icon-lg text-white">filter_2</span> Kitsunebi - [ SS/VMess ]:</p>
-                                                    <p>该客户端专属订阅链接支持同时订阅 SS/V2Ray 节点.</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="https://itunes.apple.com/us/app/kitsunebi-proxy-utility/id1446584073?ls=1&mt=8"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
+                                                        <a class="btn-dl" href="https://itunes.apple.com/us/app/kitsunebi-proxy-utility/id1446584073?ls=1&mt=8"><i class="material-icons icon-sm">cloud_download</i> Appstore 购买</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ss']}"><i class="material-icons icon-sm">send</i> 拷贝 SS 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['kitsunebi']}"><i class="material-icons icon-sm">send</i> 拷贝该应用专属订阅链接</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['kitsunebi']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
                                                     </p>
                                                 <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_3</span> Quantumult - [ SS/SSR/VMess ]:</p>
-                                                    <p>完整策略组配置 为使用了策略组结构的配置文件.</p>
+                                                <p><span class="icon icon-lg text-white">filter_3</span> QuantumultX - [ SS/SSR/VMess ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="https://itunes.apple.com/us/app/quantumult/id1252015438?ls=1&mt=8"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
+                                                        <a class="btn-dl" href="https://apps.apple.com/us/app/quantumult-x/id1443988620"><i class="material-icons icon-sm">cloud_download</i> Appstore 购买</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ss']}"><i class="material-icons icon-sm">send</i> 拷贝 SS 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssr']}"><i class="material-icons icon-sm">send</i> 拷贝 SSR 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['quantumult_v2']}"><i class="material-icons icon-sm">send</i> 拷贝 V2Ray 订阅链接</a>
-                                                        <!--
-                                                        .
-                                                        <a id="quan_sub" class="copy-config btn-dl" onclick=Copyconfig("{$subInfo['quantumult_sub']}","#quan_sub","quantumult://settings?configuration=clipboard")><i class="material-icons icon-sm">send</i> 完整订阅配置</a>
-                                                        -->
-                                                        .
-                                                        <a id="quan_conf" class="copy-config btn-dl" onclick=Copyconfig("{$subInfo['quantumult_conf']}","#quan_conf","quantumult://settings?configuration=clipboard")><i class="material-icons icon-sm">send</i> 完整策略组配置</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['quantumultx']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
                                                     </p>
                                                 <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_4</span> QuantumultX - [ SS/SSR/VMess ]:</p>
-                                                    <p>该客户端专属订阅链接支持同时订阅 SS/SSR/V2Ray 节点.</p>
+                                                <p><span class="icon icon-lg text-white">filter_4</span> Shadowrocket - [ SS/SSR/VMess/Trojan ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="https://apps.apple.com/us/app/quantumult-x/id1443988620"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
+                                                        <a class="btn-dl" href="https://itunes.apple.com/us/app/shadowrocket/id932747118?mt=8"><i class="material-icons icon-sm">cloud_download</i> Appstore 购买</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssr']}"><i class="material-icons icon-sm">send</i> 拷贝 SSR 订阅链接</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['shadowrocket']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
                                                         .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['quantumultx']}"><i class="material-icons icon-sm">send</i> 拷贝该应用专属订阅链接</a>
+                                                        <a class="btn-dl" onclick=AddSub("{$subInfo['shadowrocket']}","shadowrocket://add/sub://")><i class="material-icons icon-sm">send</i> 配置一键导入</a>
                                                     </p>
                                                 <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_5</span> Shadowrocket - [ SS/SSR/VMess/Trojan ]:</p>
-                                                    <p>该客户端专属订阅链接支持同时订阅 SS/SSR/V2Ray 节点.</p>
+                                                <p><span class="icon icon-lg text-white">filter_5</span> Stash - [ SS/SSR/VMess/Trojan ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="https://itunes.apple.com/us/app/shadowrocket/id932747118?mt=8"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
+                                                        <a class="btn-dl" href="https://apps.apple.com/app/stash/id1596063349"><i class="material-icons icon-sm">cloud_download</i> Appstore 购买</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ss']}"><i class="material-icons icon-sm">send</i> 拷贝 SS 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssr']}"><i class="material-icons icon-sm">send</i> 拷贝 SSR 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['v2ray']}"><i class="material-icons icon-sm">send</i> 拷贝 V2Ray 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['trojan']}"><i class="material-icons icon-sm">send</i> 拷贝 Trojan 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['shadowrocket']}"><i class="material-icons icon-sm">send</i> 拷贝该应用专属订阅链接</a>
-                                                        .
-                                                        <a class="btn-dl" onclick=AddSub("{$subInfo['shadowrocket']}","shadowrocket://add/sub://")><i class="material-icons icon-sm">send</i> 一键导入 Shadowrocket</a>
+                                                        <a class="btn-dl" href="stash://install-config?url={urlencode($subInfo['clash'])}"><i class="material-icons icon-sm">send</i> 配置一键导入</a>
                                                     </p>
                                                 <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_6</span> Stash - [ SS/SSR/VMess/Trojan ]:</p>
-                                                <p>Stash 是一款 iOS 平台基于规则的多协议代理客户端,完全兼容 clash 配置,支持 Rule Set 规则、按需连接、SSID Policy Group等特性.</p>
-                                                <p>
-                                                    应用下载:
-                                                    <a class="btn-dl" href="https://apps.apple.com/app/stash/id1596063349"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
-                                                </p>
-                                                <p>
-                                                    使用方式:
-                                                    <a class="btn-dl" href="stash://install-config?url={urlencode($subInfo['clash'])}"><i class="material-icons icon-sm">send</i> 一键导入 Stash</a>
-                                                    .
-                                                    <a class="btn-dl" href="{$subInfo['clash']}"><i class="material-icons icon-sm">send</i> 配置文件下载</a>
-                                                </p>
                                             {if array_key_exists('iOS',$config['userCenterClient'])}
                                                 {if count($config['userCenterClient']['iOS']) != 0}
                                                     {printClient items=$config['userCenterClient']['iOS']}
@@ -702,26 +618,21 @@
                                             </div>
                                             <div class="tab-pane fade" id="sub_center_android">
                                                 <p><span class="icon icon-lg text-white">filter_1</span> SS - [ SS ]:</p>
-                                                    <p>该客户端仅 v5.0 以上版本支持订阅,如您未找到订阅配置之处,请尝试升级客户端.</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="/clients/ss-android.apk"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
+                                                        <a class="btn-dl" href="/clients/Shadowsocks.apk"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
                                                         .
                                                         <a class="btn-dl" href="https://github.com/shadowsocks/shadowsocks-android/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
                                                     </p>
-                                                    <p>
-                                                        插件下载:
-                                                        <a class="btn-dl" href="/clients/ss-android-obfs.apk"><i class="material-icons icon-sm">cloud_download</i> 「必须」obfs 插件本站下载</a>
-                                                    </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssa']}"><i class="material-icons icon-sm">send</i> 拷贝该应用专属订阅链接</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssa']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
                                                     </p>
                                                 <hr/>
                                                 <p><span class="icon icon-lg text-white">filter_2</span> ShadowsocksR Android - [ SSR ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="/clients/ssr-android.apk"><i class="material-icons icon-sm">cloud_download</i> SSR 本站下载</a>
+                                                        <a class="btn-dl" href="/clients/ShadowsocksR.apk"><i class="material-icons icon-sm">cloud_download</i> SSR 本站下载</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
@@ -740,44 +651,7 @@
                                                         <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['v2ray']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
                                                     </p>
                                                 <hr/>
-                                                    <p><span class="icon icon-lg text-white">filter_4</span> AxXray - [ SS/SSR/VMess/Trojan ]:</p>
-                                                    <p>
-                                                        应用下载:
-                                                        <a class="btn-dl" href="https://github.com/XTLS/AnXray/releases" target="_blank"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
-                                                    </p>
-                                                    <p>
-                                                        使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['anxray']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
-                                                    </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_5</span> Surfboard - [ SS/VMess ]:</p>
-                                                    <p>
-                                                        应用下载:
-                                                        <a class="btn-dl" href="/clients/Surfboard.apk"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
-                                                        .
-                                                        <a class="btn-dl" href="https://play.google.com/store/apps/details?id=com.getsurfboard"><i class="material-icons icon-sm">cloud_download</i> Google Play 下载</a>
-                                                    </p>
-                                                    <p>
-                                                        使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['surfboard']}"><i class="material-icons icon-sm">send</i> 拷贝托管链接</a>
-                                                        .
-                                                        <a class="btn-dl" href="{$subInfo['surfboard']}"><i class="material-icons icon-sm">send</i> 配置文件下载</a>
-                                                    </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_6</span> Kitsunebi - [ SS/VMess ]:</p>
-                                                    <p>该客户端专属订阅链接支持同时订阅 SS 和 V2Ray 节点.</p>
-                                                    <p>
-                                                        应用下载:
-                                                        <a class="btn-dl" href="https://play.google.com/store/apps/details?id=fun.kitsunebi.kitsunebi4android"><i class="material-icons icon-sm">cloud_download</i> Google Play 下载</a>
-                                                    </p>
-                                                    <p>
-                                                        使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ss']}"><i class="material-icons icon-sm">send</i> 拷贝 SS 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['kitsunebi']}"><i class="material-icons icon-sm">send</i> 拷贝该应用专属订阅链接</a>
-                                                    </p>
-                                                <hr/>
-                                                    <p><span class="icon icon-lg text-white">filter_7</span> Clash for Android - [ SS/VMess ]:</p>
+                                                <p><span class="icon icon-lg text-white">filter_4</span> Clash for Android - [ SS/VMess ]:</p>
                                                     <p>
                                                         应用下载:
                                                         <a class="btn-dl" href="/clients/Clash-Android.apk"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
@@ -786,10 +660,11 @@
                                                     </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['clash']}"><i class="material-icons icon-sm">send</i> 拷贝 Clash 订阅链接</a>
+                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['clash']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
                                                         .
                                                         <a class="btn-dl" href="clash://install-config?url={urlencode($subInfo['clash'])}"><i class="material-icons icon-sm">send</i> 配置一键导入</a>
                                                     </p>
+                                                <hr/>
                                             {if array_key_exists('Android',$config['userCenterClient'])}
                                                 {if count($config['userCenterClient']['Android']) != 0}
                                                     {printClient items=$config['userCenterClient']['Android']}
@@ -797,31 +672,20 @@
                                             {/if}
                                             </div>
                                             <div class="tab-pane fade" id="sub_center_linux">
-                                                <p><span class="icon icon-lg text-white">filter_1</span> Electron SSR - [ SS/SSR ]:</p>
+                                                <p><span class="icon icon-lg text-white">filter_1</span> Clash for Windows - [ SS/VMess/Trojan ]:</p>
                                                     <p>
                                                         应用下载:
-                                                        <a class="btn-dl" href="/clients/Electron-SSR.AppImage"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
+                                                        <a class="btn-dl" href="/clients/Clash-Windows.tar.gz"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
                                                         .
-                                                        <a class="btn-dl" href="https://github.com/shadowsocksrr/electron-ssr/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
-                                                    </p>
-                                                    <p>
-                                                        使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssr']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
-                                                    </p>
-                                                <hr/>
-                                                <p><span class="icon icon-lg text-white">filter_2</span> Qv2ray - [ SS/VMess ]:</p>
-                                                    <p>
-                                                        应用下载:
-                                                        <a class="btn-dl" href="/clients/Qv2ray.AppImage"><i class="material-icons icon-sm">cloud_download</i> 本站下载</a>
-                                                        .
-                                                        <a class="btn-dl" href="https://github.com/Qv2ray/Qv2ray/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
+                                                        <a class="btn-dl" href="https://github.com/Fndroid/clash_for_windows_pkg/releases"><i class="material-icons icon-sm">cloud_download</i> 官方下载</a>
                                                     </p>
                                                     <p>
                                                         使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['v2ray']}"><i class="material-icons icon-sm">send</i> 拷贝订阅链接</a>
+                                                        <a class="btn-dl" href="{$subInfo['clash']}"><i class="material-icons icon-sm">send</i> 配置文件下载</a>
                                                         .
-                                                        <a id="linux_qv2ray" class="copy-config btn-dl" onclick=Copyconfig("/user/getUserAllURL?type=v2ray","#linux_qv2ray","")><i class="material-icons icon-sm">send</i> 拷贝全部节点 URL</a>
+                                                        <a class="btn-dl" href="clash://install-config?url={urlencode($subInfo['clash'])}"><i class="material-icons icon-sm">send</i> 配置一键导入</a>
                                                     </p>
+                                                <hr/>
                                             {if array_key_exists('Linux',$config['userCenterClient'])}
                                                 {if count($config['userCenterClient']['Linux']) != 0}
                                                     {printClient items=$config['userCenterClient']['Linux']}
@@ -833,15 +697,8 @@
                                                     <p>
                                                         应用下载:
                                                         <a class="btn-dl" href="https://github.com/hq450/fancyss_history_package"><i class="material-icons icon-sm">cloud_download</i> FancySS 下载页面</a>
-                                                        .
-                                                        <a class="btn-dl" href="https://github.com/hq450/fancyss_history_package/tree/master/fancyss_X64"><i class="material-icons icon-sm">cloud_download</i> FancySS 历史下载页面下载 V2Ray 插件</a>
-                                                    </p>
-                                                    <p>
-                                                        使用方式:
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['ssr']}"><i class="material-icons icon-sm">send</i> 拷贝 SSR 订阅链接</a>
-                                                        .
-                                                        <a class="copy-text btn-dl" data-clipboard-text="{$subInfo['v2ray']}"><i class="material-icons icon-sm">send</i> 拷贝 V2Ray 订阅链接</a>
                                                     </p>
+                                                <hr/>
                                             {if array_key_exists('Router',$config['userCenterClient'])}
                                                 {if count($config['userCenterClient']['Router']) != 0}
                                                     {printClient items=$config['userCenterClient']['Router']}

+ 41 - 79
src/Command/ClientDownload.php

@@ -39,6 +39,19 @@ final class ClientDownload extends Command
         //         ],
         //     ],
         // ],
+        [
+            'name' => 'Shadowsocks-Windows',
+            'tagMethod' => 'github_release',
+            'gitRepo' => 'shadowsocks/shadowsocks-windows',
+            'savePath' => 'public/clients/',
+            'downloads' => [
+                [
+                    'sourceName' => 'Shadowsocks-%tagName%.zip',
+                    'saveName' => 'Shadowsocks.zip',
+                    'apkpureUrl' => '',
+                ],
+            ],
+        ],
         [
             'name' => 'ShadowsocksR-Windows',
             'tagMethod' => 'github_release',
@@ -46,8 +59,21 @@ final class ClientDownload extends Command
             'savePath' => 'public/clients/',
             'downloads' => [
                 [
-                    'sourceName' => 'ShadowsocksR-%tagName%.7z',
-                    'saveName' => 'ssr-win.7z',
+                    'sourceName' => 'ShadowsocksR-Win64-%tagName%.7z',
+                    'saveName' => 'ShadowsocksR.7z',
+                    'apkpureUrl' => '',
+                ],
+            ],
+        ],
+        [
+            'name' => 'v2rayN',
+            'tagMethod' => 'github_release',
+            'gitRepo' => '2dust/v2rayN',
+            'savePath' => 'public/clients/',
+            'downloads' => [
+                [
+                    'sourceName' => 'v2rayN-Core.zip',
+                    'saveName' => 'v2rayN.zip',
                     'apkpureUrl' => '',
                 ],
             ],
@@ -66,7 +92,7 @@ final class ClientDownload extends Command
             ],
         ],
         [
-            'name' => 'ClashforWindows',
+            'name' => 'Clash for Windows',
             'tagMethod' => 'github_release',
             'gitRepo' => 'Fndroid/clash_for_windows_pkg',
             'savePath' => 'public/clients/',
@@ -82,8 +108,8 @@ final class ClientDownload extends Command
                     'apkpureUrl' => '',
                 ],
                 [
-                    'sourceName' => 'Clash.for.Windows-%tagName%-arm64.dmg',
-                    'saveName' => 'Clash-Windows-arm64.dmg',
+                    'sourceName' => 'Clash.for.Windows-%tagName%-x64-linux.tar.gz',
+                    'saveName' => 'Clash-Windows.tar.gz',
                     'apkpureUrl' => '',
                 ],
             ],
@@ -102,40 +128,27 @@ final class ClientDownload extends Command
             ],
         ],
         [
-            'name' => 'V2RayU',
+            'name' => 'V2RayU x86_64',
             'tagMethod' => 'github_release',
             'gitRepo' => 'yanue/V2rayU',
             'savePath' => 'public/clients/',
             'downloads' => [
                 [
-                    'sourceName' => 'V2rayU.dmg',
+                    'sourceName' => 'V2rayU-64.dmg',
                     'saveName' => 'V2rayU.dmg',
                     'apkpureUrl' => '',
                 ],
             ],
         ],
         [
-            'name' => 'ShadowsocksXNG',
+            'name' => 'V2RayU arm64',
             'tagMethod' => 'github_release',
-            'gitRepo' => 'shadowsocks/ShadowsocksX-NG',
-            'savePath' => 'public/clients/',
-            'downloads' => [
-                [
-                    'sourceName' => 'ShadowsocksX-NG.%tagName1%.zip',
-                    'saveName' => 'ss-mac.zip',
-                    'apkpureUrl' => '',
-                ],
-            ],
-        ],
-        [
-            'name' => 'ShadowsocksXNGR',
-            'tagMethod' => 'github_pre_release',
-            'gitRepo' => 'qinyuhang/ShadowsocksX-NG-R',
+            'gitRepo' => 'yanue/V2rayU',
             'savePath' => 'public/clients/',
             'downloads' => [
                 [
-                    'sourceName' => 'ShadowsocksX-NG-R8.dmg',
-                    'saveName' => 'ssr-mac.dmg',
+                    'sourceName' => 'V2rayU-arm64.dmg',
+                    'saveName' => 'V2rayU-arm64.dmg',
                     'apkpureUrl' => '',
                 ],
             ],
@@ -151,48 +164,10 @@ final class ClientDownload extends Command
                     'saveName' => 'v2rayng.apk',
                     'apkpureUrl' => '',
                 ],
-                [
-                    'sourceName' => 'v2rayNG_%tagName%_armeabi-v7a.apk',
-                    'saveName' => 'v2rayng_armeabi-v7a.apk',
-                    'apkpureUrl' => '',
-                ],
-                [
-                    'sourceName' => 'v2rayNG_%tagName%_x86.apk',
-                    'saveName' => 'v2rayng_x86.apk',
-                    'apkpureUrl' => '',
-                ],
-                [
-                    'sourceName' => 'v2rayNG_%tagName%_x86_64.apk',
-                    'saveName' => 'v2rayng_x86_64.apk',
-                    'apkpureUrl' => '',
-                ],
-            ],
-        ],
-        [
-            'name' => 'Qv2ray',
-            'tagMethod' => 'github_release',
-            'gitRepo' => 'Qv2ray/Qv2ray',
-            'savePath' => 'public/clients/',
-            'downloads' => [
-                [
-                    'sourceName' => 'Qv2ray-%tagName%-Windows.7z',
-                    'saveName' => 'Qv2ray.7z',
-                    'apkpureUrl' => '',
-                ],
-                [
-                    'sourceName' => 'Qv2ray-%tagName%-macOS-x64.dmg',
-                    'saveName' => 'Qv2ray.dmg',
-                    'apkpureUrl' => '',
-                ],
-                [
-                    'sourceName' => 'Qv2ray-%tagName%-linux-x64.AppImage',
-                    'saveName' => 'Qv2ray.AppImage',
-                    'apkpureUrl' => '',
-                ],
             ],
         ],
         [
-            'name' => 'ClashforAndroid',
+            'name' => 'Clash for Android',
             'tagMethod' => 'github_pre_release',
             'gitRepo' => 'Kr328/ClashForAndroid',
             'savePath' => 'public/clients/',
@@ -205,14 +180,14 @@ final class ClientDownload extends Command
             ],
         ],
         [
-            'name' => 'ShadowsocksAndroid',
+            'name' => 'Shadowsocks-Android',
             'tagMethod' => 'github_release',
             'gitRepo' => 'shadowsocks/shadowsocks-android',
             'savePath' => 'public/clients/',
             'downloads' => [
                 [
                     'sourceName' => 'shadowsocks--universal-%tagName%.apk',
-                    'saveName' => 'ss-android.apk',
+                    'saveName' => 'Shadowsocks.apk',
                     'apkpureUrl' => '',
                 ],
             ],
@@ -225,20 +200,7 @@ final class ClientDownload extends Command
             'downloads' => [
                 [
                     'sourceName' => 'shadowsocksr-android-%tagName%.apk',
-                    'saveName' => 'ssr-android.apk',
-                    'apkpureUrl' => '',
-                ],
-            ],
-        ],
-        [
-            'name' => 'ElectronSSR',
-            'tagMethod' => 'github_pre_release',
-            'gitRepo' => 'shadowsocksrr/electron-ssr',
-            'savePath' => 'public/clients/',
-            'downloads' => [
-                [
-                    'sourceName' => 'electron-ssr-%tagName%.AppImage',
-                    'saveName' => 'Electron-SSR.AppImage',
+                    'saveName' => 'ShadowsocksR.apk',
                     'apkpureUrl' => '',
                 ],
             ],