欢迎来到万事屋~

局域网传输工具

发表于:2025-01-07 23:50:39

看到程序员小山与Bug开源了一款 局域网文字/文件P2P传输工具 我在原基础上改造了一下,以下是功能简介:

项目中仅在线用户列表和WebRTC信令迫不得已需要一个轻量化的服务,其他数据传输都采用了基于WebRTC的点对点传输,不经过中间服务器,所以局域网内互传一些文字/文件都比较快。

场景:

例如一台手机要给另一台手机传输链接或文件,没有微信等软件/电脑同理...这是我的使用场景,原作者是,

比如新装的win系统需要从mac系统传一些需要🪜才能下载的软件或者搜到的一些东西。

界面:

可以在一个局域网中进行传输文字或者文件,不会经过服务器!保证了数据的安全和私密性。

可以发送文件,选择用户进行发送:

可以群组聊天,每个用户的 id 都是随机生成的一串数字。

如果有用户无法接收消息和发送消息就会显示为红色断联图标,再此状态下该用户无法进行文字传输和文件传输。

什么条件会这样?

在共享网络环境下,例如共享 WiFi,基站网络等环境下无法正常使用。

有发送进度条显示:

优点

无需安装任何软件,打开浏览器,无需登录直接传输。

缺点

接收大文件比较吃内存(单文件几百兆一般没问题)

场景:

比如新装的win系统需要从mac系统传一些需要🪜才能下载的软件或者搜到的一些东西

以下是开源原地址,可以去下载和使用:

Github:https://github.com/sunzsh/internal-chat

我优化过的版本可以在左侧的工具箱中找到。

或者直接点击:https://transmit.rjjr.cn/

部署教程:我是直接将www 目录直接上传到服务器,大家也可以这样做,以下是作者的原话教程:

源码方式

  1. 安装nodejs,node版本没有测试,我用的是 16.20.2
  2. 下载源码(服务端仅需要server目录)
  3. 进入 server 目录,运行 npm install
  4. 运行 npm run start [port] ,例如 npm run start 8081

二进制方式

  • 下载对应平台的可执行文件,直接执行即可(服务端)
  • 默认监听 8081 端口,可通过参数指定端口,例如 ./internal-chat-linux 8082
  • 如果你用windows,可参考 https://v.douyin.com/CeiJahpLD/ 注册成服务

服务端nginx反向代理配置参考(可选)

服务端用反向代理的好处:可以直接用certbot申请https证书,然后直接用wss协议。 如果采用下方的配置反向代理,注意在客户端配置wsUrl变量的时候,需要加 /ws,否则不用
  location /ws {
    proxy_pass http://localhost:8081;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

网页部署:

  1. 下载源码并修改www/index.js第一行代码wsUrl变量(如果服务端配置了反向代理,这里路径最后要加/ws,否则不用)
  2. 直接将www用nginx部署成一个静态网站即可,具体配置参考 nginxvhost.conf。如果你没有域名,将 server_name 写成 _ 即可(属于nginx基础知识)
  3. 访问 http://your.domain.com/ 即可

发表评论

已输入 0/180 个字

最新评论


avatar

鸢栀

到青岛啦

发表于:2025-01-17 17:39:32

来自:中国 - 山东 - 青岛