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

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

Tech CrazyJoe 3年前 (2021-09-02) 19个评论
本文最后更新于2021年9月2日,已超过 928天没有更新,如文章内容或资源失效,请留言反馈。订阅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

3.5 2 votes
Article Rating

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
Subscribe | 订阅
Notify of
guest

19 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
19
0
Would love your thoughts, please comment.x
()
x