让你的sspanel可以订阅新版clash软件

前不久clash软件升级了内核,官方支持ssr,算是可喜的事情,但clash作者并没有向下兼容旧版clash,也就是说新旧版clash软件需要不同的订阅链接,否则无法使用。据作者所说,这是为了减少开发成本。sspanel目前也没有更新已兼容新版clash,这就让机场主略显尴尬。

新版clash软件使用方法:

https://www.mebi.me/1609

自己动手丰衣足食,一般人我都不告诉他。有些博客站已经给出了些许教程,但并不完全,按照他们的方法是无法用的。还有“sspanel兼容新版clash订阅”这说法也不对,clash新旧版软件无法兼容。

修改前确保你的sspanel已经更新到最新,否则有些代码不兼容。

一、修改配置模板

不修改配置模板,订阅显示成功但是看不到节点。clash配置模板在网站根目录下的resources/conf/clash.tpl,打开后定位59行:

Proxy:

修改为:

proxies:

定位到64行:

Proxy Group:

修改为:

proxy-groups:

二、修改规则文件

不修改规则,订阅和节点都没问题,测试延迟也有但就是无法上网。clash规则文件在网站根目录下的 resources/conf/rule 目录里,这里有很多规则文件,但默认用的规则是 lhie1_Rule.yaml,打开定位到第一行:

Rule:

修改为:

rules:

三、修改控制文件

控制文件在网站根目录/app/Utils/AppURI.php,因为我已经修改过代码,下面代码具体在第几行我也不清楚,大概在120行附近,实在找不到就Ctrl+F,查找代码:‘protocol’ => $item[‘protocol’]

$return = [
    'name' => $item['remark'],
    'type' => 'ssr',
    'server' => $item['address'],
    'port' => $item['port'],
    'cipher' => $item['method'],
    'password' => $item['passwd'],
    'protocol' => $item['protocol'],
    'protocolparam' => $item['protocol_param'],
    'obfs' => $item['obfs'],
    'obfsparam' => $item['obfs_param']
];
break;

修改为:

$return = [
     'name' => $item['remark'],
     'type' => 'ssr', 'server' => $item['address'],
     'port' => $item['port'],
     'cipher' => $item['method'],
     'password' => $item['passwd'],
     'protocol' => $item['protocol'],
     'protocol-param' => $item['protocol_param'],
     'obfs' => $item['obfs'],
     'obfs-param' => $item['obfs_param']
];
break;

好了完工。重新更新订阅就能在新版clash软件里使用了。但是你需要清楚的是:新版订阅无法兼容旧版订阅,你选择使用新版订阅的同时意味着你放弃了旧版clash软件。

解决这个问题也简单,就是新版旧版分开弄成两个订阅,让用旧版软件的用户使用旧版订阅,新版软件的用户使用新版订阅。这里只提供大概思路,需要的可以付费找我帮忙。

新增配置模板

复制一份clash.tpl,重命名为clash_new.tpl,按照第一步的要求修改。定位到倒数第二行:

{include file='rule/lhie1_Rule.yaml'}

修改为:

{include file='rule/lhie1_New_Rule.yaml'}

新增规则文件

复制一份lhie1_Rule.yaml,重命名为lhie1_New_Rule.yaml,按照第二步要求修改。

修改控制文件

看上面的第三步,AppURI.php文件里有一个叫做getClashURI的函数,复制这个函数体并命名新函数为getNewClashURI。修改方法同第三步。

然后找到文件:app/Controllers/LinkController.php,找到名为getClash的函数,判断订阅链接有没有new参数,有就表示请求的是新版订阅,返回上面三处修改的文件或函数。

最后找到用户首页的视图文件,参考其他订阅代码照猫画虎加上新版clash订阅代码,复制的内容就是原版订阅+“&new=1”。

完工了。

本文系作者 @ 原创发布在 懵比小站。未经许可,禁止转载。

喜欢()
评论 (4)
  • WhyAmI

    老老实实操作了3遍,发现最新版还是不显示酸酸乳,奇了怪

    回复
  • jj

    作者有tg联系方式吗?

    回复
热门搜索
homeagain
分享互联网最新资讯,分布各类教程:苹果cms、vps推荐、宝塔建站知识、edu邮箱、wordpress模板下载……只有你想不到,没有出不了的教程。
248 文章
198 评论
123 喜欢
Top