自建个人音乐播放器Navidrome - 内网穿透实现在外随时访问

news2024/12/25 1:54:09

文章目录

  • 1. 前言
  • 2. Navidrome网站搭建
    • 2.1 Navidrome下载和安装
      • 2.1.1 安装并添加ffmpeg
      • 2.1.2下载并配置Navidrome
      • 2.1.3 添加Navidrome到系统服务
    • 2.2. Navidrome网页测试
  • 3. 本地网页发布
  • 3.1 cpolar的安装和注册
    • 3.2 Cpolar云端设置
    • 3.3 Cpolar本地设置
  • 4. 公网访问测试
  • 5. 结语

转载自远程内网穿透的文章:Navidrome - 开源音乐服务器【打造属于自己的音乐播放器】「端口映射」随时随地想听就听

1. 前言

不知从何时开始,我们能用的音乐软件越来越少,笔者使用小米手机很久了,自从小米手机的自带音乐播放器变成了QQ音乐,笔者手机里很多的音乐就无法再自由畅听,要求付费加会员听歌,不然就得忍受被剪切的试听版。最重要的,是不让播放自行下载的音乐!!!这就很让人头疼。为了逃避这种情况,笔者打算使用Cpolar内网穿透+ Navidrome方案,自建一个私人音乐服务器,以便能再次自由享受音乐。

2. Navidrome网站搭建

Navidrome是一个开源的音乐服务器,也可以轻松的作为web界面的独立音乐服务器使用,也就意味着我们可以在手机、平板或者其他电脑上访问。只要安装在本地电脑中,并搭配内网穿透软件cpolar,就能让我们在任何地方都能访问到家里电脑上的Navidrome网页,并享受音乐带来的放松。

需要注意的是,由于Navidrome并不依赖网页运行环境,因此其安装过程并不是通常所见的网站安装流程。

2.1 Navidrome下载和安装

2.1.1 安装并添加ffmpeg

首先,我们需要下载并安装ffmpeg,毕竟Navidrome是基于其运行的,因此需要安装一个ffmpeg(很多音乐视频软件都依托其运行)。只要访问ffmpeg官网(ffmpeg.org),就能找到下载。

20230413092401

20230413092402

20230413092403

接着,将ffmpeg加入path环境变量。要记得在环境变量中带上bin文件夹,这样我们就能在任意cmd窗口中调用ffmpeg.exe。

20230413092404

20230413092405

20230413092406

2.1.2下载并配置Navidrome

接着,我们访问Navidrome的官网(www.navidrome.org),点击官网的下载按钮,进入安装指导页面。在这个页面,我们可以看到不同系统中安装Navidrome的指导。很多开源软件都会放在github(Navidrome也不例外),因此其下载页面会转到github。

20230413092407

20230413092408

笔者使用的是windows系统,因此选择Windows版本下载。

20230413092409

20230413092410

完成Navidrome的下载后,将其解压到打算安装的位置,笔者这里将其放在D盘的program file64文件夹下方便管理。根据Navidrome的安装指导,我们还需要修改Navidrome的配置文件,让Navidrome知道应该去哪个文件夹里寻找音乐文件。

20230413092411

Navidrome的配置文件为navidrome.toml,通常放在navidrome.exe同一文件夹下。如果没有这个文件,可以新建一个(新建文本文件,并将后缀名改为.toml),并将如下命令行添加到这个文件中。

# This is just an example! Please see available options to customize Navidrome for your needs at
# https://www.navidrome.org/docs/usage/configuration-options/#available-options

LogLevel = 'DEBUG'
ScanSchedule = '@every 24h'
TranscodingCacheSize = '150MiB'

# IMPORTANT: Use single quotes for paths in Windows
MusicFolder = 'D:\Music'

# Set this to the path of your ffmpeg executable
FFmpegPath = ' D:\Program Files\ffmpegfull\ffmpegfull\bin\ffmpeg.exe'

在这些命令行中,有一些参数是根据实际情况进行修改的,包括MusicFolder = 'D:\Music'FFmpegPath = ' D:\Program Files\ffmpegfull\ffmpegfull\bin\ffmpeg.exe'

20230413092412

20230413092413

更详细的配置参数注释,可以参阅navidrome官网的注释页面:https://www.navidrome.org/docs/usage/configuration-options/

完成配置文件的编辑后,就可以在cmd窗口下,运行navidrome.exe文件(双击这个.exe文件不管用,必须在命令行窗口下运行),正式安装Navidrome。

20230413092414

