tushushare
V2EX  ›  Android

写了个开源工具:手机照片视频无损搬到电脑,局域网直传, PC 不装任何客户端

  •  
  •   tushushare · 23h 27m ago · 3040 views

    写了个工具解决自己的痛点,开源出来给大家用,求轻喷、求反馈。

    GitHub: https://github.com/malatomato1989/photosmove

    官网:https://www.photosmove.com

    Google Play:搜索 PhotosMove ,或 https://play.google.com/store/apps/details?id=com.photosmove.app

    起因

    老婆手机里攒了 1600+ 张照片、20 多个 G 的视频,想搬进电脑做本地备份,把主流方案试了一圈,都有点膈应:

    • 微信/QQ 传文件助手:图片走压缩管道,视频超过 1GB 直接传不了,传完时间戳和 EXIF 还可能被动过
    • 网盘:上传即转码的风险 + 不开会员限速,几十 G 要传到天荒地老,而且照片这东西我不想让它过第三方服务器
    • 数据线 MTP:能保证原样,但大批量传的时候慢、偶发中断,中途断了还得从头排查哪些传了哪些没传
    • LocalSend / Syncthing:好用,但电脑端要装客户端,用起来有点不顺手

    我的需求其实很简单朴素:手机里的照片视频原封不动落到电脑上,电脑端一个浏览器就能搞定。找不到完全对口的,就自己写了一个。

    用法

    1. 手机装 PhotosMove ( Google Play ),点一下启动服务
    2. 电脑浏览器打开手机上显示的地址,输 6 位 PIN 码
    3. 勾选相册 → 浏览器开始下载一个流式 ZIP ,完事

    PC 端零安装:不需要驱动、不需要客户端、不需要账号,有个浏览器就行。

    几个实现上的点,和 V 友们聊聊

    • 手机端起 HTTP 服务:Go 写的服务跑在 Android 前台服务里,同一局域网下浏览器直连。不连云、不采集任何遥测、传输数据不出局域网。
    • 流式 ZIP + ZIP64:20G+ 的照片集不打包进内存,边打包边下载,ZIP64 保证单个文件超 4GB 不炸。
    • 字节级无损:JPG / HEIC / RAW / DNG / MP4 / Live Photo 原始字节直出,不重压缩不转码,EXIF 、GPS 、时间戳全保留。
    • 完整性校验:下载完可以在浏览器本地跑 SHA-256 逐文件比对,校验逻辑也是纯前端,文件同样不上传。
    • 保留目录结构:落盘后还是 DCIM/Pictures 的原始布局,方便接续你的归档习惯。

    边界说明

    • 仅 Android → 电脑方向,不做反向
    • 需要手机和电脑在同一局域网(这是特性不是缺陷:数据不出门)

    GPL-3.0 开源,代码完全可审计,欢迎 code review 和提 issue 。如果你也受够了“传个照片还要过一遍别人的服务器”,欢迎试试,使用中任何问题直接在这里回复或提 issue 都行。

    Supplement 1  ·  13h 18m ago
    大家如果用起来有哪些问题和想法也可以提给我,感谢大家!
    48 replies  •  2026-11-09 10:56:48 +08:00
    v2wp
    v2wp
    22h 1m ago
    1
    这个是好东西,而且也实用,就是你这本来就是开源了免费的,默认语言怎么不能是中文呢。
    A1188
    A1188
    21h 59m ago via Android❤️1
    2
    虽然但是。。。QQ 发文件直接发我的电脑,是直接发源文件的啊,在局域网内还是直接走局域网(
    bennylam2017
    bennylam2017
    21h 30m ago via Android
    3
    不做反向是否备份还原
    到另一部手机会失真或排序乱了?
    遇到同樣問題,請問有
    没有特别工具推荐
    由电脑还原到手机.
    piku
    piku
    21h 24m ago via Android
    4
    有没有可能 localsend 有 http 模式可以不安装接收客户端
    tushushare
    tushushare
    OP
    20h 50m ago
    5
    @v2wp 默认是按用户的手机的语言来自动适应的,想着开源嘛,英语范围更广一些
    tushushare
    tushushare
    OP
    20h 49m ago
    6
    @A1188 现在好久没用 QQ 了,还怎么想起来
    tushushare
    tushushare
    OP
    20h 47m ago
    7
    @bennylam2017 没有做反向还原,因为我的初衷就是从手机传到电脑,后面看大家的需要再增加功能
    tushushare
    tushushare
    OP
    20h 44m ago
    8
    @piku 好像他是文件一个一个传的,文件多的话 IO 占用高,有点慢,流式 zip 传输 IO 稳定且快
    qingrain
    qingrain
    20h 13m ago❤️1
    9
    https://www.xiaolifaa.com/
    这个我用了很久,是类似的,你可以看看。它也是把手机上的文件在电脑上用浏览器来管理,也是局域网。它的优点就是可以在浏览器里面去删除相册和图片、删除文件。也可以批量下载,它是直接把这个相册里面的打成一个压缩包来。
    它还可以直接把电脑上的文件拖到浏览器的这一个网页下,就直接传到手机上了。
    zuokanyunqishi
    zuokanyunqishi
    19h 7m ago
    10
    没有蓝牙不爽啊
    honhon
    honhon
    19h 6m ago
    11
    我用 immich
    z775781
    z775781
    18h 50m ago
    12
    小米手机文件管理器有个 FTP 模式,可以内网 FTP 直连
    sugarat
    sugarat
    18h 17m ago❤️1
    13
    Star 了 感觉不错
    cnbatch
    cnbatch
    17h 41m ago
    14
    如果电脑是 Windows 那就没必要搞得那么麻烦,直接开启 SMB (文件共享),然后手机打开功能强一点的文件管理器( CX 、FX 之类的)即可进入电脑的文件夹,接下来随便复制文件

    任意文件都可以复制,不止限于图片、视频
    psllll
    psllll
    17h 12m ago via Android
    15
    安卓直接用 termux rclone smb 传
    tushushare
    tushushare
    OP
    15h 55m ago
    16
    @qingrain 看着不错
    tushushare
    tushushare
    OP
    15h 55m ago
    17
    @zuokanyunqishi 蓝牙倒是还没想到,后面看看要不要加上
    tushushare
    tushushare
    OP
    15h 54m ago
    18
    @honhon 这个也行的
    tushushare
    tushushare
    OP
    15h 54m ago
    19
    @z775781 确实是个好功能,但是其他很多手机没有这个功能
    tushushare
    tushushare
    OP
    15h 54m ago
    20
    @psllll 小白用户稍微有点复杂
    tushushare
    tushushare
    OP
    15h 53m ago
    21
    @cnbatch 小白用户配置起来就是比较麻烦的
    charley008
    charley008
    14h 34m ago
    22
    额,好像手机插数据线连上电脑,就能全部复制一份了啊。
    这又不是常用功能,没必要再专门写个软件吧?
    charley008
    charley008
    14h 32m ago
    23
    alading11
    alading11
    13h 54m ago
    24
    我是用的 syncthing ,隔段时间开一次同步一下
    JackalZhao
    JackalZhao
    13h 47m ago
    25
    这种应用最大的一个痛点就是,手机上显示的地址在电脑上一个一个的输入,非常费事儿。

    因为手机连入 Wi-Fi ,有时候 IP 地址会变,在电脑上添加书签不管用。
    JackalZhao
    JackalZhao
    13h 43m ago
    26
    我的做法是,让 AI 写了一个脚本,对要备份的文件夹,通过 adb shell 执行命令,拉出列表。对比本地文件,对于增量文件,用 ADB pull 进行拉取到本地。

    要用的时候,插上数据线,双击脚本就好了。能跑到 USB 传输的满速度。比数据线 MTP 要可靠的多。

    另外还做了一个用 ADP 进行手机文件管理的电脑应用: https://github.com/HaujetZhao/ADB-Browser

    ![ADB Browser]( https://github.com/HaujetZhao/ADB-Browser/raw/main/assets/demo.png)
    JackalZhao
    JackalZhao
    13h 42m ago
    28
    奇怪,怎么发不了图片呢
    tushushare
    tushushare
    OP
    13h 29m ago
    29
    @sugarat 感谢,希望对大家有用
    tushushare
    tushushare
    OP
    13h 28m ago
    30
    @charley008 这个我上次用了,我要把所有照片全部拷出来,慢的很,几个小时都弄不完
    tushushare
    tushushare
    OP
    13h 26m ago
    31
    @JackalZhao 确实,这个问题可以解决,不过就需要使用一点点的云端的交互,就不符合我没有任何公网交互的绝对隐私的效果了
    tushushare
    tushushare
    OP
    13h 24m ago
    32
    @JackalZhao 嗯,确实现在的 AI 已经很强大了
    nuk
    nuk
    12h 27m ago
    33
    我一般是插电脑,然后 freefilesync 同步。
    输 IP 可以使用 mdns 注册吧,比较方便一点,直接把 pin 码的一部分作为 domain 解析,这样输一个 pin 码就能连接了。
    cnbatch
    cnbatch
    12h 13m ago
    34
    “文件共享”(SMB)不怎么需要配置呀,Windows 系统找个空白文件夹点击几下就能开启

    手机那里更简单了
    就以“CX 文件管理器”为例,初次连接成功后,这个路径就会自动记住,以单独的图标(快捷方式)出现在管理器首屏,以后每次进入直接点图标就行,不需要每次都重新配置一遍

    换句话说,只需要“不那么小白”的人先配置一遍、打开一遍,接下来小白直接点开就能用,就连网址地址 PIN 码都不需要手动重复输入
    tushushare
    tushushare
    OP
    12h 9m ago
    35
    @cnbatch 嗯嗯,你说的是对的,不过我这个项目主要就是给纯小白用的
    tushushare
    tushushare
    OP
    12h 9m ago
    36
    @nuk freefilesync 同步也确实好用的
    dhampirwwh
    dhampirwwh
    10h 44m ago
    37
    好东西,提 2 点建议:
    1.要是能识别无用的删除就好了
    2.要是能同步但手机删了,电脑不会删掉,就好了
    cnbatch
    cnbatch
    9h 16m ago
    38
    说起来,纯小白使用 Windows 文件共享也不麻烦呀,教程一堆,AI 直接出答案

    甚至早就有人发了视频教程

    https://www.bilibili.com/video/BV1fC4y1G7eA/
    tushushare
    tushushare
    OP
    3h 25m ago
    39
    @dhampirwwh 嗯嗯,谢谢确实是个好建议,不过是否无用,这个标准不太好拿捏,删除错了就很麻烦
    sudo123
    sudo123
    2h 54m ago
    40
    我都是把手机所有图片移动到一个文件夹内,然后用 localsend 传到电脑
    yjd
    yjd
    2h 26m ago
    41
    我用的 mixplorer 局域网共享拷贝即可。之前还试过另一款速度最快的忘记叫啥了。也是类似资源管理器。
    HarlanZhang
    HarlanZhang
    1h 31m ago
    42
    8080 端口太常见了,做个降级方案吧。我是 OPPO 手机,8080 默认给多屏协同用了。
    git00ll
    git00ll
    1h 4m ago
    43
    照片当然是 immich 啦 , 不用手动管理了
    yh7gdiaYW
    yh7gdiaYW
    1h 0m ago
    44
    没必要死磕 PC 无客户端啊,你打开浏览器不还是开了个应用还要保存书签,还要输 PIN 鉴权,有客户端更方便
    apologize327
    apologize327
    51 mins ago
    45
    试了下挺好,提 2 个优化建议:
    1.可以修改端口
    2.可以选择下载哪些相册,现在只能全部下载
    apologize327
    apologize327
    49 mins ago
    46
    @apologize327 还有个缺陷是服务没有终止按钮,只能强制关闭应用
    apologize327
    apologize327
    26 mins ago
    47
    @apologize327 #45 发现个 bug ,开启服务后,点击通知跳转到 app ,此时界面顶部会再次弹出一个通知,点进去会进入同一个界面,重复点击,然后右滑退出时,会出现多次(同一个)界面才能退出,正常应该是右滑一次即可。设备是 Android 14 原生系统
    Yjhenan
    Yjhenan
    25 mins ago
    48
    小米的文件管理器自带的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4364 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 03:21 · PVG 11:21 · LAX 19:21 · JFK 22:21
    ♥ Do have faith in what you're doing.