Folia 跨设备同步完整教程
Folia 跨设备同步完整教程【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major电脑上把 AI 主题和外观调了半宿换台设备一切照旧歌词动画、背景、字体全得从头再来。Folia 跨设备同步就是为了解决这件事——官方自带的 sync-server 负责在几台设备间搬运你的「外观设置 AI 主题」数据本文从部署服务到客户端接通带新手走完全程。走通之后长这样电脑上点一次「同步 AI 主题」手机打开 Folia 就是同款歌词动画、同款背景与字体。下面按三步推进先备好两把「钥匙」两条命令的事再把同步服务跑起来最后把客户端接通。1. 两条命令备好 Token做什么生成两个随机字符串一个给客户端认门一个给你自己查状态用。怎么做SYNC_TOKEN必填客户端靠它读写同步数据服务端强制要求长度 ≥ 8 位太短会直接拒绝启动DASHBOARD_TOKEN选填访问隐藏状态看板用建议 16 位以上成功标志终端里多了一串随机字符。openssl rand -hex 16这条命令会当场生成一串 32 位随机字符不想开终端的话按 F12 在浏览器控制台跑crypto.randomUUID()也行。⚠️ 请把两个 Token 存进密码管理器。Cloudflare 部署后 Token 会被加密、不可回读DASHBOARD_TOKEN部署时只显示一次丢失只能重新部署。2. 跑一个免费同步服务服务端提供三条路挑一条走通即可方案门槛适用人群上手成本Cloudflare WorkersCloudflare 账号 Node.js 24没有服务器、想免费免运维输入两次约 5 分钟Docker一台能跑 Docker 的机器有 VPS / NAS一条命令启动Node.js 自托管Node.js 24本地或家庭服务器建个.env 两条命令Cloudflare Workers 部署推荐做什么用安装脚本把服务发布到 Cloudflare 边缘网络全程只需输入两次。怎么做git clone https://gitcode.com/GitHub_Trending/fo/folia-major cd folia-major/sync-server bash ./install.sh这条命令把源码拉到本地并进入同步服务目录Windows 在 PowerShell 里改用.\install.ps1。菜单里输入3选 Workers首次运行若弹出浏览器登录授权属正常现象。之后脚本会自动创建 D1 数据库、生成wrangler.local.toml、把 Token 注入 Cloudflare 并发布。成功标志终端输出 Worker 域名和看板链接https://你的Worker域名/?tokenDASHBOARD_TOKEN此时DASHBOARD_TOKEN明文只显示这一次立刻存好。 生成的wrangler.local.toml里带着你的数据库 ID只在本地用别提交进仓库。Docker 部署有 VPS / NAS 选这条做什么单独起一个容器只跑同步服务一条命令完成。怎么做先在sync-server/目录新建.env文件写入SYNC_TOKEN和可选的DASHBOARD_TOKEN然后回到仓库根目录docker compose -f deploy/docker/compose.sync.yaml up -d --build这条命令会构建镜像并在后台启动 folia-sync 容器配置模板见 deploy/docker/compose.sync.yaml。成功标志容器状态 running宿主机13000端口可访问/health数据库文件落在sync-server/data/folia-sync.db重启不丢数据。Node.js 自托管本地机器选这条做什么不借助 Docker用 Node 直接在机器上跑。怎么做cd sync-server后创建.env内容SYNC_TOKEN、DASHBOARD_TOKEN、PORT3000、DB_PATH再执行npm install和npm run start:node。成功标志终端打印监听地址浏览器访问http://本机IP:3000/health有响应。3. 客户端三步接通做什么在 Folia 里把服务地址和 Token 告诉客户端。怎么做打开设置 → 存储设置 → Sync Server打开「启用同步服务」开关「Sync Server URL」填服务根地址——Cloudflare 的 Worker 域名或http://NAS-IP:13000地址不带路径、末尾不要斜杠「Bearer Token」填SYNC_TOKEN点Save点Test界面实现在 src/components/modal/settings/StorageSettingsSection.tsx。成功标志Test 按钮旁出现绿色对勾 ✅。红叉时按顺序排查地址是否根地址、Token 是否完整、Docker 是否暴露了13000端口。4. 同步一次看到效果做什么手动触发一次同步确认数据真的在两端流动。怎么做回到同一界面点「同步 AI 主题」立即做一次增量同步旁边还有「同步外观设置」按钮。之后每次启动 Folia 都会自动增量同步逻辑在 src/services/sync/syncCoordinator.ts。成功标志界面出现「上次同步」时间浏览器打开看板链接能看到主题数量与最近更新时间。同步走的是增量外观快照按时间戳比新旧旧数据不会压掉新数据主题库把每首歌的指纹分进 256 个 bucket见 src/services/sync/syncMerkle.ts两端只比对摘要哈希几百首歌也只传有变化的部分。同一界面的「导出 zip / 导入 zip」可把整份同步库备份成文件在两台电脑间迁移同步启用时导入的内容也会推回服务端。验收画面在设备 A 上生成或修改一个 AI 主题点一次同步设备 B 重启 Folia打开同一首歌——背景、字体、动画样式与 A 完全一致无需再碰任何设置。⚠️ Cloudflare 方案不方便直接下载数据文件建议隔段时间用「导出 zip」留一份底。最后留三条速查情况处理忘记 Token只能重新生成并同步更新服务端与客户端配置Test 一直红叉核对根地址、Token、Docker13000端口暴露服务挂在公网在 WAF 或 Nginx 加频率限制/health以外接口都要求鉴权想继续深挖协议与 API 清单见 sync-server/README.md客户端同步实现集中在 src/services/sync/。【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