安装过程中,可能会出现网络安全询问,我们只要选择允许访问即可。

20230413092415

命令行程序运行完成后,不要关闭cmd窗口,我们尝试访问navidrome网页,试试看是否安装成功。在浏览器地址栏中输入localhost:4533(4533为navidrome的默认输出端口)。只要显示出navidrome登录界面,就说明我们的设置成功。登录界面可以直接设置登录名和密码,要记得自己输入的用户信息,不然可能导致之后无法登录。

20230413092416

20230413092417

需要注意的是,这时我们的navidrome还没有加入Windows系统服务中,只要关闭了cmd窗口,就无法访问navidrome页面。因此下一步,我们要将navidrome加入Windows服务中。

2.1.3 添加Navidrome到系统服务

为了随时能访问navidrome网页,而不必时时刻刻开着cmd窗口,我们需要将navidrome加入Windows的系统服务中。根据navidrome官网的建议,可以使用Shawl、NSSM和WinSW将navidrome加入启动目录。这里笔者根据官网指引使用NSSM进行设置。

20230413092418

20230413092419

下载好NSSM压缩包后,解压并在win64文件夹中找到.exe安装文件,笔者使用的是64位版本Windows,因此选择win64安装包。

20230413092420

由于NSSM是绿色程序,不必进行安装,因此直接在cmd中运行即可。即在win64文件夹的搜索栏中输入cmd,在此路径下打开cmd程序,接着输入,命令

nssm install

就能打开nssm的图形化界面。

20230413092421

20230413092422

在nssm的图形化界面中,找到Path栏位,将navidrome.exe输入其中(通过Path栏位后的“…”按钮选择路径),并在下方的service name输入名称进行分辨。再点击install service确定添加服务。

20230413092423

最后,我们打开服务页面(可以在搜索栏中直接输入“服务”,并在搜索结果中打开),启动在Nssm中设置好的服务项目(这个例子中,是笔者设置的navid服务项)。

20230413092424

20230413092425

2.2. Navidrome网页测试

在Windows服务中添加Navidrome后,就能不启动cmd窗口,也能打开Navidrome网页。同样的,为了测试Navidrome是否能正常运行,我们在浏览器地址栏中输入localhost:4533,尝试打开Navidrome的主页面。只要能正常显示,就说明我们已经成功的在本地电脑上安装好了Navidrome音乐网站。

20230413092426

20230413092427

3. 本地网页发布

经过以上步骤,我们成功安装了Navidrome音乐网站服务器,接下来我们就可以使用cpolar内网穿透,创建连接本地Navidrome页面的公共互联网地址,让我们能在公共互联网上访问到局域网电脑上的Navidrome网页。

cpolar官网:https://www.cpolar.com/

3.1 cpolar的安装和注册

完成Navidrome音乐网站在本地电脑上的安装后,就可以转入cpolar的安装。相比Navidrome音乐网站,cpolar的安装要简单很多。我们直接访问cpolar的官网页面,并找到下载按钮。

20230413092428

笔者使用的是Windows操作系统,因此选择Windows版本进行下载。

20230413092429

Cpolar下载完成后,将下载的文件解压,双击解压后的.msi文件执行自动安装程序,一路“Next”就能完成安装。

20230413092430

20230413092431

cpolar会为为每个独立用户创建专属的数据隧道,并以用户密码和token码保证每位用户的数据安全。因此在使用cpolar之前,需要进行用户注册

新注册的程序非常简单,只要在cpolar主页右上角点击“用户注册”,在注册页面填入必要信息,就能完成注册。

20230413092432

20230413092433

3.2 Cpolar云端设置

由于cpolar内网穿透免费版的数据隧道每24小时重置一次。笔者不想每天进行Navidrome音乐网页的连接设置,因此笔者将cpolar升级至vip版,获得能长期稳定存在的内网穿透数据隧道。

要创建能够长期稳定存在的内网穿透隧道,需要分为两步走。首先登录cpolar的官网,并在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。在这里为本地Navidrome网页生成一个公共互联网地址(也可以看做数据隧道的入口),此时这个地址没有连接本地的软件输出端口,因此也可以看做是空白数据隧道。

20230413092434

在预留页面,可以看到很多种可保留的数据隧道,因为Navidrome是web音乐服务器,因此我们选择保留二级子域名栏位。

20230413092435

在“保留二级子域名”栏位,必须进行几项信息的简单设置,创建独一无二的公共互联网地址,这些需要设置的信息为:

  • 地区:服务器所在区域,就近选择即可;
  • 二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一;
  • 描述:可以看做该数据隧道的描述,只要能与其他隧道区分开即可。

