MoonTV 是近期开始流行起来的一个不错的个人影视站程序,他整合了市面上的影视源,通过搜索链接整合为一个网站,非常适合不喜欢折腾的新手,像我这样的。
但是参考了 youtube 相关教程发现,大多是通过 cloudflare、Vercel、或者 nas docker 等方式实现,都不太适合我。cloudflare(俗称的 CF),现在 已经在禁用 moonTV 了,听说有人被封号或者被限制;Vercel 虽然好用,但是只限于流量不大的程序,流量大了以后收费可能就会比较高;Nas 我没有,也没想过弄这个,毕竟我们这边家宽没有公网 IP 弄起来比较麻烦。最后我选择了简单的 Cf+ 甲骨文 vps+docker 的方式。甲骨文 vps 的带宽跟速度应该都够用了,Cf 是为了省去安装反代面板的麻烦。
需要准备的东西:
1. 一个托管在 CF 上的域名, 我用的是 2045.eu.org;
2. 一个流量足够, 延迟不太高的 VPS 服务器,我用的是甲骨文大阪 Amd 机器。
第一步,首先处理好 vps。
升级好 vps 系统和软件,关掉防火墙,放行相应端口,这步不多说,各有各的方法,我用的是 ubuntu。
第二步,安装 Docker。
因为嫌麻烦我用了 kejilion 的 vps 通用脚本(具体可以去 kejilion 博客查找原版),代码如下:
Debian/Ubuntu 安装下载工具
apt update -y && apt install -y curl
curl -sS -O <https://kejilion.pro/kejilion.sh&&> chmod +x kejilion.sh && ./kejilion.sh
第三步,docker 安装 moonTV。
github 仓库地址为:https://github.com/LunaTechLab/MoonTV
具体代码如下:
# 1. 拉取预构建镜像
docker pull ghcr.io/lunatechlab/moontv:latest
# 2. 运行容器
docker run -d --name moontv -p 3000:3000 --env PASSWORD=your_password ghcr.io/lunatechlab/moontv:latest
为了省事,我没有安装 compose,直接使用 docker 镜像拉取,以上代码主要将 your_password 修改为你自己的密码。如果忘了,那么请直接用 kejilion 的脚本清理掉镜像和容器,然后再来一遍。别问我怎么知道的。
3000 端口我自己没改,但是记得防火墙放行,甲骨文 VPS 是有两套防火墙的,不建议全关掉。关一套,再放行一套我觉得是比较好的选择。
如果以上步骤没出问题,那么你输入服务器 ip:3000 就能以 http 协议访问网站了。图省事自己用的可以到此为止了。
不用 compose 有个缺点,就是像网站名称之类的信息,不方便自定义,但对我这种懒人来说,这都不是问题。
另外,由于没有上证书,会显示不安全,所以我决定,还是上证书吧。
第四步,解析域名,端口回源。
为了省去反代 nginx, 我决定使用 CF 自带的边缘证书,虽然有点不安全,但自己用也没什么大麻烦了。
先去解析一个域名。小黄云记得打开。
然后在域名的“SSL/TLS→概况”中将加密模式改为“灵活”,这样就可以不用在服务器上打源证书,而是自动使用边缘证书了。如果这一步没问题,你就可以用“https:// 域名:3000”访问网站了。
为了把端口隐去,我们用端口回源规则。在网站设置中选择“规则→概述→模板”
翻到模板的最后一页,选择 Origin Rules 即端口回源规则
填写为“主机名 等于 域名”
往下翻,端口重写为 3000,如果没问题的话,你的 moonTV 个人影视站就可以用 https:// 域名的形式访问了。