项目缓存实战:热点 Key 击穿、缓存穿透与多级缓存架构

项目缓存实战:热点 Key 击穿、缓存穿透与多级缓存架构

1. 引言 文章目录1. 引言2. 缓存优化2.1 缓存击穿:逻辑过期方案2.2 缓存穿透:缓存空值方案2.3 布隆过滤器:缓存穿透的进阶防线2.3.1 布隆过滤器的原理2.3.2 为什么存在误判?如何优化?2.3.3 为什么无法删除数据&#xf…

2026/10/15 3:06:36 阅读更多 →
tfsec 检查规则解析:aws-ssm-secret-use-customer-key 强制 Secrets Manager 使用客户托管密钥(CMK)

tfsec 检查规则解析:aws-ssm-secret-use-customer-key 强制 Secrets Manager 使用客户托管密钥(CMK)

应用安全SASTIaC 【免费下载链接】tfsec Tfsec is now part of Trivy 项目地址: https://gitcode.com/gh_mirrors/tf/tfsec 点击查看 免费下载 导读 本文深入解析 tfsec 内置检查规则 aws-ssm-secret-use-customer-key(旧 ID AWS095)&#…

2026/10/15 3:06:36 阅读更多 →
深度学习入门:从核心概念到PyTorch实战训练全流程

深度学习入门:从核心概念到PyTorch实战训练全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 3:06:36 阅读更多 →

最新新闻

动态规划:线性DP——多状态DP与子数组专题笔记

动态规划:线性DP——多状态DP与子数组专题笔记

动态规划算法——简单多状态dp问题统一解题模板:线性DP五步法1. 状态表示:以i位置结尾,拆分多种状态(选/不选、持有/不持有、不同颜色)2. 状态转移方程:根据上一步所有合法状态推导,取最值3. 初…

2026/10/15 3:56:45 阅读更多 →
Redis 从 0 到 1(九):主库宕机 30 秒自动切主——1 主 2 从 3 哨兵 + Go 客户端

Redis 从 0 到 1(九):主库宕机 30 秒自动切主——1 主 2 从 3 哨兵 + Go 客户端

我不会起名字322 后端 / 算法 / 数据库 📘 技术栈 | 🧩 力扣 Hot100 | 🐹 Go 项目 | 🟥 Redis | 🐬 MySQL 文章目录Redis 从 0 到 1(九)&#xf…

2026/10/15 3:56:45 阅读更多 →
第 9 篇 · 数值计算与图像处理:NumPy、SciPy、Pillow

第 9 篇 · 数值计算与图像处理:NumPy、SciPy、Pillow

数值计算与图像处理:NumPy、SciPy、Pillow 数据分析链路中,除表格处理外还涉及两类底层能力:数值计算(数组运算、线性代数、插值与优化、信号处理)与图像处理。本节以 NumPy、SciPy、Pillow 三个库为例,说…

2026/10/15 3:56:45 阅读更多 →
【学习记录】DAP调试器电路原理图完全详解:从STM32最小系统到SWD调试接口

【学习记录】DAP调试器电路原理图完全详解:从STM32最小系统到SWD调试接口

【学习记录】DAP调试器电路原理图完全详解:从STM32最小系统到SWD调试接口 DAP调试器(CMSIS-DAP)是嵌入式开发中最常用的调试工具之一。它本质上是一个小型的STM32最小系统 USB接口 目标调试接口。本文从原理图角度,逐模块拆解DA…

2026/10/15 3:56:45 阅读更多 →
Python做微信机器人:个人微信API最小收发闭环实战

Python做微信机器人:个人微信API最小收发闭环实战

用 Python 做微信机器人,最常见的起步方式是:找个示例、复制一段发送代码、在测试好友上点一点。 能发出去当然高兴,但一接到真实业务——自动回、CRM、AI——就会发现:收不稳、回双份、偶发找不到人。 个人微信 API 实战&#x…

2026/10/15 3:56:45 阅读更多 →
IDEA 的命令补全又进化了

IDEA 的命令补全又进化了

我们先来还原一个极其真实的场景 你正在写一个 Java 类,突然想重构一个方法。你明明知道 IDEA 能做到,甚至昨天刚用过。但此刻,你的大脑一片空白——快捷键是什么来着? CtrlAltShiftT?还是 CtrlAltM? 你开始…

2026/10/15 3:55:44 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →