视频教程

youtube播放地址:https://youtu.be/X7CC5jrgazo
项目地址:https://github.com/bulianglin/psub
CF Worker:https://cloudflare.com
前端界面:https://sub-web.netlify.app

专线机场推荐:https://b.880805.xyz
GIA线路VPS推荐:https://bwg.880805.xyz

环境变量名:BACKEND
KV或R2变量名:SUB_BUCKET

视频文稿(忽略)

很多朋友搭建订阅转换的目的就是担心使用别人的订阅转换存在节点泄漏的隐私风险,但如果我跟你说用别人的订阅转换也能保证绝对不会泄漏节点信息呢?本期就来教大家使cf的worker实现这个功能,非常简单并且永久免费
订阅转换相信大家都不陌生,可以将节点链接转换为clash,v2ray,surge、圈x等代理工具所使用的配置格式,不管是机场用户还是自建用户或多或少都使用过
而关于订阅转换很容易存在隐私问题,因为节点链接是比较隐私的个人数据,里面包含了你的服务器ip和节点的账号密码等信息,如果使用别人的订阅转换服务,就相当于你和别人共享了这些信息,他可以很轻易的获取和使用你的节点,我在之前的视频中有演示过,为了防止这种情况,有些朋友选择自己搭建订阅转换服务,但不是说自己搭建就安全了,甚至可能由于服务存在安全漏洞导致vps被黑客入侵,造成更严重的后果,上期视频中也讲过这个问题,而且对于基数最大的小白用户来讲自己搭建也不太现实,还有一种我在很早之前就介绍过的本地订阅转换教程,可以防止以上两个问题,但也并不完美,本地订阅转换的局限性在于每台设备都需要运行订阅转换工具,对很多手机用户来讲并不方便

难道就没有一种上手简单,又不用担心隐私问题的订阅转换方式吗?还真有,那就是直接使用别人的订阅转换服务,不过在转换之前先将节点的服务器ip和账号密码等信息改掉,等转换之后再改回来,这样就实现了上手简单,又不用担心节点泄漏了,这个方法是上期视频评论区有个小伙伴说的,我之前也没想过还有这种骚操作,果然个个都是人才,但如果只是手动修改的话,顶多算是一个骚操作,因为机场用户用这个方式并不方便,给我眼前一亮的主要是如果能实现自动化,这将是大部分普通用户最方便的订阅转换方式,所以根据这个灵感我做了psub的工具,利用cf免费提供的worker服务搭建私人订阅转换
其工作原理是在订阅转换的时候,首先你的节点信息会交给你自己搭建的worker服务,worker收到节点后会将服务器的ip地址和账号密码信息改成随机值,然后将这条虚假的节点信息转交给别人的转换服务,他的服务可以正常的给你转换节点,同时也获取到了你的虚假节点信息,对你来说没有任何影响,worker获取到转换结果后,再将其改成正确的服务器ip地址和账号密码,然后将转换结果返回给你,这样就实现了即使用别人的订阅转换也绝对不会泄漏节点信息了,worker扮演了中间人的角色,节点只会在worker处泄漏,但worker是你自己搭建的,四舍五入约等于没漏,你也不需要承担后端服务器可能存在的安全风险,而且这是一个双赢的局面,现在很多在线订阅转换提供的都是公益服务,你的节点被盗第一个想到的背锅对象就是他们,但可能你是在其他地方泄漏的,所以这个功能对于订阅转换提供者来说也是防背锅神器,但如果说有提供者以任何理由抵制这种方式,很明显他心里有鬼,因为这种方式对他们的服务器不会增加任何负担,唯一的区别就是他们无法获取到你的真实节点信息

