本地服务器Docker搭建个人云音乐平台Splayer并实现远程访问告别烦人广告

embedded/2025/1/15 8:27:00/

前言

大家好!今天我要给大家分享的是如何在Ubuntu上用Docker快速搭建高颜值无广告的某抑云音乐播放器Splayer的详细流程,并且结合cpolar内网穿透工具实现远程访问。如果你是音乐爱好者,经常需要在外办公或旅行,这个教程绝对能让你随时随地享受高质量的音乐体验!

想象一下这样的场景:你在办公室忙碌了一整天,终于可以放松一会儿了。你打开电脑,准备听一首喜欢的歌曲来缓解疲劳,却发现某个平台又开始推送广告,打断了你的节奏。是不是很烦心?别担心!Splayer就是为你量身定制的最佳解决方案。

Splayer是一款设计简约但UI非常漂亮的开源音乐播放器。它支持登录某抑云账号,并且整个界面没有任何广告干扰,让你享受纯粹的听歌体验。除了基本的功能如歌词显示、下载歌曲和歌单管理外,Splayer还特别优化了移动端适配,支持MV与视频播放、主题自适应以及自动签到等高级功能。

1726741704078

1. 安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。

本例使用Docker Compose部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

2. 创建并启动Splayer容器

接下来创建Splayer项目文件夹并编辑docker-compose.yml,内容如下:

mkdir splayer

然后进入该项目文件夹

cd splayer

使用nano创建docker-compose文件:

nano docker-compose.yml

在编辑器中输入下方代码保存退出:

version: '3.9'
services:splayer:image: imsyy/splayer:latestcontainer_name: splayerrestart: unless-stoppednetwork_mode: bridgeenvironment:- TZ= Asia/Shanghaiports:- '7899:7899'

然后执行下方命令启动容器运行:

sudo docker compose up -d

如需停止可以执行:

sudo docker compose down

OK,经过以上过程,Docker部署 Splayer 播放器就完成了,现在我们可以通过任意浏览器进行访问测试。

3. 本地访问测试

在浏览器输入 http://localhost:7899 即可,显示下图即为访问成功!

image-20240920104544553

点击右上角的登录按钮,可以选择扫码登录和验证码登录两种方式登录某抑云音乐账号:

image-20240920104803747

还可以选择主题颜色模式与全局设置:

image-20240920104907764

image-20240920104924749

登录后,可以在右侧菜单中查看你在某云播放器中喜欢的音乐,收藏,云盘,创建和搜藏的歌单:

在这里插入图片描述

双击歌曲播放后,可以点击喜欢旁边的三横线标志,使用添加歌曲到歌单与查看评论等功能:

image-20240920105640075

双击歌曲播放条,可以全屏播放歌曲,点击右上角按钮可恢复正常界面:

在这里插入图片描述

全程无广,非常清爽!

4. 公网远程访问本地Splayer

不过我们目前只能在本地局域网内使用手机电脑等设备访问刚刚使用docker部署的播放器,如果出门在外,想要远程访问在家中部署的Splayer听歌,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现无公网ip环境下的远程访问需求。

4.1 内网穿透工具安装

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

在这里插入图片描述

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

image-20240801132301959

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

4.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Splayer 注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:7899
  • 域名类型:选择随机域名
  • 地区:选择China VIP

image-20240920110301487

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址(可在高级设置中配置只生成http或https一条公网地址):

在这里插入图片描述

然后就可以在其他电脑或手机平板(异地)上,使用上边任选其一的公网地址在浏览器中访问即可。

image-20240920110806726

可以看到成功实现使用公网地址异地远程访问本地部署的 Splayer 播放器!但需要重新登录某云账号。

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时远程测试时使用。

如果有长期远程访问本地 Splayer 播放器 或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来远程访问。

4.3 使用固定公网地址远程访问

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是mysplayer,大家也可以自定义喜欢的名称。

