爱意满满的作品展示区。
machengim

局域网文件传输工具

  •  
  •   machengim · Dec 4, 2020 · 8264 views
    This topic created in 2166 days ago, the information mentioned may be changed or developed.

    各位好,我做了一个局域网文件 /文件夹传输工具,工作方式参考了 send-anywhere,发送端生成一个接收码,接收端输入接收码接收文件,不过只用于局域网,所以也不需要互联网支持。语言是 rust 。已经做了主流操作系统的 release 包。新手一枚,不知道这东西有没有用(除了我自己),也不知道做的怎么样,请大神批评指正。

    https://github.com/machengim/isend

    25 replies  •  2020-12-08 09:34:54 +08:00
    cctv1005s927
    cctv1005s927
    Dec 4, 2020
    1
    速度呢?有相关的指标吗
    b1u2g3
    b1u2g3
    Dec 4, 2020
    2
    开的是什么端口?
    machengim
    machengim
    OP
    Dec 4, 2020❤️1
    3
    @cctv1005s927 感谢指教,刚才测试了一下,发现了一个问题:同样文件发送端和接收端互换的话速度差距很大,反复测试多次,很稳定。很奇怪。

    Mac -> Linux: 12MB/s
    Linux -> Mac: 3MB/s
    Linux -> Windows: 4MB/s
    Windows -> Linux: 12MB/s
    f6x
    f6x
    Dec 4, 2020
    4
    局域网文件传输工具 ~= 病毒传播工具
    machengim
    machengim
    OP
    Dec 4, 2020
    5
    @b1u2g3 先打开一个 UDP 端口用来监听和发送广播,建立 TCP 连接后关闭;另一个 TCP 连接传送文件。端口号目前是系统分配的。
    JustSong
    JustSong
    Dec 4, 2020 via Android
    6
    我个人感觉写成 HTTP 服务的形式可能更好用一些,Go 版本,供参考: https://github.com/songquanpeng/lan-share-go
    yingfengi
    yingfengi
    Dec 4, 2020 via Android
    7
    呃。。。smb 之类的不香吗
    loli
    loli
    Dec 4, 2020 via Android
    8
    @yingfengi
    我也奇了怪,好像从没人推荐过 smb.
    这个倒还好,起码是多平台支持.
    好多要在 windows 上实现这功能的人非要推荐什么 ftp,webdav 。什么小巧,一行代码。自带的不香吗?权限控制,操作便捷,目录管理。速度真没想得那么慢。
    machengim
    machengim
    OP
    Dec 4, 2020
    9
    @loli 我也试过 smb,不过感觉在 linux 下配置有点费劲,每次都要查攻略,后来反而是 dropbox 用的多。这个小工具我现在就是用做 dropbox 的补充的,体积大或者不必保存到 dropbox 里的文件。
    AoTmmy
    AoTmmy
    Dec 4, 2020 via Android
    10
    推荐 chfs,非常方便
    niubee1
    niubee1
    Dec 4, 2020
    11
    python -m http.server
    machengim
    machengim
    OP
    Dec 4, 2020
    12
    @AoTmmy 给个链接看看?
    machengim
    machengim
    OP
    Dec 4, 2020
    13
    @niubee1 也用过,不过感觉命令行更快一点。还有就是也在考虑一些后续功能比如传输完成自动关机之类的。
    imn1
    imn1
    Dec 4, 2020
    14
    这个速度很低啊,我自己用 ftp 可以上 100MB/s,某些情况还要限速呢 —— 某些情况达到 80+MB/s 时,win 这边写会卡,所以 win 这边要限 50MB/s 进入
    我也发现系统之间速度不同,linux 和 win 之间,就算不限速,ftp 传同一个大文件双向速度不同,搞不清原因

    题外
    ftp 不方便的地方是权限,不能传随意文件,也只能传到预设的 ftp 目录,还需要一些挪动操作
    当然,权限是合理的管理规则,我只是纯个人设备间传文件,觉得如果有无需权限管理的工具更方便些
    vigack
    vigack
    Dec 4, 2020
    15
    速度一般啊,为啥不用 bit sync
    machengim
    machengim
    OP
    Dec 4, 2020
    16
    @imn1 速度可能跟路由器有关?我刚试了往虚拟机里传文件,速度也在 100MB/s 左右。主机是 Linux,客机是 windows 。但是两个方向的速度差异我确实不理解。
    AoTmmy
    AoTmmy
    Dec 4, 2020 via Android
    17
    machengim
    machengim
    OP
    Dec 4, 2020
    18
    @AoTmmy 好的,谢谢
    ZiLong
    ZiLong
    Dec 4, 2020
    19
    没有一步到位的,我觉得可以慢慢优化,对于速度,可以用 wireshark 抓包看看
    machengim
    machengim
    OP
    Dec 4, 2020
    20
    @ZiLong 我发现速度慢不是程序造成的。我用 npm 和 python 的 http server 还有 iperf3 都做了速度测试,得到了一样的结果:从 mac 连接 linux 是 12MB~15MB/s,从 linux 连 mac 是 2 ~ 3MB/s 。非常诡异。
    kingfalse
    kingfalse
    Dec 4, 2020 via Android
    21
    Windows 的话,everything,就可以起个 HTTP 服务给别人下载了
    bequt
    bequt
    Dec 5, 2020
    22
    @machengim 站内 webd 也不错
    fox0001
    fox0001
    Dec 5, 2020 via Android
    23
    Linux 的话,我比较懒,一般用 sftp,或者直接 scp
    shunconf
    shunconf
    Dec 8, 2020
    24
    windos 没图形化是没有用灵魂的
    machengim
    machengim
    OP
    Dec 8, 2020
    25
    @shunconf 也考虑过,不过目前 rust 没有什么成熟的 gui 框架。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   970 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 22:21 · PVG 06:21 · LAX 14:21 · JFK 17:21
    ♥ Do have faith in what you're doing.