• 🎉小站の店正式开业试营运,欢迎大家捧场&反馈
  • 网站所有加密内容密码一律为:920.im;别问为什么,问就是为了活着
  • 订阅小站 TG频道获取更多小福利
  • 欢迎访问小站,如果您觉得本站还不错,请Ctrl+D 收藏本站
  • 请不要催更视频或文章;网站+所有视频制作都是我一人再弄,而且懒;你们多多留言,我可能就会破天荒更新了
  • 任何虚假邮箱的留言评论将一律不通过,你的邮箱不会被公开,请放心留言交流
  • 网站今后如果无法访问,请自行使用代理访问

免费搭建专属subconverter订阅转换服务并支持自动更新

Tech CrazyJoe 5年前 (2021-09-02) 19个评论
本文最后更新于2021年9月2日,已超过 1662天没有更新,如文章内容或资源失效,请留言反馈。订阅TG频道获取更多福利

免费搭建专属subconverter订阅转换服务并支持自动更新

前期准备

  1. Github账户
  2. Vercel账户
  3. 域名「可选」

搭建教程

创建token

首先我们打开我们的Github页面,点击右上角Profile头像,选择Settings设置

点击左侧栏的 Developer settings - Personal access tokens - Generate new token

在Note处给token一个描述名称,Expiration过期时间可依据自己需求选择,之后勾选第一个选项: repo 并点击 Generate token

注意复制和保存自己的token,只会显示一次

具体图示可参见官方教程页面:创建个人访问令牌

Fork项目

首选我们打开 zhongfly 大佬的 now-subconverter 并点击右上角的fork,复制一份项目到自己的Github账户

免费搭建专属subconverter订阅转换服务并支持自动更新

再打开其 sub-web 同样点击右上角fork一份到自己的Github仓库

配置Github Actions

依次打开我们刚刚fork后的两个项目,点击右上角 Settings - Actions - Actions permissions,确认 Actions permissionAllow all actions 已勾选

回到我们fork后的sub-web仓库,点击右上角 Settings - Secrets - New repository secret ,添加一个名为 REPO_TOKEN ,值为之前生成的token

修改配置

首先在now-subconverter项目下的 /.github/workflows/main.yml 文件中, env 部分的参数为自动触发时默认使用的参数; workflow_dispatch 部分的参数为手动触发时默认使用的参数

相关参数说明如下:

  • message
    • 提交更新说明的内容
  • branch
    • release:从release中下载稳定版本,可用下面的tag参数指定版本
    • action:从最新代码所关联github action的Artifacts里下载已经编译好的
    • build:拉取最新代码自己编译
  • tag
    • 指定下载的版本,latest为自动选择最新版本
  • modify_method
    • sed:在Modify pref.ini by sed步骤中,用sed命令修改配置文件
      • /.github/workflows/main.ymlModify pref.ini by sed 部分,使用sed命令修改subconverter的默认配置pref.ini的方法,参照相关部分将其值改为自己所需的内容即可「如你需要使用自己的域名,可以将其添加到 managed_config_prefix 部分」
    • files:使用本项目中/files文件夹中的文件覆盖
      • 将你要使用的配置文件(包括但不限于pref.ini)放入now-subconverter仓库的files目录下,任务运行时会自动将files目录下所有文件复制到subconverter内「如你需要使用自己的域名,可以将其添加到 managed_config_prefix 部分」

免费搭建专属subconverter订阅转换服务并支持自动更新

之后我们在now-subconverter项目下的 /.github/workflows/sub-web.yml 文件中25行,将其修改为你的sub-web项目地址;51行的commit信息可以自定义修改。「相关行数可能随着文件修正发生变化,请根据实际所在行数为准」

最后我们在sub-web项目下的 /.github/workflows/build.yml 文件中39行,将 webhook_url 中这部分地址 .../zhongfly/now-subconverter/... 修改为你自己的项目地址

为了使用我们自己的订阅转换前端,我们还需要对我们fork的 sub-web进行修改配置。我们打开我们fork后的sub-web项目,并且更改 .envsrc/views/Subconverter.vue 文件

我们选择项目根目录下的 .env 并根据自己需求修改「下面是一些相关参数的含义」:


– VUE_APP_PROJECT:前端项目地址,即点击前端网页Github图标会跳转的地址
– VUE_APP_BOT_LINK:TG链接,即点击前端网页TG图标会跳转的地址
– VUE_APP_BACKEND_RELEASE:后端项目地址,无需修改
– VUE_APP_SUBCONVERTER_REMOTE_CONFIG:远程配置,无需修改
– VUE_APP_SUBCONVERTER_DEFAULT_BACKEND:API后端地址,请修改成我们自己想用的转换网址
– VUE_APP_MYURLS_DEFAULT_BACKEND:短链接后端,如果你有自己的短链转换服务,可修改
– VUE_APP_CONFIG_UPLOAD_BACKEND:文本托管后端,如果你有自己的,可修改

免费搭建专属subconverter订阅转换服务并支持自动更新