image-20240920111120893

保留成功后复制保留成功的二级子域名的名称:mysplayer,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道 splayer,点击右侧的编辑:

image-20240920111255895

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名:mysplayer
  • 地区:选择China VIP

点击更新(注意,点击一次更新即可,不需要重复提交)

1726802258301

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

image-20240920111905814

然后使用这个固定公网地址在浏览器访问,可以看到访问成功,这样即使出门在外也可以随时随地使用这个网址来远程访问本地部署的 Splayer 播放器来听音乐了!

image-20240920112133816

通过今天的分享,相信大家已经掌握了在Linux Ubuntu上用Docker快速搭建无广告某抑云音乐播放器Splayer的方法了。不仅如此,我们还学会了如何利用cpolar内网穿透工具实现远程访问,让你随时随地享受高质量的音乐体验。如果你对这个教程有任何疑问或建议,请随时留言告诉我!最后,希望你在忙碌的工作和生活中,总能有一首好歌陪伴左右,让心情更加美好!


http://www.ppmy.cn/embedded/154060.html

相关文章

基于springboot果蔬供应链信息管理平台

基于Spring Boot的果蔬供应链信息管理平台是一种集成了先进信息技术和果蔬供应链管理理念的综合性系统。 一、背景与意义 随着人们生活水平的提高和对健康饮食的重视,果蔬市场需求不断增长。然而,果蔬供应链涉及多个环节,包括种植、采摘、加…

面向对象分析与设计Python版 创建者原则与信息专家原则

文章目录 前言一、创建者原则二、信息专家原则 前言 通用职责分配软件原则 GRASP(General Responsibility Assignment Software Principles),是一组用于指导软件设计,尤其是在面向对象设计中的原则。包括以下九个主要原则&#x…

【STM32-学习笔记-4-】PWM、输入捕获(PWMI)

文章目录 1、PWMPWM配置 2、输入捕获配置3、编码器 1、PWM PWM配置 配置时基单元配置输出比较单元配置输出PWM波的端口 #include "stm32f10x.h" // Device headervoid PWM_Init(void) { //**配置输出PWM波的端口**********************************…

FFmpeg硬件解码

使用FFmpeg进行硬件解码时,通常需要结合FFmpeg的API和硬件加速API(如CUDA、VAAPI、DXVA2等)。以下是一个简单的C代码示例,展示如何使用FFmpeg进行硬件解码。这个示例使用了CUDA作为硬件加速的后端。 1. 安装FFmpeg和CUDA 确保你…

Python脚本自动发送电子邮件

要编写一个Python脚本来自动发送电子邮件,你可以使用smtplib库来处理SMTP协议,以及email库来构建邮件内容。 安装必要的库 通常情况下,smtplib和email库是Python标准库的一部分,因此不需要额外安装。如果你使用的是较旧的Python版…

【make】makefile 函数全解

目录 makefile简介函数全解介绍相关链接字符串处理函数subst 函数—字符串替换patsubst 函数 — 模式字符串替换strip 函数 — 去空格findstring 函数 — 查找字符串filter 函数 — 过滤器filter-out 函数 — 过滤器sort 函数 — 排序word 函数 — 取单词wordlist函数 — 取一串…

《解锁鸿蒙Next系统人工智能语音助手开发的关键步骤》

在当今数字化时代,鸿蒙Next系统与人工智能的融合为开发者带来了前所未有的机遇,开发一款人工智能语音助手应用更是备受关注。以下是在鸿蒙Next系统上开发人工智能语音助手应用的关键步骤: 环境搭建与权限申请 安装开发工具:首先需…

Java线程详解

一、线程的基本概念 1. 什么是线程? 线程是程序执行的一个单元,它是进程中的一个实体,是被系统独立调度和分派的基本单位。一个进程可以包含多个线程,这些线程共享进程的资源,如内存空间和文件句柄,但每个…