Linux (ubuntu)和安卓手机之间的文本/文件传递有什么比较好的方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kaiger
V2EX    Linux

Linux (ubuntu)和安卓手机之间的文本/文件传递有什么比较好的方案

  •  
  •   kaiger 2022-06-16 10:00:22 +08:00 7864 次点击
    这是一个创建于 1290 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司 wifi 和电脑连接的网络被分成了两个子网,一个是 192.168.70.xx 一个是 192.168.60.xx

    ps:

    1, 两者不再同一个局域网

    2, 排除微信文件传输助手,延迟太高了

    92 条回复    2022-09-05 21:57:46 +08:00
    dcsuibian
        1
    dcsuibian  
       2022-06-16 10:03:57 +08:00
    分成了两个局域网,那相互之间 ping 得通吗?如果连得通的话,电脑开个 samba 服务器,然后手机用文件管理器打开。不过感觉也不是很方便,只是直连应该最快了吧。
    kaiger
        2
    kaiger  
    OP
       2022-06-16 10:06:53 +08:00
    @dcsuibian

    ping 不通的,直连有点麻烦,fdisk 扫不到手机设备,没法挂载,就算可以挂载,每次都要手动挂载也很烦。用 adb push/pull 效率又太低
    libook
        3
    libook  
       2022-06-16 10:16:18 +08:00   2
    网络没法直连的话,基本就只能用公有云中转一下了,但这样下来个人感觉未必比 adb 方便,adb 基本都是一条指令的事情,有复杂需求也可以自己封装一些脚本来自动化,甚至可以找一些 adb 文件管理的 GUI 工具。
    0o0O0o0O0o
        4
    0o0O0o0O0o  
       2022-06-16 10:16:29 +08:00 via iPhone
    给电脑加个十几块的 USB 无线网卡
    kaiger
        5
    kaiger  
    OP
       2022-06-16 10:17:46 +08:00
    @0o0O0o0O0o

    公司电脑,不能乱搞
    kaiger
        6
    kaiger  
    OP
       2022-06-16 10:20:55 +08:00
    @libook

    主要不想用有线连接,想省略插拔步骤
    libook
        7
    libook  
       2022-06-16 10:25:29 +08:00
    @kaiger #6 那就只能折腾公有云了,比如云盘同步之类的,那个也是有延迟的,而且未必比插线方便。
    minami
        8
    minami  
       2022-06-16 10:26:53 +08:00   1
    方便科学上网的话,pushbullet 挺好用的。不方便的话建议手机就不要连 wifi 了,直接共享电脑有线网络就行了( Gnirehtet )
    rickiey
        9
    rickiey  
       2022-06-16 10:29:49 +08:00
    钉钉,keybase,
    dcsuibian
        10
    dcsuibian  
       2022-06-16 10:29:55 +08:00
    @kaiger 直连不行就只能中转了, 那估计都比微信传好不了多少。
    我自己是安卓手机,和 PC 、Mac 传文件,微信、坚果云、手机直连三种方式混用,也没有找到终极解决方案。
    rickiey
        11
    rickiey  
       2022-06-16 10:30:29 +08:00
    这两个都有手机版和 linux 版
    lakehylia
        12
    lakehylia  
       2022-06-16 10:30:47 +08:00
    Android Studio 内置一个手机文件管理器,不过还是要插 usb 。
    1235467
        13
    1235467  
       2022-06-16 10:33:49 +08:00
    不太在意延迟的话可以试试 syncthing
    kaiger
        14
    kaiger  
    OP
       2022-06-16 10:33:53 +08:00
    @rickiey

    只需要文件传输功能,不想因为这个下载 app
    kaiger
        15
    kaiger  
    OP
       2022-06-16 10:35:02 +08:00
    @1235467

    syncthing 我有了解,延迟还是很在意的
    anytk
        16
    anytk  
       2022-06-16 10:35:23 +08:00
    如果手机可以 ping 的到 电脑的话,直接用 KDE Connect 手动添加就可以。
    kaiger
        17
    kaiger  
    OP
       2022-06-16 10:37:38 +08:00
    @anytk

    ping 不通
    kaiger
        18
    kaiger  
    OP
       2022-06-16 10:40:15 +08:00
    @anytk

    抱歉抱歉,看反了,电脑 ping 不通手机,刚刚试了一下,手机可以 ping 通电脑,请问如何操作,用的 Ubuntu ,桌面用的 i3
    FengMubai
        19
    FengMubai  
       2022-06-16 10:45:29 +08:00   2
    kde connect
    DefoliationM
        20
    DefoliationM  
       2022-06-16 10:56:57 +08:00
    zerotier + kde connect?
    sigoden
        21
    sigoden  
       2022-06-16 11:00:25 +08:00   2
    电脑运行文件服务 https://github.com/sigoden/duf ,手机直接通过浏览器上传载文件。
    yanyuechuixue
        22
    yanyuechuixue  
       2022-06-16 11:08:04 +08:00
    插个 USB 线,选择模式是 usb 网络共享,然后直接传就行了。
    kaiger
        23
    kaiger  
    OP
       2022-06-16 11:27:07 +08:00
    @FengMubai

    kde connect 很 nice, 但是我这种情景无法使用,我看了一下文档,必须在同一局域网下
    anytk
        24
    anytk  
       2022-06-16 11:38:43 +08:00
    @kaiger Ubuntu 安装 kdeconnect ,然后手机也安装 kdeconnect app ,配对选择通过 IP 添加设备,然后想办法把电脑 IP 静态化就行了
    anytk
        25
    anytk  
       2022-06-16 11:39:37 +08:00
    @kaiger 电脑的 kdeconnect 就是服务端,只要手机可以访问电脑即可
    kaiger
        26
    kaiger  
    OP
       2022-06-16 11:46:00 +08:00
    @anytk

    好像不太行,我按照你说的做了,但是可用设备还是空的
    dianqk
        27
    dianqk  
       2022-06-16 11:54:20 +08:00 via Android
    wireguard 加上 kde connect ,这就在一个子网下了
    Aalen
        28
    Aalen  
       2022-06-16 12:01:09 +08:00
    darkhttpd
    wdssmq
        29
    wdssmq  
       2022-06-16 12:02:04 +08:00   3
    CopyPaste.me - Frictionless sharing between devices
    https://copypaste.me/
    ltkun
        30
    ltkun  
       2022-06-16 12:05:50 +08:00 via Android
    互联的话 电脑开个 smb 共享或者 ftp 哪怕 ssh 手机安装个啥随意了 我习惯 cx 文件管理器
    kaiger
        31
    kaiger  
    OP
       2022-06-16 12:14:32 +08:00
    @DianQK
    哥, 会不会有点麻烦
    psklf
        32
    psklf  
       2022-06-16 12:21:21 +08:00
    搞那么复杂,还不如 adb pull push 一把梭
    darkengine
        33
    darkengine  
       2022-06-16 12:31:58 +08:00
    安卓上有些文件管理器可以开局域网内共享服务的,在电脑上可以用浏览器打开,管理手机上的文件。
    iBugOne
        34
    iBugOne  
       2022-06-16 12:50:08 +08:00 via Android
    我的方案是安卓手机上用 Root Explorer (支持 SMB 协议),服务器上装个 samba 开共享,然后在手机上操作传输数据

    其中安卓上可以换任何你喜欢的文件管理器,只要支持 SMB 就行,不要纠结在服务器上操作手机上的文件
    oldshensheep
        35
    oldshensheep  
       2022-06-16 12:59:49 +08:00
    kdeconnect 可以的。
    安装个 zerotier 就行了,安装之后就在一个局域网了。
    whenov
        36
    whenov  
       2022-06-16 13:10:05 +08:00
    ping 不通不一定不能连接
    TOUJOURSER
        37
    TOUJOURSER  
       2022-06-16 13:10:15 +08:00
    nps
    Puteulanus
        38
    Puteulanus  
       2022-06-16 13:26:14 +08:00
    ThisDay
        39
    ThisDay  
       2022-06-16 13:28:58 +08:00
    clipt 我觉得很好用,就是依赖谷歌硬盘
    RuralHunter
        40
    RuralHunter  
       2022-06-16 13:33:16 +08:00
    微信啊
    macy
        41
    macy  
       2022-06-16 13:45:15 +08:00
    如果能 ping 通,可以试试这个 https://github.com/williamnie/netSend ,ubuntu 上安装个软件,手机浏览器扫码下载,如果内网不通,就没办法了,
    anytk
        42
    anytk  
       2022-06-16 14:15:04 +08:00
    @kaiger 不行就没办法了,只能通过中转了。我测试过 wireguard + kdeconnect 是 OK 的。
    TomVista
        43
    TomVista  
       2022-06-16 14:29:33 +08:00
    手机开热点 啊,然后用 局域网传输服务就行,

    我就是直接开个 node 静态文件服务器, 就是速度慢一点,勉强 20m/s
    SenLief
        44
    SenLief  
       2022-06-16 14:31:09 +08:00
    你们不适用 oa 的软件嘛?一般都有文件管理什么的吧。
    TomVista
        45
    TomVista  
       2022-06-16 14:31:10 +08:00
    @TomVista 啊 没看到,电脑没 Wi-Fi
    fzle8
        46
    fzle8  
       2022-06-16 14:42:02 +08:00
    Telegram 无处不在。

    Android 可以建 ftp 服务器啊
    kaiger
        47
    kaiger  
    OP
       2022-06-16 14:49:36 +08:00
    @fzle8

    Telegram 见不得人
    ByteCat
        48
    ByteCat  
       2022-06-16 15:07:59 +08:00
    什么意思,kde connect 可以实现么
    kaiger
        49
    kaiger  
    OP
       2022-06-16 15:23:24 +08:00
    @ByteCat

    试过了,kde connect 设备列表是空的,可能是网络不互通
    imxiaoi
        50
    imxiaoi  
       2022-06-16 15:32:18 +08:00
    send anywhere?
    kaiger
        51
    kaiger  
    OP
       2022-06-16 15:44:31 +08:00
    @imxiaoi

    有广告,还是算了。
    banmuyutian
        52
    banmuyutian  
       2022-06-16 15:52:46 +08:00   1
    纯文本:note.ms (公网)
    文本+文件:snapdrop.net (同个局域网)
    m1nm13
        53
    m1nm13  
       2022-06-16 16:52:32 +08:00
    cloudfstrife
        54
    cloudfstrife  
       2022-06-16 17:14:50 +08:00
    @kaiger #49 KDE Connect 可以手动添加设备的。手动添加一下就可以了
    encro
        55
    encro  
       2022-06-16 17:23:57 +08:00
    kaiger
        56
    kaiger  
    OP
       2022-06-16 17:35:55 +08:00
    @cloudfstrife

    试过了,手动添加没反映
    dianqk
        57
    dianqk  
       2022-06-16 17:35:57 +08:00 via Android
    @kaiger 还好吧,wireguard 用来创建虚拟的子网,这样就能 ping 通了,其他楼提到的 zerotier 也是一个方式
    pendulum
        58
    pendulum  
       2022-06-16 18:07:53 +08:00
    网络通的话直接起一个 FTP Server 不就好了吗,电脑起或者手机起
    cloudfstrife
        59
    cloudfstrife  
       2022-06-16 18:19:18 +08:00
    @kaiger 网络不通的话,这个是的无解,要么云盘,要么文件传输助手
    Zizpop
        60
    Zizpop  
       2022-06-16 19:15:45 +08:00
    zenxds
        61
    zenxds  
       2022-06-16 19:26:21 +08:00
    lllyglh
        62
    lllyglh  
       2022-06-16 19:48:20 +08:00
    只是传文件的话,其实不用完整的局域网环境,能简单通讯就行了,电脑随便开个什么文件服务 。 adb reverse tcp:3001 tcp:3000 把安卓的端口转发到电脑,然后安卓上访问 127.0.0.1:3001 即可。
    weiiai
        63
    weiiai  
       2022-06-16 23:38:16 +08:00
    Ubuntu ( 192.168.60.1 )上应该有 python2 吧,进入指定的路径下执行命令。
    python -m SimpleHTTPServer 65530
    手机浏览器直接访问 http://192.168.60.1:65530 下载文件
    realpg
        64
    realpg  
    PRO
       2022-06-17 04:12:18 +08:00
    楼主的环境翻译成人话:
    两个不互通的网络设备如何传输内容

    正确答案:微信文件传输助手

    楼主不想用微信传输助手,因为延迟高,我是真没看明白微信文件传输助手有啥延迟,基本就是个传输时间+微信 pc 版轮询新消息时间,在服务器上的中转啊开销不超过 2s 。

    不用微信传输助手,那就装个 QQ 吧,发送到自己手机
    realpg
        65
    realpg  
    PRO
       2022-06-17 04:13:25 +08:00
    @minami #8
    @1235467 #13
    楼主连微信的大约扣除传输时间后约 2s 延迟都嫌高,还过墙,还用 P2P
    gnawll
        66
    gnawll  
       2022-06-17 06:52:13 +08:00 via iPhone
    LANDrop
    dianqk
        67
    dianqk  
       2022-06-17 07:33:28 +08:00 via Android
    btw op 或许可以试试借助 Wifi Direct 实现,Android 和 Linux 开启并连接可能没那么麻烦(没调查过)
    StarStrategy
        68
    StarStrategy  
       2022-06-17 07:36:02 +08:00 via Android   1
    搞的也太复杂了吧,android 端装一个 airdroid ,然后全平台都可以直接访问 web 传文件了
    anjiannian
        69
    anjiannian  
       2022-06-17 09:07:44 +08:00
    p2p 文件传输
    abc8678
        70
    abc8678  
       2022-06-17 09:08:06 +08:00 via Android
    我以前也想问这个问题 t/811853 Linux 给手机可以用二维码,反过来……没想好
    kaiger
        71
    kaiger  
    OP
       2022-06-17 09:20:42 +08:00
    @StarStrategy

    网络不通的
    p1gd0g
        72
    p1gd0g  
       2022-06-17 09:35:00 +08:00
    昨天 python -m http.server 的时候发现同样的问题,也没找到好办法
    虽说笔记本可以开热点吧,切来切去也很麻烦啊

    理论上可以通过开发机中转,有空再折腾吧
    Latin
        73
    Latin  
       2022-06-17 09:46:55 +08:00
    kaiger
        74
    kaiger  
    OP
       2022-06-17 12:04:32 +08:00
    兄弟们,感谢大家的帮助,我已经找到解决办法了

    目前的环境是电脑 ping 不通手机,但是手机可以 ping 通电脑

    直接在电脑端搭建 ftp 服务器,手机端访问就行,可以正常上传下载文件
    kaiger
        75
    kaiger  
    OP
       2022-06-17 12:06:33 +08:00
    另外,为什么手机可以 ping 通电脑,电脑却不可以 ping 手机呢?

    有没有大佬出来解答疑惑
    j0ck1e
        76
    j0ck1e  
       2022-06-17 13:55:32 +08:00
    j0ck1e
        77
    j0ck1e  
       2022-06-17 13:56:16 +08:00
    tomychen
        78
    tomychen  
       2022-06-17 14:02:54 +08:00
    如果两端网不通,那就只能借第三方了
    dropbox
    https://file.io
    https://transfer.sh

    如果网通 python -m SimpleHTTServer

    再不行,就在公司弄个文件服务器吧,两端都通网那种
    zjsxwc
        79
    zjsxwc  
       2022-06-17 14:37:04 +08:00 via Android
    安卓有个软件叫做 airdroid
    zjsxwc
        80
    zjsxwc  
       2022-06-17 14:45:21 +08:00 via Android   1
    @zjsxwc
    不过最简单的办法还是,
    搞个二手路由器,
    把原先电脑的网线插到路由器里,
    然后路由器把无线网络共享出来给手机连接,
    这样手机与电脑都在一个局域网里面了。
    balllad
        81
    balllad  
       2022-06-17 17:09:23 +08:00
    文件:Send Anywhere
    文本:快贴
    全平台支持
    fengchen0vr
        82
    fengchen0vr  
       2022-06-17 17:17:45 +08:00 via iPhone
    电脑是接的一级路由器,手机是二级路由器,电脑到手机没有路由
    kaiger
        83
    kaiger  
    OP
       2022-06-17 18:02:53 +08:00
    @fengchen0vr

    即使 ping 不通手机,手机可以连接电脑的 ftp 服务,可以相互传递数据,电脑到手机没有路由,数据也能传递过去吗
    offswitch
        84
    offswitch  
       2022-06-17 18:03:09 +08:00
    小米文件管理器,安卓开 ftp ,然后再 ubuntu 上访问
    offswitch
        85
    offswitch  
       2022-06-17 18:03:35 +08:00
    没看到不在同一个局域网,那这个没办法
    SoloKing
        86
    SoloKing  
       2022-06-17 18:12:55 +08:00
    Android 手机作为 MTP 设备在 Ubuntu 上应该是可以自动挂载的,不知道你用什么版本系统或者手机不支持
    kaiger
        87
    kaiger  
    OP
       2022-06-17 18:19:35 +08:00
    @SoloKing

    22.04

    没办法识别,更别提自动挂载了
    fengchen0vr
        88
    fengchen0vr  
       2022-06-18 19:05:32 +08:00
    @kaiger 手机到电脑是有路由的,这就可以了
    Keller0
        89
    Keller0  
       2022-06-19 01:06:39 +08:00
    @kaiger 之前也遇到类似问题,写了个简单的文件服务,比 FTP 方便,0 配置。
    https://github.com/keller0/simpleshare

    网络应该就是 @fengchen0vr 说的情况,FTP 也是 C/S 架构所以你手机可以访问电脑就够了,电脑不是主动给手机发数据的。
    Orciorc
        90
    Orciorc  
       2022-06-19 11:41:50 +08:00
    如果只是传输文本的话,建议用二维码生成,用手机扫描。如是需要传输文件,除非像 Airdrop 那样的软硬件协同,否则就只能依赖网络了。蓝牙之类的带宽又不足。
    kaiger
        91
    kaiger  
    OP
       2022-06-20 11:53:02 +08:00
    @Orciorc

    有什么推荐的工具吗,生成二维码
    k5NkA6Vcu8Vj18K1
        92
    k5NkA6Vcu8Vj18K1  
       2022-09-05 21:57:46 +08:00
    easychuan.cn

    在线 p2p 传输 文字 文件 视频流 都可以
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2767 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 02:20 PVG 10:20 LAX 18:20 JFK 21:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86