从此告别各大音乐平台,成为真正的Svip
先决条件
完成这件事你需要掌握的东西
Vmware虚拟机、Ubuntu系统、Linux基本操作、Navidrome播放器、cpolar内网穿透、Docker容器、SSH连接工具、Github网站、网络知识、英语基础
以上涉及的内容在其官网平台都有使用文档,自行阅读了解
体验的读者可直接跳至体验项目开始阅读
使用虚拟机Vmware
自行安装Ubuntu系统 (推荐版本:ubuntu-22.04.5-desktop-amd64)
更换Apt软件镜像源
# 查看系统信息
lsb_release -a
如果codename是jammy,则需要使用jammy的镜像源,如下
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
更换Apt软件镜像源
nano /etc/apt/sources.list
复制上述jammy的镜像源
更新Apt
sudo apt-get clean && apt-get update
开启ssh服务
安装OpenSSH Server
apt install openssh-server
启动SSH服务
systemctl start ssh
检查SSH服务状态
systemctl status ssh
设置SSH服务开机自启动
systemctl enable ssh
【可选】配置防火墙
ufw allow 22/tcp
ufw reload
通过SSH连接到你的Ubuntu系统
使用SSH连接Ubuntu操作
安装docker以及Docker-compose 自动化管理容器
apt install docker.io apt install docker-compose
配置docker镜像加速地址
nano /etc/docker/daemon.json
添加地址
{ "registry-mirrors": [ "https://docker.211678.top", "https://docker.1panel.live", "https://hub.rat.dev", "https://docker.m.daocloud.io", "https://do.nark.eu.org", "https://dockerpull.com", "https://dockerproxy.cn", "https://docker.awsl9527.cn" ] }
重启docker
systemctl daemon-reload systemctl restart docker
项目基本条件已完成,可以开始观摩项目文档
Navidrome音乐播放器:https://www.navidrome.org/
cpolar极点云:https://www.cpolar.com/
项目部署
通过docker部署Navidrome音乐播放器
在root目录下创建两个文件夹music、navidrome以及一个文件docker-compose.yml
mkdir music mkdir navidrome touch docker-compose.yml
编辑docker-compose.yml文件,添加以下内容
version: "3" services: navidrome: image: deluan/navidrome:latest user: 1000:1000 # should be owner of volumes ports: - "4533:4533" restart: unless-stopped environment: # Optional: put your config options customization here. Examples: ND_SCANSCHEDULE: 1h ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" volumes: - "/root/navidrome:/data" - "/root/music:/music:ro"
运行项目
拉取镜像
docker-compose up -d
使用命令行工具:docker
docker run -d \ --name navidrome \ --restart=unless-stopped \ --user $(id -u):$(id -g) \ -v /root/music:/music \ -v /root/navidrome:/data \ -p 4533:4533 \ -e ND_LOGLEVEL=info \ deluan/navidrome:latest
登录后台服务器
查看电脑的IP地址
ifconfig
登录后台系统
1、打开浏览器 http://192.168.200.129:4533/(每个人的IP不同)
2、创建管理员用户和密码
略…
3、使用方法可以参考官方文档
安装cpolar内网穿透
在Ubuntu上打开终端,执行命令
apt-get install curl
国内安装(支持一键自动安装脚本)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
正常显示版本号即安装成功
cpolar version
在官网注册一个自己的账号
略…
将cpolar配置为后台服务并开机自启动
systemctl enable cpolar
启动服务
systemctl start cpolar
查看服务状态
systemctl status cpolar
正常显示为active
,为正常在线状态
登录cpolar Web UI管理界面
1、打开浏览器 http://192.168.200.129:9200/(每个人的IP不同)
登录自己账号
创建远程连接公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:navidrome 注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:4533
- 域名类型:随机域名
- 地区:选择 China VIP
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或手机平板(异地)上,使用任意一个地址在浏览器中访问即可。
体验项目(开始听歌)
移动端:通过手机App开始听歌
安卓手机推荐使用:StreamMusic、Subtracks、Tempo (个人喜欢使用Subtracks) 安装包下载
注意:由于谷歌的限制,安卓手机应用商店的部分App无法下载!!!
苹果手机推荐使用:在App store下载substreamer、StreamMusic
使用方法
添加服务器地址:https://26ee3cc2.r10.vip.cpolar.cn
输入用户名和密码即可
电脑端:通过Web或者Desktop
使用方法和移动端一样,此处省略200字…..
桌面应用程序推荐:Supersonic 下载安装包
最新体验地址(已暂停服务 原因:查看说一说)
由于使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,我会在这里更新地址
体验用户和密码:experiencer/admin
最新服务器地址:
https://43f3bdeb.r10.vip.cpolar.cn
总结
做这件事情的起因:各大音乐平台的App广告太多、想听VIP歌曲要付费,干脆自己搭建服务器
自己体验感受:歌曲播放的流畅度和网络状态有极大关系,pc端体验良好,移动端最好连wifi
让我们回到先决条件思考一下,对于大多非计算专业的人来说,完成项目部署需要的知识就已经很多(这仅仅是让项目跑起来能用而已,还没涉及写代码,调试bug),但你仍然可以尝试去实现,你不再需要写代码,这都要感谢每一位开源程序员,致敬“开源万岁”!
后续会有歌曲的歌词,目前只是听听想听的歌曲而已
如果文章对您有所帮助可以赞赏一下,成为我的大股东