Shadowrocket 与 Quantumult 都支持自定义链接前缀(URL中类似http、https这样的叫链接前缀,我自己起的,就这么叫吧2333)来更为方便快捷的设置的订阅地址,sspanel3是不自带的(因为原版很久没有更新了)那么,如何让sspanel3支持呢?
编辑 /home/wwwroot/sspanel/resources/views/material/user/index.tpl
文件,在 <div class="tab-pane fade" id="all_ssr_ios">
下添加如下内容(注意,你的网站目录可能不是/home/wwwroot/sspanel,请注意改成你自己的)
<a class="mdui-btn mdui-btn-raised mdui-ripple mdui-color-indigo" href="sub://{$ssr_sub_url_base64}" style="text-decoration:none;">点击设置订阅</a> <p>Ps:点击上方按钮,在已安装小火箭(Shadowrocket)的IOS设备,即可更方便的设置订阅地址。如若软件主界面没有显示订阅栏,请清除后台后重新打开</p> <a class="mdui-btn mdui-btn-raised mdui-ripple mdui-color-indigo" href="quantumult://configuration?server={$ssr_sub_url_base64_nes}" style="text-decoration:none;">点击设置订阅</a> <p>Ps:点击上方按钮,在已安装小火箭(Quantumult)的IOS设备,即可更方便的设置订阅地址</p>
效果图(注意,需要应用MDUI,详见本博客内容)
编辑 /home/wwwroot/sspanel/app/Controllers/UserController.php
文件,在第69行,即 $ssr_sub_token = LinkController::GenerateSSRSubCode($this->user->id, 0);
下添加如下内容(注意,记得修改下面的“你的面板地址”)
#用户的订阅地址 $ssr_sub_url = "https://你的面板地址/link/".$ssr_sub_token."?mu=0"; #用户的订阅地址base64编码 $ssr_sub_url_base64 = base64_encode($ssr_sub_url); #nes = no equal sign ,即不含等号 $ssr_sub_url_base64_nes = str_replace("=", "", base64_encode($ssr_sub_url));
在 return $this->view()->assign("ssr_sub_token", $ssr_sub_token)->assign("router_token", $router_token)
下添加如下内容
->assign("ssr_sub_url_base64", $ssr_sub_url_base64)->assign("ssr_sub_url_base64", $ssr_sub_url_base64) ->assign("ssr_sub_url_base64_nes", $ssr_sub_url_base64_nes)->assign("ssr_sub_url_base64_nes", $ssr_sub_url_base64_nes)
效果图
这里多说两句吧。两个软件都是通过自定义链接前缀来将链接内容引向App
中,小火箭用sub://
,Quantumult
用quantumult://configuration?server=
(是的有点长),订阅地址用base64
编码后跟在后面。但是,Quantumult
好像有点挑,不认带=
的,只能通过phpstr_replace
函数去掉=
(作者有强迫症?)。所以ssr_sub_url_base64
有了个小尾巴:nes
。即no equal sign
。
然后?然后就可以用了,快去和用户吹nb吧~
发表回复