非同寻常——连接到您的云和分布式存储的音乐播放器Diffuse​

2020年海外互联网巨头正不断在加密及产业配套方向下沉,为双方打破用户生态壁垒做出努力;而国内巨头则联合产业侧进行更多场景开发,降低中小企业加入门槛。一个好的应用模型,用户增长速度会非常迅速,会为用户提供更方便快捷的服务。Diffuse作为连接到用户的云存储和分布式存储的播放器,足以体现这一特点。
什么是Diffuse

Diffuse是一个静态Web应用程序,这意味着它只是HTML,CSS和Javascript。不涉及REST API,数据库或任何与后端相关的内容。该应用程序使用哈希值,基于片段的路由系统,因此您不需要任何特殊的服务器规则即可进行路由。

什么使Diffuse与众不同

Diffuse是一种分散的音乐播放器,由两个主要部分组成。一部分是音乐,另一部分是您的数据(例如,播放列表),两者都在您选择的位置。这意味着没有用于Diffuse的中央服务器,所有处理都在设备上进行,所有数据都在您的控制范围内。您可以使用Web版本或本机版本,也可以通过从Github下载预构建的软件包来自己托管它。

非同寻常——连接到您的云和分布式存储的音乐播放器Diffuse​

1、音乐层

该层连接到存储音乐的服务,没有数据写入这些服务。您可以结合以下所有内容:

Amazon S3

Azure Blob Storage

Azure File Storage

Dropbox

Google Drive

IPFS (supports DNSLink & IPNS)

WebDAV

2、用户层

该层将使用单个服务来存储您的数据。您的数据是您的设置,收藏夹,播放列表等。您可以在以下服务中进行选择:

Blockstack

Dropbox

IndexedDB (Browser)

IPFS (using MFS)

RemoteStorage

Textile

diffuse是如何工作的

diffuse查找给定服务上的所有音乐文件,提取元数据,然后通过先前解释的用户层进行存储。

首先请启动软件,diffuse.sh,而无需安装任何程序。现阶段用户可通过Blockstack,Remote Storage进行身份验证,或者通过浏览器匿名使用该产品。使用正确的身份验证方法可以使用户保存音乐元数据,用户收藏夹和设置等内容,而如果清除浏览器,则“匿名”登录可能会导致数据丢失。用户通过身份验证后,便可以添加新内容或访问以前添加的内容。

面向前端的用户托管在Netlify上。在去中心化范围之外,通过下载html并模仿Netlify(检查此IPFS + ENS网站托管教程),当然可以对前端进行自我托管。

1、支持的文件格式

MP3

MP4/M4A

FLAC

OGG

WAV

WEBM

2、 CORS

您只需要做一件事即可使您选择的服务与该应用程序一起使用,从而设置了CORS(跨源资源共享)。以下是每种服务所需的说明:

3、亚马逊

您可以在S3 AWS控制台的“权限”选项卡下找到CORS配置编辑器。

<?xml version=”1.0″ encoding=”UTF-8″?>

<CORSConfigurationxmlns=”http://s3.amazonaws.com/doc/2006-03-01/”>

<CORSRule>

<AllowedOrigin>*</AllowedOrigin><AllowedMethod>GET</AllowedMethod><AllowedMethod>HEAD</AllowedMethod>

<MaxAgeSeconds>31536000</MaxAgeSeconds>

<ExposeHeader>Content-Length</ExposeHeader>

<ExposeHeader>Content-Type</ExposeHeader>    <AllowedHeader>Range</AllowedHeader>

</CORSRule>

</CORSConfiguration>

4、BTFS

将带有协议的应用程序域添加到允许的来源列表中。

btfs config –json API.HTTPHeaders.Access-Control-Allow-Origin ‘[“https://diffuse.sh”, “http://diffuse.sh.ipns.localhost:8080”, “http://127.0.0.1:44999”]’

您也可以在Web UI中进行此更改,可以在“设置→BTFS Config”下找到它。

{

“API”: {

“HTTPHeaders”: {

“Access-Control-Allow-Origin”: [

“https://diffuse.sh”,                       // 🎵 Default

“http://diffuse.sh.ipns.localhost:8080”,    // IPNS

“http://127.0.0.1:44999”                    // Electron app

]

}

}

}

5、IPFS

将带有协议的应用程序域添加到允许的来源列表中。

ipfs config –json API.HTTPHeaders.Access-Control-Allow-Origin ‘[“https://diffuse.sh”, “http://diffuse.sh.ipns.localhost:8080”, “http://127.0.0.1:44999”]’

您也可以在Web UI中进行此更改,可以在“设置→IPFS Config”下找到它。

{

“API”: {

“HTTPHeaders”: {

“Access-Control-Allow-Origin”: [

“https://diffuse.sh”,                       // 🎵 Default

“http://diffuse.sh.ipns.localhost:8080”,    // IPNS through IPFS Companion

“http://127.0.0.1:44999”                    // Electron app

]

}

}

}

6、Microsoft Azure存储

您可以在“设置-> CORS”下找到CORS配置。

然后在输入框中填写以下内容(从左到右):

ALLOWED ORIGINS       *

ALLOWED METHODS       GET, HEAD

ALLOWED HEADERS       Range

EXPOSED HEADERS       Content-Length, Content-Range

MAX AGE               0

7、Textile

将带有协议的应用程序域添加到配置中允许的来源列表中。

{

“API”: {

“HTTPHeaders”: {

“Access-Control-Allow-Origin”: [

“https://diffuse.sh”,

“http://127.0.0.1:8080”,

“http://127.0.0.1:44999”

]

}

}

}

8、WebDAV

取决于您的WebDAV服务器。

Henrique Dias的WebDAV服务器的示例设置:

cors:

enabled: true

credentials: true

allowed_headers:

– Authorization

– Content-Type

– Depth

– Range

allowed_methods:

– GET

– HEAD

– PROPFIND

allowed_hosts:

– https://diffuse.sh

– http://127.0.0.1:44999

exposed_headers:

– Content-Length

– Content-Type

【星际假设】

如果星际视界想使用Diffuse该怎样办?星际视界作为用户会在Diffuse上进行身份验证并请求添加文件后,将登录到星际视界的Google帐户,并要求允许对Diffuse应用程序的权限。该权限是一个包含每个音频文件路径的列表。Diffuse以每个URL请求的1000个文件的块的形式工作,然后通过JSmediatags库从每个文件获取音乐标签/元数据。然后将从这些文件中解析出的元数据缓存在用户的存储提供程序中:在V1中,这仅限于Blockstack或RemoteStorage。这样,当星际视界登录并且先前加载的音乐中的任何元数据已经存在时。

【星际总结】

如果用一句话来总结Diffuse,用户可以通过Diffuse链接到自己的云和分布式存储的音乐播放器。从任何地方甚至本地内容访问他们拥有的音乐文件,一旦自动识别到我所存的音乐并缓存了元数据,用户的我们就可以恣意的欣赏任何应用文件。

源自:星际视界

原创文章,作者:ipfs搬运工,如若转载,请注明出处:https://www.ipfsnews.cn/17948.html

发表评论

登录后才能评论