V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
beimenjun

iOS 照片备份 App「🍉西瓜备份」上线,直接免费

  •  2
     
  •   beimenjun ·
    PRO
    · 3 天前 · 4712 次点击

    介绍

    「🍉西瓜备份」是为 iPhone 设计的相册备份 App 。

    支持外接硬盘、SMB 、WebDAV 作为远端存储点。

    我自己是 immich/群晖用户,但是我不想相册管理也走它们的 mobile App ,有一些自己想要的功能点没满足,所以自己做了个。

    优势

    • 原始信息保存

    iOS 的照片不是单纯的图库,也不是简单的同名 MOV + 静态图的组合,还有一些七七八八的数据。我想要尽可能原始数据导出/导入,按照 iOS 照片结构导出对应角色,然后再导回去。这个过程里是依赖一个 watermelon manifest 文件来作为索引实现的。

    • PIP 功能支持

    用户可以在备份过程中退到后台。

    • 后台备份功能

    接入 Wi-Fi 和连上电的时候,就能进行最近两个月照片数据的备份。

    • 支持多个备份节点

    重要的照片要备份好几个地方,所以支持多节点切换。

    • 除了支持上传,还支持下载与同步

    这个同步需要说明,准确说是本地内容上传上去后,下载远端没有的数据。

    • 兼顾性能与速度

    基本是目前能做到兼顾速度还考虑内存容量的状态了,优化好几遍了。

    App Store

    https://apps.apple.com/app/id6762260596

    内购

    只有一个,就是 Watermelon Pro ,定价 $3.99

    限免时间 2026/04/22-2026/04/30

    其他

    内购免费,结果大家拿完内购就走了,也不回复。

    但是如果是发码,20 个兑换码感觉可以钓 50 个评论。

    所以希望大家玩命地评论我这种直接内购全免,对我来说真的很重要。

    当然关于产品反馈,比如问题、建议,对我也很重要。

    第 1 条附言  ·  3 天前
    因为照片信息比较敏感,所以代码也开源了:

    https://github.com/zizicici/Watermelon
    第 2 条附言  ·  2 天前
    1.0.1 版本已上线,最低支持 iOS 18.0
    第 3 条附言  ·  1 天前
    1.1.0 修正了一些高频的崩溃问题以及让日志包含更有用的信息,欢迎测试反馈
    第 4 条附言  ·  1 天前
    1.1.1 更新了,加了 Crashlytics ,加强了 WebDAV 。
    146 条回复    2026-04-24 15:43:10 +08:00
    1  2  
    Litchi824
        101
    Litchi824  
       2 天前
    内购已收入, 后续再试用, 同为 immich 用户 ~ 感谢🙏
    beimenjun
        102
    beimenjun  
    OP
    PRO
       2 天前 via iPhone
    @easymbol 大概是每天如果合适系统都会触发跑一次吧,失败了不会标记这个远端节点 dirty 之类的(不过还需要多实际看一下,毕竟这部分测试比较难覆盖)
    yulgang
        103
    yulgang  
       2 天前
    @beimenjun #91 感谢

    期待支持 S3
    beimenjun
        104
    beimenjun  
    OP
    PRO
       2 天前 via iPhone   ❤️ 1
    @Litchi824 其实如果已经习惯了 immich 自带的,我这一套意义不是很大。可能未来多添加一些协议支持,可以传到网盘之类的时候,也许存在感会强一些。
    viso7682
        105
    viso7682  
       2 天前
    感谢良心 OP
    sutking
        106
    sutking  
       2 天前 via iPhone
    我是群晖用户,我用 photos 备份手机相册,我还是没懂,synology photos 在把 iOS 相册备份到群晖里的时候会丢失哪些数据或者信息?
    wyd011011daniel
        107
    wyd011011daniel  
       2 天前
    支持一下 有个想法 画中画进度是不是用实时活动更适合呢(当然我才下载还没有进行使用,也许已经支持了)
    beimenjun
        108
    beimenjun  
    OP
    PRO
       2 天前
    @sutking 丢失的主要类似于编辑信息吧,比如在系统相册 App/Snapseed ,里改了滤镜之类的操作。

    一般来说,业内常见的导出是,静态图保存一个图片,Live 图保存一个静态图片+MOV ,视频就是个 MOV 。这已经满足 99.9% 需求了。对应的导入就是相同前缀的静态图+MOV 合成一个 Live 图。

    我这个需求相对就是比较吹毛求疵一些。
    beimenjun
        109
    beimenjun  
    OP
    PRO
       2 天前
    @wyd011011daniel 最合适的当然是灵动岛,但是问题是上岛不代表就能后台运行,这时候一般常见做法是地理信息授权来实现不在前台还能执行任务。

    但是 PIP 就能保证不在前台还能执行任务了,所以最后是这个技术选型。
    flyJJ
        110
    flyJJ  
       2 天前 via iPhone
    支持下!
    wyd011011daniel
        111
    wyd011011daniel  
       2 天前
    @beimenjun #109 了解了,还想问下,后台备份功能使用的是 26.1 提供的 PHBackgroundResourceUploadExtension 这个能力么
    flyJJ
        112
    flyJJ  
       2 天前 via iPhone
    我点了允许访问本地照片后,就一直闪退
    blank0ken
        113
    blank0ken  
       2 天前
    @beimenjun 我是 58120 张照片,24089 个视频
    beimenjun
        114
    beimenjun  
    OP
    PRO
       2 天前   ❤️ 1
    @wyd011011daniel 不是不是,就是普通的照片备份操作。新东西让大厂先用,万一有问题,我反馈也没人理会。

    @sutking 再补充一下一个场景,比如慢动作视频,如果用户在拍完之后进行慢动作范围的编辑。用户是可以之后再调整范围甚至直接 revert 撤销编辑的。如果使用群晖的 Photos 导出,是一个单纯的调整后的视频,导入回去你也不能再次编辑甚至 revert 。但是用「西瓜备份🍉」导出的,就有原始的视频、用户调整视频,当然还包括一些其他文件,导入也可以恢复编辑,但是相应的,代价就是硬盘空间的消耗(比群晖自带的多了一个原始视频)。
    betterpan
        115
    betterpan  
       2 天前 via iPhone
    支持一个,已取
    beimenjun
        116
    beimenjun  
    OP
    PRO
       2 天前
    @flyJJ 你的照片库应该也和 @blank0ken 类似规模吧。我下一个版本就是修这种大库导致 crash 的问题。

    我自己以为自己 25K 的容量已经相当多了。看样子得设计一套多少都不会崩的体系。
    FrancisBacon
        117
    FrancisBacon  
       2 天前
    感谢,群晖的 Photos 需要经常点开才能备份

    希望这个可以重启后自动运行
    beimenjun
        118
    beimenjun  
    OP
    PRO
       2 天前
    @FrancisBacon 后台备份功能因为我自己相册天天测试,导致它触发了我也不知道……

    还是需要多观察,毕竟刚做出来没多久,有问题还望海涵。
    css3
        119
    css3  
       2 天前 via iPhone
    @beimenjun
    还是不行,我是 openlist 的 webdav ,并且开启了 auth 认证,不确定是否跟这有关

    连接失败
    WebDAV MKCOL 失败,状态码 405:
    https://xxx:4443/dav/
    dav/
    (WebDAVClient / 405)
    w3
        120
    w3  
       2 天前
    Star 支持
    beimenjun
        121
    beimenjun  
    OP
    PRO
       2 天前
    @css3 你更新到 1.0.1 之后,重新添加试试看,现在几个字段需要分开来填。今天有几个反馈都是最后填好就能连上了。

    协议选择 https ,主机填入域名,端口输入 4443 ,WebDAV 路径填入/dav ,然后备份根路径是你想让整个备份文件夹叫什么名字。

    认证填入用户名和密码。
    css3
        122
    css3  
       2 天前 via iPhone
    @beimenjun 我刚再次确认了,重新添加也是一样的 405 code
    beimenjun
        123
    beimenjun  
    OP
    PRO
       2 天前
    @css3 如果方便的话,可以截图发给我的邮箱: [email protected] ,如果给一个测试账号,让我自己调试也是可以的。
    css3
        124
    css3  
       2 天前 via iPhone
    @beimenjun 连上了,刚问题出在默认备份路径我没改。但是我不清楚备份逻辑什么?测试给了 1 张照片,一直迟迟没备份,手机是 wifi 状态并且在充电
    beimenjun
        125
    beimenjun  
    OP
    PRO
       2 天前
    @css3 WebDAV 有些时候启动比较慢,如果你放在公网,还面临一个你的宽带上传带宽的问题。

    但是整体上应该还是能传的,我上午刚测过。
    css3
        126
    css3  
       2 天前 via iPhone
    @beimenjun 对,公网,但是我就只给了 1 张照片的权限,一直迟迟没见到上传😂
    css3
        127
    css3  
       2 天前 via iPhone
    @beimenjun

    手动备份失败:


    2026-04-23T06:53:34.865Z [INFO ] 开始执行:上传 0 个,下载 0 个,同步 1 个。
    2026-04-23T06:53:34.899Z [INFO ] 开始补齐本地索引,共 3 项资源。
    2026-04-23T06:53:34.903Z [INFO ] 本地索引预检:开始准备输入,共 3 项资源。
    2026-04-23T06:53:34.913Z [DEBUG] 本地索引预检:输入准备完成,本地资产 3 项,已有缓存 3 项,缺失 0 项,用时 0.0s 。
    2026-04-23T06:53:34.913Z [INFO ] 本地索引预检:开始扫描,并发 #2 。
    2026-04-23T06:53:35.013Z [DEBUG] 本地索引预检进度:已处理 3/3 ,缓存命中 3 ,重建 0 ,不可用 0 ,失败 0 。
    2026-04-23T06:53:35.013Z [DEBUG] 本地索引预检进度:已处理 3/3 ,缓存命中 3 ,重建 0 ,不可用 0 ,失败 0 。
    2026-04-23T06:53:35.014Z [DEBUG] 本地索引预检:扫描完成,用时 0.1s 。
    2026-04-23T06:53:35.014Z [DEBUG] 本地索引预检结果开始写回首页:3 项。
    2026-04-23T06:53:35.014Z [DEBUG] 首页本地索引刷新完成:3 项。
    2026-04-23T06:53:35.014Z [INFO ] 本地索引补齐完成:就绪 3 项,不可用 0 项,失败 0 项。
    2026-04-23T06:53:35.194Z [DEBUG] 远端索引未变化,月份摘要已匹配( 0 个月)。
    2026-04-23T06:53:35.195Z [INFO ] 远端索引已同步。资源=0 ,资产=0 。
    2026-04-23T06:53:35.206Z [INFO ] 上传阶段开始,共 3 项资源。
    2026-04-23T06:53:35.209Z [INFO ] 重试模式:请求=3 ,已解析=3 ,缺失=0 。
    2026-04-23T06:53:35.210Z [DEBUG] 并行月份调度:月份=1 ,并发=1 ,连接池=1 ,策略=dynamic-pull ,来源=protocol-default ,存储=webdav 。
    2026-04-23T06:53:35.532Z [ERROR] 上传阶段失败:备份失败
    getadoggie
        128
    getadoggie  
       2 天前 via iPhone
    本来不想评论的 不过开源了 那就支持一下
    getadoggie
        129
    getadoggie  
       2 天前 via iPhone
    最低版本能再降下么,ios16 ,因为一些缘故不能升级
    beimenjun
        130
    beimenjun  
    OP
    PRO
       2 天前
    @css3 检查一下账户是否有权限写入(实在不行可以考率发一个测试的 demo 账户给我邮箱 [email protected] ,我来连一下你机子看看问题出在哪里么,解决了然后你再删掉测试账号好了)
    beimenjun
        131
    beimenjun  
    OP
    PRO
       2 天前
    @getadoggie 你本地改一下自己跑看看,我这边如果开了 16 的口子,又没有对应设备,到时候客户跑过来问对我来说成本有点高。
    gigishy
        132
    gigishy  
       2 天前 via iPhone
    @beimenjun #116
    感谢分享。
    因为一直群晖所以我本人暂未考虑使用,考虑身边有无 nas 的一个小姐姐,所以特意下载试用了。
    特意针对#116 提的小建议:app 的受众用户,也许大部分是并不怎么懂技术和手机的,所以 ta 们很有可能积累了很多年的照片和视频每次换机时完整地进入新的 iPhone 里,然后新 iPhone 的使用周期里又继续增加新的照片视频,也就是说,可能 25k 张照片都不算多的。
    如我上面说的那位姐姐,历年累积了 11 万以上照片和上万视频,容量超过 800gb……
    所以我觉得 app 在这种情况下的稳定、(尽可能)快速备份是很有必要的。
    总结一下:
    1️⃣app 的不少用户可能是不那么懂技术和手机的
    2️⃣因为 1️⃣,所以 ta 们有可能累积了大量的照片视频在 iPhone 里,需要备份
    3️⃣因此针对大量照片视频的稳定、快速备份是一个我认为重要的需求
    4️⃣而“稳定”又比“快速”更值得优先考虑,内置的“文件”app 在插入某些不那么靠谱的外接存储设备时,可能因为外接设备发热等原因出现掉盘情况,这种情况下怎么处理好,也是给 app 的一个建议。
    再次感谢 op 的分享。
    btpuadom
        133
    btpuadom  
       1 天前 via iPhone
    是否支持实况图片
    beimenjun
        134
    beimenjun  
    OP
    PRO
       1 天前 via iPhone
    @flyJJ @blank0ken 已经修正了一些可能会引起 crash 的点。请你们升级到 1.1.0 版本再试一下。
    beimenjun
        135
    beimenjun  
    OP
    PRO
       1 天前 via iPhone
    @btpuadom live 图支持的,live 图其实一般是静态图+视频,导入回去也会做一个对应处理。
    flyJJ
        136
    flyJJ  
       1 天前 via iPhone
    @beimenjun 我试试
    beimenjun
        137
    beimenjun  
    OP
    PRO
       1 天前 via iPhone
    @gigishy 你说的对,我也是这么想的,1.1.0 版本已经大幅改善了大数据可能面临的问题,但是真实用户使用起来的反馈则是我这边无法模拟的,可以让她在使用过程中遇到啥问题都可以直接小红书联系。App 里有小红书链接。

    热到掉盘这种事情,我这边也处理不了,我这边建议最好是有个三星/闪迪的 2t 或者 4t 的固态硬盘来作为备份设备比较稳健。但是这玩意价格最近涨上天了。
    getadoggie
        138
    getadoggie  
       1 天前 via iPhone
    我的需求是:将 iphone 的照片通过 squoosh 压缩之后(但保留 exif 信息),再上传(因为 squoosh 高压缩率几乎肉眼难以分别,还能很大节省空间,而照片一般都存在 SSD 里)。如果能做到这个就好了,
    getadoggie
        139
    getadoggie  
       1 天前 via iPhone
    @getadoggie 而且还能节省传输量
    beimenjun
        140
    beimenjun  
    OP
    PRO
       1 天前 via iPhone
    @getadoggie squoosh 对于已经是 heic 的图片,收益很不明显。我觉得实现不了「很大节省空间」的目的。
    sutking
        141
    sutking  
       1 天前 via iPhone
    @beimenjun #114
    “用「西瓜备份🍉」导出的,就有原始的视频、用户调整视频,当然还包括一些其他文件,导入也可以恢复编辑”
    牛逼👍这个我确实没想到,大概还是我拍的慢动作视频和延时视频太少了。
    beimenjun
        142
    beimenjun  
    OP
    PRO
       1 天前
    @flyJJ 有任何消息/建议/意见都可以反馈一下。因为我这边不能拿到实际崩溃堆栈,都属于自己发挥了。
    Cone521
        143
    Cone521  
       1 天前
    真的很不错,希望 UI 可以一步一步进化,感谢楼主!
    beimenjun
        144
    beimenjun  
    OP
    PRO
       1 天前
    @Cone521 UI 层面不要指望了,现在的 UI 已经很好了,就等哪天设计潮流转向我这种了。
    AnQiYang
        145
    AnQiYang  
       1 天前
    我在想,这个有那种内网穿透的能力吗?如果可以的话,可以解决苹果用户被大家吐槽的硬盘空间不足的问题。
    beimenjun
        146
    beimenjun  
    OP
    PRO
       1 天前
    国内的宽带上传太小了。到时候是个小水管体验也不行吧。
    1  2  
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   849 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 21:00 · PVG 05:00 · LAX 14:00 · JFK 17:00
    ♥ Do have faith in what you're doing.