标签 P2P 下的文章

在过去 50 年中,我们所了解的互联网没有什么变化,全球的网民使用他们的设备从遍布在世界各地的服务器上检索数据。

一群专业的技术专家想改变现状,使互联网变成人们可以连接和直接分享信息的地方,而不是依赖一个中心服务器(去中心化)。

我们已经在 It’s FOSS 讨论过很多这样的去中心化的服务。YouTube 竞品:LBRYTwitter 竞品:Mastodon 是其中的两个例子。

今天我将要介绍另一个这样的产品,名为 Beaker 浏览器,它的设计目标是浏览对等 Web。

Beaker Browser

“对等 Web” 是什么?

根据 Beaker 浏览器的开发者之一的描述,“对等 Web 是一项实验性的技术 ……旨在提高我们掌控 Web 的能力。”

还有,他们说对等 Web 有三个主要原则:任何一点都可以成为服务器;多台计算机可以为同一个网站提供服务;没有后端。

从这些原则中你可以看出,对等 Web 的思想与 BitTorrent 很像,文件由多个对端做种,这些对端共同承担带宽负载。这减少了一个用户需要提供给他们的网站的总带宽。

Beaker Browser Settings

对等 Web 另一个重要的方面是创作者对于他们自己的想法的控制能力。当今年代,平台都是由庞大的组织控制的,往往拿你的数据为他们所用。Beaker 把数据的控制能力返还给了内容创造者。

使用 Beaker 浏览去中心化的 web

Beaker 浏览器 是在 2016 年被创建的。该项目(及其周边技术)由蓝链实验室的三人团队创建。Beaker 浏览器使用 Dat 协议在计算机之间共享数据。使用 Dat 协议的网站以 dat:// 而不是 http:// 开头。

Dat 协议的优势如下:

  • 快速 – 档案能立即从多个源同步。
  • 安全 – 所有的更新都是有签名和经过完整性检查的。
  • 灵活 – 可以在不修改档案 URL 的情况下迁移主机。
  • 版本控制 – 每次修改都被写到只能追加的版本日志中。
  • 去中心化 – 任何设备都可以作为承载档案的主机。

Beaker Browser Seeding

Beaker 浏览器本质上是阉割版的 Chromium,原生支持 dat:// 地址,也可以访问普通的 http:// 站点。

每次访问一个 dat 站点,在你请求时该站点的内容才会下载到你的计算机。例如,在一个站点上的 about 页面中有一张 Linux Torvalds 的图片,只有在你浏览到该站点的这个页面时,才会下载这张图片。

此外,当你浏览一个 dat 网站时,“你会短暂性的重新上传或做种你从该网站上下载的所有文件。”你也可以选择为网站(主动)做种来帮助创造者。

Beaker Browser Menu

由于 Beaker 的志向就是创建一个更开放的网络,因此你可以很容易地查看任何网站的源码。不像在大多数浏览器上你只能看到当前浏览的页面的源码那样,使用 Beaker 你能以类似 GitHub 的视图查看整个站点的结构。你甚至可以复刻这个站点,并托管你自己的版本。

除了浏览基于 dat 的网站外,你还可以创建自己的站点。在 Beaker 浏览器的菜单里,有创建新网站或空项目的选项。如果你选择了创建一个新网站,Beaker 会搭建一个小的演示站点,你可以使用浏览器里自带的编辑器来编辑。

然而,如果你像我一样更喜欢用 Markdown,你可以选择创建一个空项目。Beaker 会创建一个站点的结构,赋给它一个 dat:// 地址。你只需要创建一个 index.md 文件后就行了。这有个简短教程,你可以看到更多信息。你也可以用创建空项目的方式搭建一个 web 应用。

Beaker Browser Website Template

由于 Beaker 的角色是个 Web 服务器和站点做种者,当你关闭它或关机后你的站点就不可用了。幸运的是,你不必一直开着你的计算机或浏览器。你也可以使用名为 Hashbase 的做种服务或者你可以搭建一个 homebase 做种服务器。

虽然 Beaker 适用于 Linux、Windows 和 macOS,但是在使用 Beaker 之前,还是要查阅下各平台的教程

Beaker 浏览器不是大众可用的,但它有这个意图

当第一次接触到时,我对 Beaker 浏览器有极高的热情。(但是)如它现在的名字一样(烧杯),Beaker 浏览器仍是非常实验性的。我尝试浏览过的很多 dat 站点还不可用,因为用户并没有为站点做种。当站点恢复可用时 Beaker 确实可以选择通知你。

Beaker Browser No Peer

另一个问题是,Beaker 是真正阉割版的 Chromium。它不能安装扩展或主题。你只能使用白色主题和极少的工具集。我不会把 Beaker 浏览器作为常用浏览器,而且能访问 dat 网站并不是把它留在系统上的充分条件。

我曾经寻找一个能支持 dat:// 协议的 Firefox 扩展。我确实找到了这样一款扩展,但它需要安装一系列其他的软件。相比而言,安装 Beaker 比安装那些软件容易点。

就如它现在的名字一样,Beaker 不适合我。也许在将来更多的人使用 Beaker 或者其他浏览器支持 dat 协议。那时会很有趣。目前而言,聊胜于无。

在使用 Beaker 的时间里,我用内建的工具创建了一个网站。不要担心,我已经为它做种了。

Beaker Bowser Site Source

你怎么看 Beaker 浏览器?你怎么看对等 Web?请尽情在下面评论。

如果你觉得本文有意思,请花点时间把它分享到社交媒体,Hacker News 或 Reddit


via: https://itsfoss.com/beaker-browser/

作者:John Paul 选题:lujun9972 译者:lxbwolf 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