完成这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。

20230413092436

当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。

20230413092437

3.3 Cpolar本地设置

在cpolar云端设置并保留空白隧道后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道与本地的测试页面连接起来。

在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。

20230413092438

点击客户端主界面左侧隧道管理项下的创建隧道按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。

在这个页面,同样需要进行几项信息设置,这些信息设置包括:

  • 1. 隧道名称 :可以看做cpolar本地的隧道信息注释,只要方便分辨即可;
  • 2. 协议 :由于Navidrome音乐服务是网页形式,因此选择http协议;
  • 3. 本地地址 :本地地址即为本地网站的输出端口号,而Navidrome默认输出端口为4533,因此这里也填入4533;
  • 4. 域名类型 :由于笔者已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名)
  • 5. Sub Domain:填入预留的二级子域名,该例子中为“Navidromeweb”(注:如果创建的是临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址);
  • 6. 地区 :与cpolar云端预留的信息一样,我们依照实际使用地填写即可;

20230413092439

完成这些设置后,就可以点击页面下方的创建按钮,就能将cpolar云端的空白数据隧道与本地的Navidrome音乐站连接起来,也就为我们提供了可以在公共互联网访问本地Navidrome音乐站的数据隧道,cpolar也会自动跳转至“隧道管理”项下的“隧道列表”页面。

20230413092440

在“隧道管理”项下的“隧道列表”页面,可以对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

4. 公网访问测试

我们可以点击左侧状态项下的在线隧道列表按钮,找到这个页面的公共互联网地址,将这个地址粘贴到浏览器中,就能看到本地Navidrome音乐站页面,建立属于自己的私人音乐站。

20230413092441

20230413092442

5. 结语

到这里,我们就完成了使用Cpolar+Navidrome,搭建私人音乐站的工作,虽然看着步骤很多很杂,但那主要是为大家详细展示每个步骤,实际操作起来只要十多分钟即可。不知大家发现没有,Navidrome音乐服务器搭建过程中,并没有涉及对apache、MySQL这些常见的网页运行环境的配置,而是全程安装Navidrome本身,这无疑大大降低了Navidrome音乐站的搭建难度,,并可以自有播放已下载的音乐。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android实战开发】flutter实现网络请求的方法示例

Flutter网络请求使用的是Dio。Dio是一个强大易用的dart http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载……. Flutter json数据解析是使用了json_serializable package包。它是一个自动化源代码生成器,可以为我们…

C++快速幂详解例题

基本概念 什么是快速幂呢?个人理解,就是更快速的计算幂运算。 比如计算a^b 刚学这个算法的时候我也很疑惑,幂运算不是有现成的公式么,直接pow(a,b)不就好了吗? 后来才明白,pow(a,b)的…

三分钟了解什么是时序数据库

在介绍时序数据库之前,我们先来看看什么是时序数据。时序数据就是基于时间排序的数据,再通过时间坐标将这些数据连接起来,形成一个折线图,直观地展示一个指标在过去一段时间内的走势和规律,帮助定位数据异常点。 时序…

Oracle中Archived redolog的生成

目录 一、问题预览 二、问题解答 一、问题预览 大家都知道 Oracle 中 online redolog切换后会生成 archived redolog,心里默认的就是 online redolog 切换后 archived redolog 已经生成。切换示意图,如下图所示。 但事实真的是这样吗? 二、…

C++ 23 实用工具(一)

C 23 实用工具(一) 工具函数是非常有价值的工具。它们不仅可以用于特定的领域,还可以应用于任意值和函数,甚至可以创建新的函数并将它们绑定到变量上。 常用函数 你可以使用各种变体的 min、max 和 minmax 函数来对值和初始化列…

【使用ChatGPT自动化】批量转换.xls文件为.xlsx文件

第1次提问: 我:我想使用Python批量转换.xls文件为.xlsx文件,请你提供代码 它: 当涉及到批量处理文件时,我们通常需要使用Python中的os模块和glob模块。os模块用于管理文件和目录,glob模块用于匹配文件路径名…

Visual Studio Code 1.77 发布!

欢迎使用 Visual Studio Code 2023 年3月版。此版本有许多更新,其中一些主要亮点包括: 无障碍改进:新的悬停、通知和 Sticky Scroll 快捷键 复制 GitHub 深度链接:在编辑器内创建永久链接和 HEAD 链接 笔记本保存格式&#xff1…

软件测试流程进阶----四年软件测试总结

