[开源]Web端的P2P文件传输工具,简单安全高效的P2P文件传输服务

一、开源项目简介

小鹿快传 - 在线P2P文件传输工具

小鹿快传是一款Web端的P2P文件传输工具,使用了WebRTC技术实现P2P连接和文件传输。

二、开源协议

使用MIT开源协议

三、界面展示

产品截图

![图片](https://img-
blog.csdnimg.cn/img_convert/3c078ba485d659db51f7be66925af9c8.png)

![图片](https://img-
blog.csdnimg.cn/img_convert/8fc05cdcf6ac1716a37efca5cb86dbe2.png)

![图片](https://img-
blog.csdnimg.cn/img_convert/2601037d06d4a7ca77349df34bf38d66.png)

![图片](https://img-
blog.csdnimg.cn/img_convert/ab1d163717ab9238deb71913ab8e2788.png)

四、功能概述

简单安全高效的P2P文件传输服务

小鹿快传是一款Web端的P2P文件传输工具,使用了WebRTC技术实现P2P连接和文件传输。

简单

无需登录只需要选择好想要发送的文件,然后将生成的下载链接发送给对方即可开始传送。

安全

小鹿快传使用P2P技术,文件数据不走服务器,直接发送给对方,且数据自带加密,免去隐私被泄漏的风险。

高效

由于使用P2P技术,文件传输速度不会受到服务器性能的影响,完全取决于你和对方的网速。

专业

不限制文件类型,任何文件都可随心传输。所有文件都是原文件传输,传视频图片不损失画质。

来源:小鹿快传官网

五、技术选型

小鹿快传,一款在线P2P文件传输工具,使用WebSocket + WebRTC技术。

快速开始

1、获取源码

2、安装依赖

cd server && yarn && cd ..
cd client && yarn && cd ..

3、运行服务端和客户端开发服务器

cd server;
npm start
# in another terminal window
cd client;
npm start

4、打开浏览器

https://localhost:3000

WebSocket

是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC
6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。

WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket
API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

WebRTC (Web Real-Time Communications)

是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-
Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC
包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。

六、源码地址

https://github.com/fanchangyong/deershare?url=eflyos.zip

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2023密码学/隐身术/PWN技术手册大全

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

扫码领取

  • 15
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用WebRTC技术来实在网页中嵌入P2PWebRTC(Web实时通信)是一种支持浏览器之间实时音视频通信的开源项目。 首先,你需要使用HTML和JavaScript创建一个网页,于承载视频和实现2P通信。然后,你可以使用WebRTC API来处理视频流的传输和呈现。 以下是一些实现P2P视频嵌入网页的步骤: 1. 创建一个HTML网页,并在页面中添加一个video元素,用于显示视频。 ```html <video id="videoElement" autoplay></video> ``` 2. 使用JavaScript代码获取用户的摄像头和麦克风权限,并将其添加到视频元素中。 ```javascript navigator.mediaDevices.getUserMedia({ video: true, audio: true }) .then(function(stream) { var videoElement = document.getElementById('videoElement'); videoElement.srcObject = stream; }) .catch(function(error) { console.error('Error accessing media devices.', error); }); ``` 3. 使用WebRTC API创建一个RTCPeerConnection对象,用于建立P2P连接并传输视频流。 ```javascript var peerConnection = new RTCPeerConnection(); // 添加本地流到RTCPeerConnection中 peerConnection.addStream(stream); // 监听远程流的到达事件 peerConnection.onaddstream = function(event) { var videoElement = document.getElementById('videoElement'); videoElement.srcObject = event.stream; }; // 创建一个offer信令 peerConnection.createOffer(function(offer) { // 设置本地描述 peerConnection.setLocalDescription(offer); // 发送offer信令给对方 // ... }, function(error) { console.error('Error creating offer.', error); }); ``` 4. 在另一个浏览器窗口或设备上,使用相同的代码创建一个RTCPeerConnection对象,并通过信令服务器交换offer和answer信令,建立P2P连接。 这只是一个简单的示例,实际上还需要处理信令交换、ICE候选者收集和STUN/TURN服务器等内容。你可以使用一些开源WebRTC库,如SimpleWebRTC、PeerJS或EasyRTC,来简化开发过程。 记住,P2P视频通话可能面临防火墙和NAT穿越等网络难题,因此你可能需要使用STUN/TURN服务器来帮助建立连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值