V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kaiger
V2EX  ›  Linux

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

  •  
  •   kaiger · 55 天前 · 4981 次点击
    这是一个创建于 55 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    ps:

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

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

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

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

    公司电脑,不能乱搞
    kaiger
        6
    kaiger  
    OP
       55 天前
    @libook

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

    只需要文件传输功能,不想因为这个下载 app
    kaiger
        15
    kaiger  
    OP
       55 天前
    @1235467

    syncthing 我有了解,延迟还是很在意的
    anytk
        16
    anytk  
       55 天前
    如果手机可以 ping 的到 电脑的话,直接用 KDE Connect 手动添加就可以。
    kaiger
        17
    kaiger  
    OP
       55 天前
    @anytk

    ping 不通
    kaiger
        18
    kaiger  
    OP
       55 天前
    @anytk

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

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

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

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

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

    Android 可以建 ftp 服务器啊
    kaiger
        47
    kaiger  
    OP
       54 天前
    @fzle8

    Telegram 见不得人
    ByteCat
        48
    ByteCat  
       54 天前
    什么意思,kde connect 可以实现么
    kaiger
        49
    kaiger  
    OP
       54 天前
    @ByteCat

    试过了,kde connect 设备列表是空的,可能是网络不互通
    imxiaoi
        50
    imxiaoi  
       54 天前
    send anywhere?
    kaiger
        51
    kaiger  
    OP
       54 天前
    @imxiaoi

    有广告,还是算了。
    banmuyutian
        52
    banmuyutian  
       54 天前   ❤️ 1
    纯文本:note.ms (公网)
    文本+文件:snapdrop.net (同个局域网)
    m1nm13
        53
    m1nm13  
       54 天前
    cloudfstrife
        54
    cloudfstrife  
       54 天前
    @kaiger #49 KDE Connect 可以手动添加设备的。手动添加一下就可以了
    encro
        55
    encro  
       54 天前
    kaiger
        56
    kaiger  
    OP
       54 天前
    @cloudfstrife

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

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

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

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

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

    理论上可以通过开发机中转,有空再折腾吧
    Latin
        73
    Latin  
       54 天前
    kaiger
        74
    kaiger  
    OP
       54 天前
    兄弟们,感谢大家的帮助,我已经找到解决办法了

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

    直接在电脑端搭建 ftp 服务器,手机端访问就行,可以正常上传下载文件
    kaiger
        75
    kaiger  
    OP
       54 天前
    另外,为什么手机可以 ping 通电脑,电脑却不可以 ping 手机呢?

    有没有大佬出来解答疑惑
    tomychen
        78
    tomychen  
       53 天前
    如果两端网不通,那就只能借第三方了
    dropbox
    https://file.io
    https://transfer.sh

    如果网通 python -m SimpleHTTServer

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

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

    22.04

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

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

    有什么推荐的工具吗,生成二维码
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3594 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 04:09 · PVG 12:09 · LAX 21:09 · JFK 00:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.