告别广告与杂乱界面:SpotX插件系统让Spotify体验升级

告别广告与杂乱界面:SpotX插件系统让Spotify体验升级

【免费下载链接】SpotX SpotX patcher used for patching the desktop version of Spotify 【免费下载链接】SpotX 项目地址: https://gitcode.com/gh_mirrors/sp/SpotX

你是否还在忍受Spotify满屏的广告弹窗?是否对首页充斥的播客和有声书感到困扰?SpotX插件系统(SpotX patcher)为你提供一站式解决方案,通过简单配置即可打造纯净的音乐播放环境。本文将详解如何利用README.md中的工具和js-helper/css-helper/等模块,自定义你的Spotify客户端。

核心功能模块解析

SpotX的插件系统通过模块化设计实现功能扩展,主要包含三大核心模块:

广告与内容过滤模块

js-helper/sectionBlock.js是内容过滤的核心组件,通过拦截Spotify API请求实现精准过滤。该模块预设了95种需要屏蔽的内容区块ID(如"0JQ5DAnM3wGh0gz1MXnul1"对应"Party"分类),并支持按内容类型(Podcast/Audiobook/Episode)过滤。代码通过重写window.fetch方法,在数据返回前完成内容清洗:

// 核心过滤逻辑示例 [js-helper/sectionBlock.js#L314-L352]
window.fetch = async function (...args) {
  const [url] = args;
  const urlString = typeof url === 'string' ? url : url?.url || '';
  
  if (urlString.includes(API_PATHFINDER) || urlString.includes(API_RECOMMENDATIONS)) {
    const response = await originalFetch.apply(this, args);
    const clonedResponse = response.clone();
    const data = await response.json();
    
    sectionBlock(data, 'all'); // 执行过滤
    
    return new Response(JSON.stringify(data), {
      status: response.status,
      headers: response.headers
    });
  }
  return originalFetch.apply(this, args);
};

用户体验增强模块

js-helper/goofyHistory.js提供播放历史记录功能,通过localStorage实现最多1000条播放记录的持久化存储。该模块使用防抖机制(MAX_DELAY=1000ms)避免频繁存储,并通过Google Form接口支持数据导出:

// 历史记录存储逻辑 [js-helper/goofyHistory.js#L30-L42]
const saveTracksToStorage = (tracks) => {
  try {
    let tracksArray = [...tracks];
    if (tracksArray.length > MAX_TRACKS) {
      tracksArray = tracksArray.slice(-MAX_TRACKS); // 保持最新1000条记录
    }
    localStorage.setItem('sentSpotifyTracks', JSON.stringify(tracksArray));
  } catch (error) {
    console.error('Error saving tracks to localStorage:', error);
  }
};

视觉样式定制模块

css-helper/lyrics-color/目录提供歌词样式定制功能,通过colors.css定义主题变量,rules.css实现样式覆盖。支持歌词颜色(当前/过去/未来行)、背景透明度和高亮效果的自定义:

/* 歌词颜色变量定义 [css-helper/lyrics-color/colors.css] */
:root {
  --past: {{past}};
  --current: {{current}};
  --next: {{next}};
  --hover: {{hover}};
  --background: {{background}};
}

/* 全屏歌词样式 [css-helper/lyrics-color/rules.css#L90-L109] */
.npv-lyrics__text-wrapper--previous .npv-lyrics__text {
  color: var(--past) !important;
}
.npv-lyrics__text-wrapper--current .npv-lyrics__text {
  color: var(--current) !important;
}

快速开始:安装与配置

基础安装步骤

SpotX提供多种安装方案,针对不同用户需求优化:

  1. 新主题安装:运行Install_New_theme.bat自动部署包含最新界面主题的插件系统,适合追求新功能的用户。
  2. 经典主题安装:通过Install_Old_theme.bat保留传统界面布局,自动锁定Spotify 1.2.13版本避免主题变更。
  3. 全自动安装scripts/Install_Auto.bat实现零交互部署,自动完成:
    • 移除Microsoft Store版Spotify
    • 安装推荐版本客户端
    • 启用广告拦截与内容过滤
    • 阻止自动更新

PowerShell命令安装(国内镜像):

iex "& { $(iwr -useb 'https://spotx-official.github.io/SpotX/run.ps1') } -m -new_theme"

高级参数配置

通过命令行参数可实现个性化定制,常用参数包括:

  • -podcasts_off: 隐藏播客内容
  • -block_update_on: 禁用自动更新
  • -adsections_off: 移除广告推荐区块
  • -lyrics_stat spotify: 启用静态歌词样式

完整参数列表见README.md#installation--update的"Installing with parameters"部分。

常见场景与解决方案

场景1:彻底隐藏播客内容

除了基础安装时使用-podcasts_off参数,可通过修改js-helper/sectionBlock.js扩展过滤规则:

  1. 新增需要屏蔽的分类ID到BLOCKED_SECTIONS_BY_CATEGORY对象
  2. 调整BLOCKED_CONTENT_TYPES集合添加新内容类型
  3. 运行Install_New_theme.bat更新配置

场景2:自定义歌词显示效果

通过编辑css-helper/lyrics-color/colors.css修改主题变量:

/* 示例:深色主题配置 */
:root {
  --past: rgba(255,255,255,0.5);
  --current: #ffffff;
  --next: rgba(255,255,255,0.7);
  --hover: #1db954;
  --background: rgba(0,0,0,0.85);
}

场景3:恢复原始Spotify设置

如需暂时禁用插件,可通过两种方式恢复:

  1. 运行Uninstall.bat自动移除所有修改
  2. 重新安装Spotify客户端(建议使用scripts/Install_Prem.bat保留Premium功能)

多语言支持与社区资源

SpotX提供32种语言支持,通过scripts/installer-lang/目录下的区域脚本实现本地化。例如:

项目结构采用国际化设计,所有用户可见文本均通过语言文件管理,便于社区贡献新语言包。

总结与展望

SpotX插件系统通过模块化设计,让普通用户也能轻松定制Spotify体验。核心优势包括:

  • 零代码配置:通过批处理脚本实现一键部署
  • 模块化扩展js-helper/css-helper/支持功能叠加
  • 持续更新:活跃的社区维护确保与Spotify新版本兼容

未来版本计划增强patches/目录功能,支持用户自定义补丁包,进一步降低插件开发门槛。立即通过README.md开始你的Spotify定制之旅吧!

【免费下载链接】SpotX SpotX patcher used for patching the desktop version of Spotify 【免费下载链接】SpotX 项目地址: https://gitcode.com/gh_mirrors/sp/SpotX

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值