惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
AI
AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
H
Help Net Security
Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
L
LINUX DO - 最新话题
A
Arctic Wolf
博客园_首页
S
Securelist
S
Secure Thoughts
Google DeepMind News
Google DeepMind News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
Cyberwarzone
Cyberwarzone
小众软件
小众软件
T
Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Blog — PlanetScale
Blog — PlanetScale
N
News and Events Feed by Topic
NISL@THU
NISL@THU
Forbes - Security
Forbes - Security
博客园 - 聂微东
F
Fortinet All Blogs
Simon Willison's Weblog
Simon Willison's Weblog
H
Heimdal Security Blog
罗磊的独立博客
S
Security @ Cisco Blogs
B
Blog
T
Troy Hunt's Blog
Engineering at Meta
Engineering at Meta
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Hacker News
The Hacker News
The Last Watchdog
The Last Watchdog
Hacker News - Newest:
Hacker News - Newest: "LLM"
I
Intezer
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
The Cloudflare Blog
S
Schneier on Security
月光博客
月光博客
L
LINUX DO - 热门话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
掏出手机就能搭个 WebDAV 同步服务器?这操作有点香
一名程序媛呀 · 2026-06-16 · via 博客园_首页

摘要: 还在为不同软件间的配置同步头疼吗?本文带你用一部安卓手机,通过 Termux 和一款轻量级神器 gowebdav ,零成本搭建私人 WebDAV 服务器。
无需公网 IP,不用注册第三方服务,十分钟就能让 Tampermonkey、KOReader 等软件实现无缝同步。
内含详细避坑指南和方案对比,让你少走弯路。

🤔 你是不是也受够了配置丢失的苦?

不知道你有没有这样的经历:
辛辛苦苦攒了一堆油猴脚本,结果换个设备或者重置系统后全没了;或者在 KOReader 里看书的进度、笔记,换个设备就找不到北了。
我反正是被这种事情搞怕了,那种“从头再来”的感觉真的很糟糕。

说白了,我们缺的其实是一个轻量、可控、随时在线的同步中转站
各种网盘虽然方便,但要么接口不开放,要么隐私上让人犯嘀咕。
这时候,WebDAV 这个老牌协议就该上场了。

🎯 这篇文章能帮你什么?

我会分享怎么用 Termux(安卓上的终端神器)搭一个极简 WebDAV 服务,让你出门只带手机也能搞定配置同步。

我们会重点聊聊 gowebdav 这个我偏爱的工具,也顺带对比其他方案,让你选出最适合自己的那一个。

🗺️ 主要内容路线

🔹 为啥 WebDAV 是同步配置的好选择

🔹 几个主流轻量方案横向对比,为什么我选 gowebdav

🔹 Termux 环境准备与小坑提醒

🔹 手把手安装配置 gowebdav,让它跑起来

🔹 如何让它在后台老实待着(Termux:Boot 加持)

🔹 实际应用:Tampermonkey 和 KOReader 怎么连上来

👩‍💻我是爱折腾的一名程序媛,喜欢研究全栈开发的各种实践,热爱分享踩坑后的收获与思考,也享受用代码写出各种实用小工具解决问题的快乐。

如果你也在技术这条路上向前走,关注我,愿我们能彼此陪伴,一起成为更好的自己 🌱

📌 第一部分:为什么是 WebDAV,又为什么是 Termux

WebDAV 这协议吧,年纪比不少程序员都大,但胜在简单、通用
大部分效率工具、阅读器都原生支持,不用额外装客户端。你只需要一个能存文件的服务端,剩下的事软件自己就搞定了。

Termux 就更妙了。旧安卓手机谁家里没几部?吃灰不如变身私人服务器,功耗低、零成本,还省了一台树莓派的钱。
有了它,你的同步服务就随时在线,不用依赖任何第三方平台。

你可能会问:现在云服务那么多,干嘛非自己折腾?
答案就两个字:掌控。数据在自己手里,接口不会被突然限流,也不用担心服务关停。这种安全感,折腾过的人都知道。

⚖️ 第二部分:轻量 WebDAV 方案大乱斗

WebDAV 的实现多如牛毛,但在 Termux 这种资源受限的环境下,咱们得挑小巧又能打的。

🔹 Apache/Nginx + WebDAV 模块
功能最强,但太重了。配置繁琐,为个同步功能搬出整套 Web 服务器,属实有点浪费手机的运存和电量。

🔹 Python 的 wsgidav
功能齐全,各种插件一应俱全。但依赖 Python 环境,冷启动稍慢。适合本来就常用 Python 的朋友,顺手管理。

🔹 Golang 的 gowebdav
编译完就一个二进制文件,三五兆大小,内存占用极低。并发支持天然不错,一条命令启动,干净利落。

🔹 Rust 的 rwebdav 或 dufs
也都是单文件小钢炮,性能跟 gowebdav 不相上下。如果你更熟悉 Rust 生态,完全可以考虑。不过 gowebdav 在配置简洁度上我觉得更胜一筹。

