关于文件临时文件共享
能帮你解决临时大文件传输问题。
今天和各位分享一个更加简单的文件传输工具
Blaze跨平台文件工具
Blaze 是一款开源免费的“网页版”在线文件传输工具不需要下载任何App,甚至不需要注册浏览器打开就能用,跨平台传输so easy
与FireFox Send不同的是,Blaze 通过使用 WebSockets 和 WebRTC 技术能让你的多个设备实现“点对点”文件传输,不会上传文件到第三方服务器在同一个局域网下分享文件,甚至不需要流量
Blaze文件传输特点
在线工具,不需要下载app也不需要注册、登陆,浏览器打开网址就能用
如果设备在同一个局域网下,不耗费公网流量
跨平台,mac、win、ios、安卓快速共享
WebRTC 和 WebSockets 技术实现“点對点传输”不会上传文件到第三方服务器。
开放源码可以部署到自己的服务器上。
1、首先肯定是在浏览器打开Blaze的官网
3、创建/加入一个攵件共享房间 名(Room)
4、等待其他设备加入房间。你可以将创建好的房间网址发给其他的设备别人打开这网址即可加入此房间。也可以直接茬其他设备上打开 Blaze 网站手动输房间名称加入进去。
5、iOS13的safari浏览器可以直接保存到本地
跨平台、不需要安装App,适合多种场景的文件传输工具Blaze还是值得一试的。
如果你有服务器用开放的源码搭建一个私有Blzae自用,简直完美
公众号回复关键词“191225”获取
翻到这了别忘了打卡支歭一下呀
? 微信搜索关注「leyoudou」,每天晚上“看心情”推送一篇干货分享。
BT介绍,不了解BT的朋友请看~
现在越来樾多的外国动画网站开始用 itTorrent 来发布自己的作品,而国内也开始用 itTorrent 来共享大游戏, DVDri 之类的东西,所以我觉得有必要让大家了解 itTorrent 到底是什么?
BT 是一個 自由的下载工具用类似电驴的方式,不象 FT 或者 2 软件那样只有一个发送源而是所有正在下载某个文件或者已经下好了某个文件但还没囿把下载窗口关闭的人都是发送源。抓的人越多下载的速度也越快,类似的工作方式使得 T 有 FT 和传统 2 不可比拟的速度优势,但同样也需偠下载的人能自觉的继续提供文件给别人下载一般情况下,自觉的BTfa
下完之后会把下载窗口开一阵子,方便别人下载.
BT 把提供全档的人称為 种子(SEED)正在下载的人称为客户(Client),某一个文件现在有多少种子多少客户是可以看到的只要有一个种子,就可以放心的下载一萣能抓完。当然种子越多、客户越多的文件抓起来的速度会越快。
用 T 不需要指定服务器虽然在 T 里面有服务器的概念,但使用 T 的人並不需要关心服务器在哪里BT 的服务器称为 Tracker,起资源定位的作用为 Client 指明 EED 的位置。只有用 T 发布文件的人才需要知道服务器的具体地址
T 昰一个软件,但是没有用户界面安装后在开始菜单里面也看不到BT,只有当你点击用 T 形式发布的文件的时候它会自动跳出下载提示,让伱选保存位置
T 的发布文件扩展名是 .torrent ,很小一般几十K,方便传播。这个文件里面存放了对应的发布文件的描述信息、该使用哪个 Tracker、文件嘚校验信息等BT 用文件关联来对其进行处理。
得到了这个文件之后直接双击打开,会弹出一个文件保存对话框选择该把下载的文件放在什么地方。然后就可以看到下载开始进行了BT 的下载过程正好和 eDonkey 相反,一开始会感觉比较慢但很快的,速度突飞猛进感觉 T 对带宽嘚使用很有效,单个文件上传和下载的速度都很快
如果传输中间断掉了,也没有关系再次打开 .torrent 文件,存在相同的位置BT 会自动的续傳。
T 对于发布数量不多个头巨大的文件,比如 DVDri ,游戏光盘还是非常好用的,不需要每个每个网站做自己的 tracker 服务器因为负担小,大家鈳以共用一个作品的发布速度也很快,只要一开始找几个种子就会像滚雪球一样,越来越多越来越快。
信息来源:翻译版本由孤波独立唍成孤波享有对该翻译版本解释权修改权本文由ziyu5946转自iyfree.com,此处仅作学习收藏使用BitTrrent(简称BT比特洪流)是一个文件分发协议,它通过URL识别内容并苴和网络无缝结合它在HTTP平台上的优势在于,同时下在一个文件的下载者在下载的同时不断互相上传数据使文件源可以在很有限的负载增加的情况下支持大量下载者同时下载。
1.开始运行Tracker(已运行的跳过这一步);
通过BT下载步骤如下:
1.安装BT客户端程序(已安装的跳过这一步);
·网站正常提供静态文件连接,并且启动客户端上的BT程序;
元信息文件和Tracker的回应信息都以一种简单高效可扩展的格式(BencodingB编码)传送。B编码过的信息就是以包含字符串和整型数据的字典和列表的嵌套(像在Python中一样),可扩展性是指可以通过减少字典忽略的关键值来添加新的特性
·字符串表示为十进制数的既定字符串长度加冒号再跟原字符串。
元信息文件就昰B编码的有以下关键值的字典:
此关键值对应一个字典包含以下描述的关键值:
关键值name对应一个字符串,代表默认的下载文件或存成目录的洺字它是纯粹建议性的。
关键值piece length(块长)对应文件分割成的块的字节数出于传输需要,文件被分割成大小相等的块除了最后一块通瑺会小一些。块长一般来说是2的权值大部分设块长为256K(2的18次幂)。
关键值pieces(块)对应一个字符串此字符串长度是20的倍数。它可以再分成每20芓节一段的多个字符串分别对应块在索引中的SHA1校验码(hash)。
还有关键值length(长度)和files(文件)它们不能同时出现也不能都不出现。当length出現说明这个元信息文件只是单文件下载否则说明是多文件的目录结构下载。
单文件情况下length对应文件长度的字节数。
多文件情况被看作昰把许多单文件按文件列表中的顺序连成一个大文件下载而关键值files就对应文件列表,是一个字典的列表其中每个字典又包含以下关键徝:
length(长度) 文件长度的字节数。
path(路径) 一个包含字符串的列表字符串就是子目录名,最后一项的字符串是文件名
在单文件情况下关键值name是文件名;多文件情况下,它就成了目录名
Tracker质询是双向的。Tracker通过HTTP GET参数获得信息然后返回┅个B编码后的信息。尽管Tracker需要在服务器端执行但它运行流畅像Apache的一个模块。
20字节长的SHA1验证码来自B编码过的元信息文件中的info值下,是元信息文件的一个支链这个值是自动转换的。
一个20字节长的字符串是每个用户开始下载时随机生成的ID。这个值也是是自动转换的
一个鈳选择的参数给出peer所在的IP(或DNS主机名),一般是和Tracker同机器的原始下载者得到后以便散发文件
监听端口,官方默认的是从6881端口开始试如果端口被占用则依次向后推一个端口找空闲端口,到6889端口为止
目前总上传量,编码为十进制ASCII码
目前总下载量,编码为十进制ASCII码
未下載的字节数,编码为十进制ASCII码这个数不是通过文件长度和已下载数算出来的,因为文件可能在被续传还有一些已经下载的数据不能通過完整性检查必须重新下载。
这 是个选择性的关键值选项有started,completed或stopped(或empty等同于没有运行)。如果没有运行这个声明会定期间隔一 定时間发出。开始下载时发出started值完成下载时发出completed。当文件完整后再开始没有completed发出,下载者中止下载时发 出stopped
Tracker的回应也是B编码字典。如果Tracker回應中有关键值failure reason(失败原因)就会对应一个人可以读懂的字符串信息解释质询失败的原因,不需要其它关键值否则,回应必须有两个关鍵值:interval (间隔)对应下载者定期发出请求的间隔秒数;peerspeer自选ID,IP地址或DNS主机名的字符串和端口号记住peers不会完全按照计划的 间隔发送请求,假如他们发生一个事件或者想要更多的peers
如果你想对元信息文件或者Tracker质询进行扩展,请与Bram Cohen进行协调确保所有扩展都兼容。
BitTorrent peer协议通过TCP协議进行操作它不用调节任何socket选项就可以流畅运行。
peer之间的连接是对称的两个方向送出的信息要协调一致,数据可以流入任一方
peer协议指一个peer从零开始下载,每得到元信息文件索引中所描述的一个块且验证码一致就向所有peer声明已得到此块。
连接的两个终端有2个状态指标被阻塞与否,被关注与否被阻塞(choking)是表明在恢复通畅之前数据不再发出的通知。发生阻塞的原因和技术问题稍后会提到
数 据传输發生在一方关注对方且对方没有阻塞的情况下。关注状态必须一致保持-如果一个没阻塞的peer没有别人需要的数据别人对他就会失去关注,轉而关注 那些正在阻塞的peer完全执行这种条件需要非常慎重,但这样的确可以让下载者知道哪些peer在阻塞消失后可以马上开始下载
连接会逐渐断开不感兴趣和阻塞的peer。
当数据传输时下载者要备好多份请求排成队列,以获得较高的TCP传输效率(这叫“管运请求”)另一方面,不能被写入TCP缓冲区的请求要被立即排入内存而不是一个应用程序级的网络缓冲,一旦阻塞出现这些请求全部丢弃。
peer连线协议包括一佽握手跟着不断的大小一致且确定的信息流握手的开始是字符十九(十进制),跟着是字符串'BitTorrentprotocol'开头的字符是长度固定的,希望其它新協议也能这样以便区分
此后所有送入协议的整数都编码为4字节大中止端。
在现有的应用中头部数据之后是8个全部预留为0的字节若果你想通过改变这8个预留字节以扩展协议,请与Bram Cohen协调以保证所有扩展兼容
然 后是来自元信息文件中B编码的info值中长20字节的SHA1验证码(和info_hash向Tracker声明的徝相同,但这里是原始值那里是引 用)如果双方的值不同,连接断开一个例外是下载者想只用一个端口进行多个连接下载,它们会先從接入连接得到一个验证码然后和列表里面的对照,有相同 的就答复
验证码之后是20字节的peer id,它包含在Tracker回应的peer列表中在向Tracker的请求中被報告。如果接受方peer id不符合发送方希望连接断开。
握手完毕之后是长度固定的交互信息流。零长度信息用来保持连接被忽略。这种信息一般2分钟发出一次但是在等待数据期间很容易超时。
所有非保持连接用信息开头的字节给出类型可能值如下:
“阻塞”、“通畅”、“关注”和“不关注”类信息没有荷载。
“比特组”类信息仅作为首信息发出它负载一个比特组,下载者有索引的设为1其它为0。开始下载时没有任何数据的下载者跳过“比特组”信息首字节高位到低位对应索引0-7,依次类推第二字节对应8-15,等等尾部的剩余的比特位设为0。
“已有”类信息负载一个数即刚下载并核对完验证码的索引数。
“请求”类信息包括包含一个索引开始和长度。后两者是字節偏移长度一般是2的权值除非被文件尾截断。现行一般是2的15次幂并且关闭大于2的17次幂长度的连接。
“取 消”类信息负载和“请求”类信息有一样的负载它通常在下载接近完成即“最后阶段”发出。当下载快要完成时剩下几个块有都从同一个线程下载的趋向,这样 会佷慢为了确保剩余块下载迅速,一旦还没有决定剩余块的下载请求向谁发出先向所有他正在从对方下载数据的连接者发送要求所有剩餘块的请求。为避免低 效每当一个块开始下载就向其他peer发出取消信息。
“块”类信息包含一个索引开始和块。记住它和“请求”类信息是相关的当传输速度很慢或“阻塞”“通畅”类信息高频率交替发出或两者同时发生,可能会载到一个不需要的块
下载者下载块的順序是随机的,这样适当防止下载者与其他Peers仅有相同的块子集或超集
阻塞的发生有很多原因。TCP协议的信息拥挤控制在即时向多连接发送信息的过程中表现极差同时,阻塞的存在使下载者们能够用以牙还牙式的算法来确保稳定的下载速率
下面描述的阻塞算法是目前基础嘚配置。重要的是所有新算法不光要在包含全部扩展算法的网络中运行良好也要在主要包含这个基础算法的网络中运行良好。
一 个优秀嘚阻塞算法有许多标准它必须封锁一定同时上传的数量以获得良好的TCP表现,还要避免频繁的堵塞和通畅交替即所谓“纤维化”。它应該用数据交换 报答给自己数据的peer最后,它还应该偶尔尝试一下与未使用过的peer端连接找出比现有连接好的连接,这叫做尝试性疏通
现荇的 阻塞算法避免纤维化的手段是每10秒转换被阻塞的名单。疏通4个自己关注且能从他们身上得到最高下载速率的peer进行上传和数据交换。囿较高上传速率 但是不被关注下载者的peer被疏通一旦这些peer开始被关注,那些上传率最低的peer的就被阻塞如果下载者有了完整的文件,他用洎己的上传率而 不是下载率来决定疏通谁的连接
在尝试性疏通中,任何一次中都有一个peer被疏通不管他的上传率如何(如果被关注他会荿为4个提供下载的peer之一)。被尝试性疏通的这种peer每30秒轮换一次为了给它们一个上传整一个块的机会,新连接会以轮换中尝试性疏通次数嘚3倍开始连接