内部文件共享一直是困扰很多人的问题,特别是在需要快速传输一些特殊软件或文件时。今天为大家介绍一个基于WebRTC的局域网P2P传输工具 – Internal Chat,无需安装客户端,直接通过浏览器就能实现快速文件传输。
准备工作
我这里是通过Docker 进行安装,在开始部署这个项目之前,请确保你已经具备以下条件:
- 服务器环境:一台运行 Linux 操作系统的服务器(例如 Ubuntu),具有公网 IP 地址。
- Docker 和 Docker Compose:用于容器化应用程序及其依赖项。如果你还没有安装,请参考官方文档:Docker 文档,Docker 编写 |Docker 文档进行设置。
- 域名和 SSL 证书:购买一个域名,并通过 Let’s Encrypt 等服务获取免费的 SSL 证书,以保证访问安全。
- GitHub 账号:用于克隆代码库并反馈问题。
第一步:克隆代码库
首先,在服务器上打开终端窗口,执行以下命令来克隆 internal-chat 仓库到本地:
git clone https://github.com/sunzsh/internal-chat.git
cd internal-chat这将会下载所有必要的文件和资源到当前目录下。
第二步:配置环境变量
进入项目的根目录后,需要创建一个 .env 文件,用来定义应用程序所需的环境变量。我们可以复制提供的示例文件作为起点:
cp .env.example .env编辑 .env 文件以适应当前的环境需求,特别是数据库连接字符串,端口设置以及任何其他与您基础设施相关的参数。确保正确设置了 SECRET_KEY_BASE,这是用于加密会话和其他敏感信息的重要密钥。
第三步:启动 Docker 容器
internal-chat 应用程序是通过 Docker Compose 来管理多个服务之间的关系的。这意味着我们可以轻松地启动整个栈而无需单独配置每个组件。只需在一个命令中就可以完成这项任务:
docker-compose up -d此命令将以守护进程模式启动所有必需的服务,并将它们放在后台运行。如果一切顺利,现在应该能够在浏览器中访问自己传输工具了,我自己测试了以下还是挺快的,发送文字秒送达,大文件件传输速度也不差,慢慢会上去。

第四步:配置反向代理 (可选)
为了让外部用户能够通过互联网访问自己的传输工具,我的建议是设置 Nginx 或 Caddy 作为反向代理。这样不仅可以提供更好的性能,还可以简化 SSL/TLS 的配置。假设你选择了 Nginx,可以按照以下步骤操作:
- 安装 Nginx:
sudo apt-get install nginx- 创建一个新的站点配置文件
/etc/nginx/sites-available/chat,内容如下:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}- 启用站点并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/chat /etc/nginx/sites-enabled/
sudo systemctl restart nginx- 如果希望启用 HTTPS,可以通过 Certbot 获取 SSL 证书,并根据需要调整 Nginx 配置。
第五步:管理和维护
一旦部署完成,定期检查日志文件可以帮助我们及时发现潜在的问题。大多数日志都会被记录到 Docker 容器的日志系统中,因此可以使用以下命令进行查看:
docker-compose logs -f随着项目的更新,小伙伴们不要忘记定期拉取最新的代码版本并重新构建镜像:
git pull origin main
docker-compose down
docker-compose build --no-cache
docker-compose up -d总结
Internal Chat为局域网文件传输提供了一个简单高效的解决方案。通过以上步骤,你可以快速搭建一个属于自己的文件传输服务,特别适合在新装系统后快速传输一些特殊软件或文件的场景。