我们再打开 src/views/Subconverter.vue 文件,主要只需修改customBackend和backendOptions选项,将自己的后端地址和说明添加进去。如果你不确定书写格式,建议直接修改其中一个地址为你自己的即可

再将backendOptions中与customBackend对应部分的值修改成我们自己想用的后端地址

免费搭建专属subconverter订阅转换服务并支持自动更新

编译

当我们将所有需要修改的选项全部修改完成后,在部署前,我们需要编译一份我们修改后的新的sub-web到我们的项目,我们回到fork的now-subconverter项目,并且点击项目名称下的Actions选项,在左边的All workflows下选择 update sub-web,点击Run workflow进行编译,等待几分钟之后即可编辑完成。如果编译失败可以点击workflow进行查看具体的报错信息并进行相应的搜索排错。

免费搭建专属subconverter订阅转换服务并支持自动更新

部署

首先我们打开 https://vercel.com/dashboard 并选择用GitHub账户登录。登录完成后选择 New Project - Import Git Repository

我们选择我们的now-subconverter项目,点击Import – Deploy「跳过创建Team账户的选项」

免费搭建专属subconverter订阅转换服务并支持自动更新

部署完成后,我们点击 Go to dashboard,选择Settings – Domains – 选择自动分配的域名 – 点击Edit,将自动分配的域名改为我们想使用的自己的域名「需和fork项目修改中的前后端域名一致」

免费搭建专属subconverter订阅转换服务并支持自动更新

之后我们按照提示进入我们的DNS服务商后台添加相应的CNAME记录,在这里我使用的是Cloudflare,添加如下并关闭黄色小云朵

免费搭建专属subconverter订阅转换服务并支持自动更新

当解析成功后,我们回到Vercel后台,等待其确认变更,就会看到我们添加的自己的域名已成功配置并可以使用

免费搭建专属subconverter订阅转换服务并支持自动更新

视频教程

Youtube

Bilibili

参考链接

zhongfly/now-subconverter

zhongfly/sub-web

创建个人访问令牌

Blogsue