不久之前,我们编写了一个指南,内容是一个文件共享实用程序,名为 transfer.sh,它是一个免费的 Web 服务,允许你在 Internet 上轻松快速地共享文件,还有 PSiTransfer,一个简单的开源自托管文件共享解决方案。今天,我们将看到另一个名为 “iWant” 的文件共享实用程序。它是一个基于命令行的自由开源的去中心化点对点文件共享应用程序。

你可能想知道,它与其它文件共享应用程序有什么不同?以下是 iWant 的一些突出特点。

  • 它是一个命令行应用程序。这意味着你不需要消耗内存来加载 GUI 实用程序。你只需要一个终端。
  • 它是去中心化的。这意味着你的数据不会在任何中心位置存储。因此,不会因为中心点失败而失败。
  • iWant 允许中断下载,你可以在以后随时恢复。你不需要从头开始下载,它会从你停止的位置恢复下载。
  • 共享目录中文件所作的任何更改(如删除、添加、修改)都会立即反映在网络中。
  • 就像种子一样,iWant 从多个节点下载文件。如果任何节点离开群组或未能响应,它将继续从另一个节点下载。
  • 它是跨平台的,因此你可以在 GNU/Linux、MS Windows 或者 Mac OS X 中使用它。

安装 iWant

iWant 可以使用 PIP 包管理器轻松安装。确保你在 Linux 发行版中安装了 pip。如果尚未安装,参考以下指南。

如何使用 Pip 管理 Python 包

安装 pip 后,确保你有以下依赖项:

  • libffi-dev
  • libssl-dev

比如说,在 Ubuntu 上,你可以使用以下命令安装这些依赖项:

$ sudo apt-get install libffi-dev libssl-dev

安装完所有依赖项后,使用以下命令安装 iWant:

$ sudo pip install iwant

现在我们的系统中已经有了 iWant,让我们来看看如何使用它来通过网络传输文件。

用法

首先,使用以下命令启动 iWant 服务器:

(LCTT 译注:虽然这个软件是叫 iWant,但是其命令名为 iwanto,另外这个软件至少一年没有更新了。)

$ iwanto start

第一次启动时,iWant 会询问想要分享和下载文件夹的位置,所以需要输入两个文件夹的位置。然后,选择要使用的网卡。

示例输出:

Shared/Download folder details looks empty..
Note: Shared and Download folder cannot be the same
SHARED FOLDER(absolute path):/home/sk/myshare
DOWNLOAD FOLDER(absolute path):/home/sk/mydownloads
Network interface available
1. lo => 127.0.0.1
2. enp0s3 => 192.168.43.2
Enter index of the interface:2
now scanning /home/sk/myshare
[Adding] /home/sk/myshare 0.0
Updating Leader 56f6d5e8-654e-11e7-93c8-08002712f8c1
[Adding] /home/sk/myshare 0.0
connecting to 192.168.43.2:1235 for hashdump

如果你看到类似上面的输出,你可以立即开始使用 iWant 了。

同样,在网络中的所有系统上启动 iWant 服务,指定有效的分享和下载文件夹的位置,并选择合适的网卡。

iWant 服务将继续在当前终端窗口中运行,直到你按下 CTRL+C 退出为止。你需要打开一个新选项卡或新的终端窗口来使用 iWant。

iWant 的用法非常简单,它的命令很少,如下所示。

  • iwanto start – 启动 iWant 服务。
  • iwanto search <name> – 查找文件。
  • iwanto download <hash> – 下载一个文件。
  • iwanto share <path> – 更改共享文件夹的位置。
  • iwanto download to <destination> – 更改下载文件夹位置。
  • iwanto view config – 查看共享和下载文件夹。
  • iwanto –version – 显示 iWant 版本。
  • iwanto -h – 显示帮助信息。

让我向你展示一些例子。

查找文件

要查找一个文件,运行:

$ iwanto search <filename>

请注意,你无需指定确切的名称。

示例:

$ iwanto search command

上面的命令将搜索包含 “command” 字符串的所有文件。

我的 Ubuntu 系统会输出:

Filename Size Checksum
------------------------------------------- ------- --------------------------------
/home/sk/myshare/THE LINUX COMMAND LINE.pdf 3.85757 efded6cc6f34a3d107c67c2300459911

下载文件

你可以在你的网络上的任何系统下载文件。要下载文件,只需提供文件的哈希(校验和),如下所示。你可以使用 iwanto search 命令获取共享的哈希值。

$ iwanto download efded6cc6f34a3d107c67c2300459911

文件将保存在你的下载位置,在本文中是 /home/sk/mydownloads/ 位置。

Filename: /home/sk/mydownloads/THE LINUX COMMAND LINE.pdf
Size: 3.857569 MB

查看配置

要查看配置,例如共享和下载文件夹的位置,运行:

$ iwanto view config

示例输出:

Shared folder:/home/sk/myshare
Download folder:/home/sk/mydownloads

更改共享和下载文件夹的位置

你可以更改共享文件夹和下载文件夹。

$ iwanto share /home/sk/ostechnix

现在,共享位置已更改为 /home/sk/ostechnix

同样,你可以使用以下命令更改下载位置:

$ iwanto download to /home/sk/Downloads

要查看所做的更改,运行命令:

$ iwanto view config

停止 iWant

一旦你不想用 iWant 了,可以按下 CTRL+C 退出。

如果它不起作用,那可能是由于防火墙或你的路由器不支持多播。你可以在 ~/.iwant/.iwant.log 文件中查看所有日志。有关更多详细信息,参阅最后提供的项目的 GitHub 页面。

差不多就是全部了。希望这个工具有所帮助。下次我会带着另一个有趣的指南再次来到这里。

干杯!

资源

-iWant GitHub


via: https://www.ostechnix.com/iwant-decentralized-peer-peer-file-sharing-commandline-application/

作者:SK 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出