接下来就是详细的搭建教程,操作非常简单,建议人手一个,首先打开github的项目地址,这些用到的信息我会放在视频下方的说明栏,打开这个worker.js文件,这就是我们搭建需要用到的代码,不需要修改任何地方,接着打开cloudflare,如果你没注册过的话先注册一个账号,只需要邮箱即可,注册非常傻瓜化我就不演示了,登陆之后可以先调整为中文界面,点击进入worker,如果你是第一次使用worker的话,选择免费计划即可,免费计划每天有10万个访问请求,足够了,跟着视频操作创建一个worker,随便给个名称,点击部署,接着编辑代码,复制刚才在github上打开代码,将worker里原来的演示代码清空,粘贴刚才复制的代码,点击右上角的保存并部署,然后返回到worker设置页面,如果此时直接访问会抛异常,因为还需要配置环境变量,跟着视频操作添加一个环境变量,变量名称要和我一样,填大写的BACKEND,值的话就填别人的订阅转换后端,随便找一个别人的在线订阅转换,点击生成订阅链接,可以在这里获取到后端地址,建议你先尝试这个后端能否能正常使用,然后将其填入这里即可,但是我这里为了给大家做演示,所以填入自己搭建的后端,注意worker不支持直接访问ip,也不支持非标端口,点击保存并部署,接着往下找到kv命名空间和r2存储桶绑定,两个都可以用,先演示比较方便的KV,kv每天有1000次的写入操作,每次订阅转换都会消耗1次左右,对个人用户也完全足够了,跟着演示创建KV命名空间,随便设置一个名称,回到刚才的设置页面,点击添加绑定,变量名称要和我一样,填写sub-bucket,选择刚才创建的命名空间,点击保存并部署,这样就设置好了,如果你觉得1000次写入不够用,可以使用下方的R2存储桶,kv和r2只能二选一,所以先删掉kv的变量,点击编辑,将其删掉,保存即可,点击查看r2计划,免费计划有10G存储空间,存储空间我们用不到,a类写入操作每月有100万次,b类读取操作每月有1000万次,用不完,根本用不完,相应的要比KV操作麻烦一点,需要绑定你的银行卡或者paypal,绑定是不要钱的,下方也有提示,只有你超出了使用量才会扣钱,输入你的账单信息,账户类型选择个人,点击订阅,跟着视频演示创建一个存储桶,随便给个名称,接着回到刚才的worker,添加绑定,变量名称需要和我填写一样,大写的sub-bucket,选中刚才创建的桶,点击保存并部署,此时就算是配置好了,你现在就已经有了一个专属的私人订阅转换服务了,非常简单,这个就是我的订阅转换后端网址,可以将其替换掉你以前用的订阅转换网址

为了方便给大家演示,我需要使用前端界面,前端的作用只是用来拼接url,虽然我之前也演示过一种利用前端盗取节点的方式,但一般情况下没人会这么做,因为我们可以看到被盗的过程,不像后端,我们是完全不知情的。在后端地址这里填入我们worker的域名,注意后面的sub不要删掉了,先来小试牛刀,将这个ss节点转换为clash的订阅格式,你也可以转换成他这里支持的任意格式,就和你以前的用法是完全一样的,并且还有一些新的用法,等会再来介绍,点击生成,可以看到后端是我们创建的worker网址,接着访问这条worker的订阅链接,同时注意观察我的订阅转换服务器上收到的请求,回车访问,成功转换成了clash的格式,并且我们在worker中设置的后端,也就是我这台搭建了订阅转换的vps上收到了刚才的ss节点信息,与直接使用他进行转换不同的是,他收到的ss节点实际上是无法使用的,可以看到clash中显示节点的服务器地址是zhihu.win,而订阅转换后端收到的是阿巴阿巴.com的随机地址,将节点复制出来,将密码部分decode,可以发现密码也变成了随机字符,而正确的密码应该是这个,ip和密码都被随机化了,这样就不用担心别人的后端会盗取你的节点信息了,他也不用给你背锅了。

再来尝试进行批量转换,同时转换ss ssr vmess trojan这四种协议的节点,和你平时一样用就行了,同样成功转换了,后端同样收到了节点信息,但是这些节点信息的服务器地址和密码都被随机化处理了,服务器收到的trojan密码是c99开头,而真实的密码是41b开头,服务器地址也是不一样的,包括vmess这种经过编码的数据,解码后,服务器收到的域名是随机的,密码也是cdc开头的随机id,可以看到完全不一样