下面重点来了 —— 如果你的需求就是“轻量同步,不想折腾”,闭眼选 gowebdav 就行。这也是咱们今天的主角。

🛠️ 第三部分:实战:让 gowebdav 在 Termux 里跑起来

📥 第一步:环境准备

安装 Termux 后,第一件事就是换源,否则下载速度能急死人。打开 Termux,执行:

termux-change-repo

在弹窗里把镜像源勾选上(如清华、中科大),确定。然后更新包管理:

pkg update && pkg upgrade -y

还要装个文本编辑器,后面改配置用。我习惯用 nano,你也可以用 vim:

pkg install nano -y

最后,给 Termux 访问存储的权限,不然你的 WebDAV 只能在本目录里打转:

termux-setup-storage

🚀 第二步:获取 gowebdav

这里有一点要特别注意,Termux 的官方源目前没有直接收录 gowebdav

目前网络上能搜索到的 gowebdav 有几个不同版本,我选择的是
https://github.com/117503445/GoWebDAV

就冲着它的 Slogon: a lightweight, easy-to-use WebDAV server
当然也因为它的 star 数相对靠前!

按照官方提示,直接到 Releases 页下载二进制包,这里使用 wget 方式下载

https://github.com/117503445/GoWebDAV/releases

wget https://github.com/117503445/GoWebDAV/releases/download/1.11.0/gowebdav_linux_arm64

# 重命名一下方便调用(看个人喜好,也可以挪到 $PREFIX/bin/ 下去,我是直接在家目录里用了,方便后期备份)

mv gowebdav_linux_arm64 gowebdav 

⚙️ 第三步:配置并启动

  • --address "0.0.0.0" - 默认即可,可省略
  • --port "8020" - 自定义端口,默认80,这个要改,80很多权限问题不让用
  • --dav "prefix,pathDir,username,password,readonly" - 定义共享目录
    • prefix 表示路由路径,pathDir表示本机共享目录(可使用相对路径)
    • username, password 如果设置为null,则免登录
    • readonly 控制是否可写,true表示只读,false可写

先创建一个共享目录作

mkdir -p webdav/docs

cd webdav

# 启动服务进程

./gowebdav --port "8020" --dav "/files,./docs,username,password,false"

如果你已经用了 termux-services 来管理服务进程,这里给出一个run文件的参考脚本:

#!/data/data/com.termux/files/usr/bin/bash

exec 2>&1

cd ~/webdav/gowebdav

exec ./gowebdav --port "8020" --dav "/files,./docs,username,password,false"

再说个容易翻车的点:
这里我是用的相对路径./docs来作为WebDav根目录了,
如果你是用的 storage,那root 路径别写到 SD 卡根目录,Termux 在某些安卓版本上跨文件系统写数据会有权限问题,就用 storage/shared 下面的路径最稳妥。

服务起来后,打开手机浏览器访问 http://127.0.0.1:8020,应该能看见文件列表了。
局域网内其他设备就用手机在局域网内的IP加端口访问即可。

🔗 第四部分:应用连接实战

📜 Tampermonkey 油猴脚本同步

在设置里找到“脚本同步”,选 WebDAV

服务器地址填 http://你的手机IP:8020/
用户名密码就是之前配置的。

点“同步”那一刻,所有脚本都安全落地了,非常有安全感。

📚 KOReader 阅读进度同步

打开设置 -> 阅读统计 -> 同步 -> WebDAV。

服务器填 http://你的手机IP:8020/koreader/

连接成功以后,读书进度、笔记会自动同步。换设备接着读,丝滑得像没换过一样。

💡 最后的啰嗦:注意事项与更高阶的玩法

🔹 IP 地址问题
家里 Wi-Fi 环境 IP 一般不变,但出了门想用呢?
可以用 ZeroTier 或 Tailscale 组个虚拟局域网,走内网 IP 直连,安全又方便。

这是另一个话题,但值得你去探索。

🔹 端口选择
8080 可能跟其他开发服务冲突,换到 8020 或别的冷门端口更清静。

🔹 数据备份
虽然服务在自己手里,但手机存储也有坏掉的风险。
定期把 WebDAV 根目录 rsync 到电脑或 U 盘,双重保险。

🔹 工具的选择上,我认为顺手的才是最好的!
gowebdav 不一定最强大,但在“简单够用不折腾”这个维度上,它在我这里拿了高分。

✨ 结尾:折腾是为了更好的不折腾

说到底,花上半小时搭好这个服务,换来的是今后无数次换设备、刷系统时的从容。

数据自己掌握,同步随时进行,这种如臂使指的感觉,就是咱们爱折腾的动力源泉吧。

如果你也搭好了,或者遇到了什么奇葩问题,欢迎回来告诉我。
顺手的话,点个赞,收个藏,加个关注,后面我还会分享更多这种“小工具解决大烦恼”的经验。咱们下次见!👋