网易云音乐下载的 .ncm 文件并非标准的音频格式,而是一种加密容器。它通过特定的算法将原始音频(MP3/FLAC)与元数据(歌曲信息、封面)进行封装。本文将介绍如何使用基于 Rust 开发的 ncm_c 工具进行解密,并深入剖析背后的加密逻辑。
一、 环境准备与编译使用由于 .ncm 解密涉及大量的字节级异或运算,使用 Rust 编写的 ncm_c 在效率和稳定性上远超传统的 Python 脚本。
1. 安装 Rust 环境首先,确保系统中安装了 Rust 编译工具链:
123456# 下载并安装 rustupcurl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh# 刷新环境变量source $HOME/.cargo/env
2. 编译并安装 ncm_c直接通过 cargo 从 crates.io 安装,或从源码编译:
12345678# 方式 A:直接安装(推荐)cargo install ncm_c# 方式 B:源码编译git cl ...
极致听感:基于 TagLib 2.0 源码编译 Navidrome 音乐服务器在前三篇中,我们完成了基础服务器环境与 Web 博客的搭建。本篇将进入“硬核”领域:通过源码编译安装 Navidrome。
为什么要源码编译?因为默认的发行版往往链接较旧的 TagLib 库,导致对 DSF (DSD) 等发烧级无损音频格式的支持不佳,或无法精准解析中文元数据。通过手动链接最新的 TagLib 2.0,我们将打造一个全格式支持的完美音乐中心。
一、 核心依赖:TagLib 2.0 共享库编译Navidrome 使用 CGO 调用 TagLib 来读取音频标签。如果系统自带版本过低(如 Ubuntu 22.04 自带 1.x),必须手动编译。
1. 源码下载与配置12345678910git clone https://github.com/taglib/taglib.gitcd taglibmkdir build && cd build# 关键:必须显式指定生成共享库 (.so),否则 Navidrome 编译时会链接失败cmake -DCMAKE_BUILD_TYPE=Re ...
1. 文章发布流程与技术细节在 Hexo 体系中,文章遵循“源码编写 -> 静态编译 -> 全局发布”的生命周期。
1.1 核心命令123# 创建新文章(默认类型为 post)hexo new post "文章标题"
执行后,系统会在 source/_posts/ 目录下同步生成 文章标题.md 及对应的资源文件夹(需开启配置)。
1.2 前置参数 (Front-matter)Markdown 顶部的 YAML 配置区域用于定义页面属性:
title: 页面标题。
date: 写作时间,决定时间轴排序。
cover: 封面图 URL,建议尺寸 1920x1080 以适配安知鱼主题。
2. 图片管理方案:本地资源文件夹对于追求数据资产完整性与离线备份的开发者,推荐使用 Hexo 的资源文件夹模式,配合 Typora 可实现极佳的写作体验。
2.1 开启模式在项目根目录 _config.yml 中修改:
12post_asset_folder: true
逻辑说明:开启后,每次 hexo new 都会生成一个与 .md 同名的文件夹,专门存放该文章 ...
基于旧硬件与 Cloudflare Tunnel Dashboard 模式的建站实践本文记录如何利用闲置笔记本电脑,在无公网 IP 的家庭网络环境下,通过 Cloudflare 隧道技术(Cloudflare Tunnel)的远程管理模式,实现多业务并发(Web 博客 + 音乐服务器)的公网部署,并详细解决 Web 服务器的权限冲突与自动化配置问题。
一、 核心资产与环境准备1. 域名采购与解析托管
域名:cbsbm.cn(原注册商为聚名网)。
DNS 迁移:为获得更好的自动化支持,需将解析权移交给 Cloudflare。在原注册商后台将 DNS 服务器修改为 Cloudflare 提供的地址(如 alec.ns.cloudflare.com),等待全球生效。
2. 硬件环境
设备:废弃旧笔记本(具备功耗低、自带备用电池等天然 UPS 优势)。
系统:Ubuntu / Xubuntu。
3. 软件栈
Apache2 (监听端口 8888):负责托管 Hexo 静态博客。
Navidrome (监听端口 4533):负责个人音乐流媒体服务。
Cloudflared:Clo ...
前言:技术选型的思考建设个人网页有多种路径。从传统的 WordPress、Typecho 等基于数据库的“动态方案”,到 Astro、Hugo 等新兴的“静态方案”,不一而足。
本着轻量化、易维护、数据资产纯净的原则,我最终选择了 Hexo 这一经典的静态网站框架。它无需数据库支持,所有的文章均以 Markdown 文件存储,极大地降低了服务器压力与迁移成本。然而,Hexo 默认的主题风格往往过于简朴,难以满足现代审美需求。为了在“轻量化”与“产品级交互”之间取得平衡,我选择了叠加 安知鱼 (AnZhiYu) 主题。
安知鱼主题在视觉上具备极强的“产品感”,其清爽、现代的界面布局,能让个人主页呈现出类似成熟 App 的交互体验,这正是我作为一名 Android 开发者所追求的质感。
一、 基础环境构建在正式开始前,请确保系统已安装 Node.js 与 Git。以下为标准初始化流程:
12345678910111213# 1. 安装 Hexo 命令行工具npm install -g hexo-cli# 2. 创建并进入项目目录mkdir my-blog && cd my ...