再来尝试将vless+reality和hysteria节点转换为clash订阅,访问后转换并没有成功,因为官方版本的订阅转换默认不支持转换vless和hysteria节点,而我搭建的这个订阅转换用的就是官方版本,同时我的订阅转换后端收到了刚才的虚假节点信息,此时如果想要转换vless,需要使用meta版的订阅转换,以品云的为例,可以在右上角看到当前的版本是0.8.1官方版,切换为实验后端,右上角显示版本为0.8.2 meta版,这个版本可以转换vless和hysteria节点,点击生成订阅获取后端地址,你可以将这个后端地址替换掉我们在worker里设置的backend环境变量,也可以在订阅链接的最后加上&bd=,然后把网址粘贴上去,这样就会覆盖worker中设置的环境变量,在不方便登陆worker更换后端的情况下临时使用别的后端,回车访问,这样就能成功转换vless和hysteria节点了,可以看到这次我的后端没有收到节点信息,因为已经发到bd中设置的品云实验后端去了,他那边应该收到了我的虚假节点信息,要注意的是在链接后面加bd只是临时更换后端,不加的话就会默认使用worker中设置的后端

除了直接转换节点信息,当然也可以转换订阅信息,这也是大部分用户的转换方式,以本频道推荐的专线机场白月光为例,他家的节点是全专线中转,全节点解锁流媒体,掉线会及时修复,地区丰富,有需要的朋友可以考虑一下
复制订阅地址,进行转换为clash的操作,成功转换为了clash订阅,并且后端也收到了订阅地址,但我们可以看到这条订阅地址是我们worker的地址,而不是我机场的订阅地址,尝试访问这条链接,网页返回了一串编码数据,实际上大家根本看不到这个链接里的内容,因为我给大家的代码每次转换后就会立刻删掉数据,这里只是为了方便视频演示我并没有删掉,将其解码后,可以看到域名完全随机化了,并且密码也随机化了,我们收到的clash订阅却是正确的密码和网址,所以你转换机场订阅也不会泄漏正确的节点信息, 接着就可以按照常规操作,复制订阅地址,将其导入到clash中使用了

前两天我发了个无奖竞猜的预告,没有一个猜到点上,都被127的地址带到本地转换的坑里了,看样子你们都比较粗,没一个比我细的,其实可以看看这里,一般url后面跟上的要么是http开头的订阅地址,要么是ss vmess等开头的节点链接地址,而我这里是proxies开头,说明可以直接转换clash的节点格式,以刚才转换的ss节点为例,复制你需要转换的节点,要包含proxies这一行,并且必须以这一行作为开头,之后的订阅操作还是一样的,客户端选择ss,访问连接,这样就可以成功转换了,对于想将本地clash文件转换为v2ray使用的节点格式,这个功能还是非常实用的,另外也可以将v2ray这种经过base64编码的数据直接转换为其他格式,比如surge,唯一需要注意的是,直接转换clash的节点中不能包含英文的竖线符号,因为这个符号比较特殊,会导致无法解析,所以需要用这个功能的话建议使用文本工具替换掉所有的竖线符号

如果你有自己的域名,可以绑定到当前的worker,查看当前worker路由,只有一个默认的域名,点击添加路由,选择你自己的域名,前缀自己按需求设置,最后要加上/*,点击添加,还没完,进入你的域名设置DNS,添加一条A记录,名称填写刚才设置的前缀psub,地址随便设置一个,比如8.8.8.8,最关键的是代理要启用,否则不会路由到worker,点击保存,一般等待一会就会生效了,接着我们就可以尝试使用自己的域名使用订阅转换了,可以看到没有任何问题,本期搭建的这个订阅转换服务不会关闭,当作测试,你可以使用它,但我依然建议你自己搭建一个,信别人不如信自己

最后修改:2023 年 10 月 18 日 09 : 06 PM