V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
chenjia404
V2EX  ›  分享创造

Alist 挂载 ipfs 驱动白嫖 ipfs 无限存储和流量

  •  
  •   chenjia404 ·
    chenjia404 · 79 天前 · 1561 次点击
    这是一个创建于 79 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Alist 有一个名叫 IPFS API 的存储驱动,可以使用 ipfs 做存储。

    安装 ipfs

    ipfs-desktop

    链接: https://docs.ipfs.tech/install/ipfs-desktop/

    根据自己的操作系统选择下载的版本,一路安装后启动。

    在打开的 webui 界面里面,进入文件,选择导入->新建文件夹 输入 alist ,这个 alist 你可以自定义名字。

    docker-compose

    docker-compose.yam

    version: '3.8'
    services:
      ipfs:
        image: ipfs/kubo
        restart: unless-stopped
        volumes:
          - ./ipfs:/data/ipfs
        environment:
          - IPFS_PATH=/data/ipfs
        ports:
          # p2p 通信端口
          - 4001:4001/tcp
          - 4001:4001/udp
          
          # API 端口
          - 127.0.0.1:5001:5001
          
          # HTTP 网关端口
          - 127.0.0.1:8080:8080
    
    

    数据保存在当前的 ipfs 目录,p2p 通信使用 4001 端口,api 端口是 5001 ,http 网关端口是 8080 。要确保 API 端口和 alist 之间可以相互访问。

    启动

    docker-compose up -d
    

    更多 ipfs 运行的方法请自行 Google 。

    添加 IPFS API 驱动

    进入 Alist 后台 存储->驱动,点击添加按钮,在下拉列表选择 IPFS API 。

    挂载路径:输入 /alist ,注意需要使用 / 开头。ipfs webui 文件里面的路径,一般单独新建一个,例如 alist 。

    根文件夹路径: /

    Endpoint:http://127.0.0.1:5001 填写 ipfs API 的 ip 和端口,如果是局域网或者公网,需要看情况自定义。

    网关: 如果你只是本地使用,可以填写 http://127.0.0.1:8080 ,或者使用如 https://cdn.ipfsscan.io 这样的公共网关。

    点击添加即可。

    优势

    ipfs 底层会把相同文件只保存一份,减少空间占用,同时利用大量公共的 ipfs 网关,减少自己服务器的流量成本。

    还有可以快速复制其它站点的内容,只需要把 cia 复制过来即可。

    热门文件资源利用率很高,更少的存储空间,更快的加载速度。

    缺点

    冷门文件下载速度慢,大型文件开始速度慢。

    样例: https://alist.ipfsscan.io/

    11 条回复
    mezi04
        1
    mezi04  
       79 天前
    ipfs 应该是永久存储的吧,这能当网盘使?
    chenjia404
        2
    chenjia404  
    OP
       79 天前
    @mezi04 #1 必须有节点保存才可以用,所以冷门资源下载速度慢。
    YGHMXFAL
        3
    YGHMXFAL  
       79 天前 via Android
    @mezi04 万万不是,某一个资源至少要被一个节点 PIN 才能被其它节点访问
    mezi04
        4
    mezi04  
       79 天前
    @chenjia404 没懂我意思,自己私人非公开文件丢到这种开放性的存储上?这跟往 npm 里传《庆余年》的那位有啥区别?
    chenjia404
        5
    chenjia404  
    OP
       79 天前
    @mezi04 #4 这个适用的场景就是公开分享,类似你上传到 GitHub ,不过和往 npm 传《庆余年》不一样,ipfs 就是提供公开的分享服务。
    AirTag
        6
    AirTag  
       78 天前
    这个你在你机器上删除了文件,而且文件没被其它节点 pin 的话,不知道什么时候就会被删除了吧。
    chenjia404
        7
    chenjia404  
    OP
       78 天前
    @AirTag #6 对,所以适合用来做图床。图片被访问一次,就相当于保存一次,访问的越多保存次数越多。
    AirTag
        8
    AirTag  
       78 天前
    @chenjia404 只是被访问就能保存么?之前研究过一阵,简单的访问好像不行。。。需要主动去 pin 。
    img2ipfs
        9
    img2ipfs  
       78 天前
    @AirTag #8 你通过一个网关访问,这个网关就会缓存一次,访问的次数越多,就缓存的次数越多,目前有几十个网关。另外这个网站的网关会自动的播种到多个节点。
    Livid
        10
    Livid  
    MOD
       76 天前
    你做了一些非常有意思的东西!
    Livid
        11
    Livid  
    MOD
       76 天前
    Welcome to peer with us for better performance :)

    https://pinnable.xyz/ipfs
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1066 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:26 · PVG 04:26 · LAX 12:26 · JFK 15:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.