xzの小站 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:免费搭建专属subconverter订阅转换服务并支持自动更新
喜欢 (18)
关于作者:
Is life always this hard, or is it just when you're a kid?——Mathilda:Léon: The Professional
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(19)个小伙伴在吐槽
  1. 铁子,now-subconverter这个项目关闭了怎么破?有替代方案?
    2332022-09-26 18:34 Reply Windows 10 | Chrome 105.0.0.0
    • 很久没关注了,我用到的其实很少。可以用原subconverter后端+sub-web前端自己搭就好,或者也可以使用网上很多人搭好的。如果稍微有些顾虑的话,可以选择一些比较知名的大佬的后端
      CrazyJoe2022-09-30 10:40 Reply Windows 10 | Chrome 106.0.0.0
      • 我只是增加自己改的远程配置,话说github上可以docker部署的项目是可以fork一份改完从新打包再docker部署吗?
        2332022-10-03 19:35 Reply Windows 10 | Chrome 105.0.0.0
  2. 铁子,建完了,但是看了下前端网页里的生成类型没有clash新参数和clashR新参数是什么情况?
    2332022-02-15 18:19 Reply Windows 10 | Chrome 98.0.4758.80
    • 用Clash默认Clash就行,我在最新版CFW里面用默认配置没任何问题
      CrazyJoe2022-02-25 06:44 Reply Windows 10 | Firefox浏览器 97.0
  3. 博主你好,我想在远程配置那里,添加自己的远程配置,应该怎么操作呢。
    WhiteAlbum2021-11-16 22:39 Reply Windows 10 | Chrome 95.0.4638.69
    • 照着更新后的教程一步步操作即可。写的应该算挺清楚的了,添加自己的远程配置是指自己的后端还是自己创建的规则组? 自己的后端的话,按文章里的修改相关api网址的地方改为你自己的即可。如果是说想自动拉取自己创建的规则组,没研究过,建议去看ACL4SSR规则组是怎么写的,然后把程序对应地址改为你自己的规则组地址
      CrazyJoe2021-11-19 19:43 Reply Windows 10 | Chrome 96.0.4664.45
      • 谢谢,你让我得到了启发。
        WhiteAlbum2021-11-19 21:04 Reply Windows 10 | Chrome 95.0.4638.69
  4. 大佬,我想在规则(远程配置)里添加自己的clash规则,该如何进行操作呢?
    1112021-09-04 15:00 Reply Windows 10 | Chrome 92.0.4515.159
    • 对应不同的规格格式,在下载下来的配置文件的rules里添加就可以了吧。 你如果指的是,在在线转换的过程中,自动将自己定义的一部分规则添加到配置列表里,这一套好像不行。。。因为远程配置拉的是ACL的库。。。
      CrazyJoe2021-09-06 20:03 Reply Windows 10 | Chrome 93.0.4577.63
  5. 感谢博主的教程,已经搞好了。但是有个疑问,他这个订阅链接是在哪里转换的,在自己这边还是在tindy或者acl那边,我自己这里实在是没找到转换的日志。那如果在别人那里的话,自己搭这个api就没啥必要了呀。
    cong2020-12-17 17:11 Reply Windows 10 | Chrome 87.0.4280.88
    • Subconverter后端服务运行在哪里,订阅就在哪里转换的。 所以不是在这些规则提供方,如果是跟着教程的话,那就是在Vercel的服务器上
      CrazyJoe2020-12-18 20:01 Reply Windows 10 | Chrome 87.0.4280.88
  6. 简略写了一下 https://mirro-blog.vercel.app/#/posts/4
    shadows2020-10-17 18:11 Reply Linux | Chrome 86.0.4240.99
  7. 编译这一步,正确的方式是修改sub-web前,修改https://github.com/zhongfly/sub-web/blob/master/.github/workflows/build.yml#L39 改成你自己now-subconverter项目地址。之后提交commit,就会自动触发now-subconverter中的Update sub-web这一action。压根就不需要你去手动运行。 既然说了手动运行,那么手动更新sub后端(subconverter)这一最重要的操作最好也介绍一下,毕竟很多人都不会去搞自动编译更新sub。而你说的sub-web只不过是生成订阅转换链接的前端页面而已…真正进行订阅转换的是subconverter啊。
    shadows2020-10-16 00:53 Reply Linux | Chrome 86.0.4240.99
    • 感谢耐心指正。本着能用就行的原则,所以将就了,鼓捣出来能让人都用上自己的订阅转换就是好事。 其实我也知道全自动的这部分,我肯定是没理解透彻的,因为没任何基础和参考材料,所以我才在文末留了大佬的blog内容,供那些有心研究的人去弄下。 手动更新确实麻烦些,但是大佬的这个项目,我感觉比在VPS上搭方便多了,感谢付出及指正。 回头会试试照你说的修改下,能自动触发sub-web这个之后,自动触发subconverter是不是必须按照你的blog里面用IFTTT和Cloudflare workers较复杂的方式?还有如果因为我的错误流程和操作,会对大佬本身的账户或者项目产生任何提示和烦人的通知的话,请告知,会及时修正
      CrazyJoe2020-10-16 20:31 Reply Windows 10 | Chrome 86.0.4240.75
      • 修改自己的sub-web项目自动触发自己的now-subconverter不需要复杂的其他东西(不涉及wiki中的内容) 正确的方式: 1,点击你的仓库右上角的 Settings,找到 Secrets 这一项,添加一个名为REPO_TOKEN的变量,值是有repo权限的github token(生成方法https://docs.github.com/cn/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token)2,修改https://github.com/zhongfly/sub-web/blob/master/.github/workflows/build.yml#L39 改成你自己now-subconverter项目地址不修改的话github action里最后一个操作没用而已,对我没有什么影响建议看一下github action,估计十几分钟就大致了解…看下它的触发方式,你就知道怎么改成定时运行更新了。
        shadows2020-10-17 15:40 Reply Linux | Chrome 86.0.4240.99
        • 感谢耐心指正,回头尝试下( ̄︶ ̄)↗ 
          CrazyJoe2020-10-17 16:37 Reply Windows 10 | Chrome 86.0.4240.75
  8. 我一直都懒得写使用说明,因为觉得实际上没什么人会用我这个… 大部分都没有问题,但是有几处地方没说清楚 1,managed_config_prefix这个,一般来说不用修改,因为是只有surge会使用这个值(在main.yml和sub-web.yml中均有) 2,为什么我要在前述的yml中修改配置文件?主要是考虑到能够保证当subconverter更新配置文件内容后(比如增加新的设置项),能不需要修改就可以继续运行。 3,编译这一步实际是不需要的,因为sub-web项目中的设置好了github action,每次commit会自动推送到now-subconverter项目(然而你不修改就会变成对我的now-sub项目进行错误的请求)…而文章中对项目中涉及的github action实在是不够清楚…使得很多功能都没有说清楚,特别是运行github action前要去设置好必须的secret才行
    shadows2020-10-16 00:41 Reply Linux | Chrome 86.0.4240.99
    • 是原作者嘛?乱填的邮箱我后台给编辑掉了,防止系统将错误的邮箱关联。我觉得你的这个很方便啊,至于提及的几个问题: 1. 之前在使用VPS搭建的时候,大部分教程也是通用都改的,所以这里就给改掉了,使用上应该没啥影响 2. 根据你的第二点,应该都修改yml还是好些的 3. Github Actions我其实没太研究,因为大佬你这边也没写详细的教程,所以我是自己摸索的,git clone那一步我修改成了fork后自己仓库的地址了,之后立即编译一下,是为了能直接在视频里展现修改后的结果。看到大佬说是支持自动编辑的,但是当时没太注意或者去等待自动编译,直接手动执行看结果的。你说的其它功能和设置secret都是我不知道的部分
      CrazyJoe2020-10-16 20:26 Reply Windows 10 | Chrome 86.0.4240.75