工作四年了,我一直希望让自己每年对测试的理解更深入一层。工作一年的时候,我谈轮了自己对各种测试的理解,这一年来,虽然对那些理概念的有所加强,自我感觉没有什么质的变化。前些天听我们公司的一位测试经理讲《敏捷测…

精准抓住核心要点!!!十名面试官总结出这样一份面试通关答案,还不赶紧开始“作弊”通关!!!

金三银四求职季,但最近很多朋友私信说: 熬过了去年的寒冬,却没躲过如今的内卷; 打开Boss直拒,一排已读不回; 大部分回复的都是外包,薪资低于预期,对技术水平要求却远超从前&#x…

大数据和 CRM系统:它们如何帮助中小企业?

作为中小企业主,你可能在想,"大数据与我有什么关系?"但如果你使用某些类型的业务应用,即使预算很少,你也可以从大数据中获益。一个最好的例子是客户关系管理(CRM)系统,它提…

二极管反向恢复过程详细解析

二极管反向恢复过程,现代脉冲电路中大量使用晶体管或二极管作为开关, 或者使用主要是由它们构成的逻辑集成电路。而作为开关应用的二极管主要是利用了它的通(电阻很小)、断(电阻很大) 特性, 即二极管对正向及反向电流表现出的开关作用。二极管和一般开关的不同在于,…

在线帮助中心对企业的作用及解决方案

帮助中心对于一款互联网产品来说,重要性不言而喻。随着公司客户服务水平的不断提高,越来越多的公司逐渐重视客户服务。一个好的在线帮助中心必定能提高客户的转化率。那么,在线帮助中心对企业的帮助和作用有哪些呢? 在线帮助中心的作用 1.快…

3.10——常类型

常类型的引入,就是为了既保证数据共享又防止数据被改动。常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改动的。 常引用 如果在说明引用时用const修饰,则被说明的引用为常引用。如果用常引用作为…

adb环境变量配置

adb环境变量配置Android一. 简介二. 环境变量配置1.JDK安装2.SDK安装3. 资源共享4. 配置环境变量4.1 方式一:4.2 方式二:5. adb常用命令的使用6. 结果Android List of ADB Commands and Fastboot Commands for Android 如果你是一个android用户&#xf…

paddleocr,windows pip 安装巨坑 lanms 库

安装 lanms 最佳参考: paddleocr,windows pip 安装巨坑 lanms 库 防丢失,直接抄录的一份 paddleocr最后几个库一个比一个难装,特别是 lanms 库,巨难装,拒绝任何花里胡哨,十分钟,三步…

HTML5 <menu> 标签

HTML5 <menu> 标签 实例 HTML5 <menu>标签用于定义菜单列表。 两个菜单按钮系列选项实例&#xff08;"File" 和 "Edit"&#xff09;&#xff1a; <menu type"toolbar"> <li> <menu label"File"> &…

Linux-初学者系列——篇幅4_系统运行相关命令

系统运行相关命令-目录一、关机重启注销命令1、重启或者关机命令-shutdown语法格式&#xff1a;常用参数&#xff1a;01 指定多久关闭/重启系统02 指定时间关闭/重启系统03 实现立即关闭/重启系统04 取消关闭/重启系统计划2、重启或者关机命令-halt/poweroff/reboot/systemctl语…

Lucene Solr Elasticsearch三者之间的关系,怎么选?

Lucene简介&#xff1a; Lucene主要用于构建文本搜索应用程序&#xff0c;包括Web搜索引擎、桌面搜索工具和商业应用程序。它提供了诸如单词分析、查询解析、搜索结果排序等功能&#xff0c;可以轻松地在大量文档中快速搜索和查找相关信息。 Lucene具有以下特点&#xff1a; …

Linux -- 进阶 Web 服务器 基础前瞻 ( 一 )

目录 WWW 简介 &#xff1a; 组件一个网站得需要哪些东西呢 &#xff1f;&#xff1f; 1 得有 响应用户申请网页服务 的软件 2 服务器主机 3 那就需要数据了 4. 浏览器 预备知识 &#xff1a; 网址及HTTP 简介 &#xff1a; URL : http 请求方法 &#xff1a;…

关于使用云渲染的五大优势

在不影响质量或性能的情况下节省时间、金钱和资源&#xff0c;对于需要在通常较短且严格的期限内创建高质量 3D 内容的专业人士来说&#xff0c;云渲染都是最好的选择&#xff01;云渲染作为数字媒体生产的最新趋势&#xff0c;与传统的渲染农场和机器相比具有许多优势&#xf…