任意网络下基于 ipfs 的去中心化文件分享大概思路 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Qds
V2EX    分享发现

任意网络下基于 ipfs 的去中心化文件分享大概思路

  •  
  •   Qds 3 天前 628 次点击
    ipfs 大概就一个去中心的文件存储系统,大概的细节大家可以自行问 ai 来解决这个问题,
    我 ipfs 初始化好了 运行之后,输入 http://127.0.0.1:5001/webui 打开 ipfs 的 webui 地址
    我偶然间发现最新的 ipfs 版本的 weui 页面里面 有个添加链接 大概介绍是下面这样的:

    添加连接
    请输入你想要连接的对等节点地址。
    例子:
    /dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJy.....
    /ip4/IP/udp/4001/quic/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJy.....


    其中我试了 /dnsaddr/bootstrap.libp2p.io/p2p/TARGET_PEER_ID ,这个基本上是可以连接成功的

    旧版本用的是 /p2p-circuit/ipfs/TARGET_PEER_ID 后来的这个功能被移除了改成了 要指定某个中继节点才可以(/p2p/RELAY_PEER_ID/p2p-circuit/p2p/TARGET_PEER_ID ),最新版本突然支持 /dnsaddr/bootstrap.libp2p.io/p2p/TARGET_PEER_ID ,不用指定中继节点了,所以连接成功率大大提升了。

    结果基本上都能添加成功,添加成功建立连接以后,就可以方便的互传文件了

    比如 ipfs add -w 文件地址 获取最后一行的文件 CID 之后 对方发给我
    我就能直接通过这个 CID 和 ipfs get CID 就能够轻松获取对方的文件

    -w 主要是 自动给文件套一层文件夹 以免文件的名字和扩展名被改
    第 1 条附言    3 天前
    目前我用的比较新的版本是 ipfs v0.39.0 版本

    用的基本上是 ipfs 命令:

    ipfs init 和 ipfs daemon 命令和 ipfs.exe 环境变量配置就不多说了,ai 都可以搜到

    A 节点 移动 nat 网络下的 win10 ipfs 已运行 能正常上网


    B 节点 电信 nat 网络下的 win10 ipfs 已运行 能正常上网

    A 电脑操作

    // A 节点添加文件 (一般最后那个就是 CID)
    ipfs add -w 文件地址


    // 里面可以获取 A 节点的 peerId
    ipfs id


    B 电脑操作 (/dnsaddr/bootstrap.libp2p.io/p2p/后面那串就是 A 节点的 peerId )
    // B 节点连接节点 A
    ipfs swarm connect /dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJy.....


    // B 节点获取节点 A 的文件
    ipfs get A 节点存入文件和文件夹的 CID
    6 条回复    2025-12-15 09:55:39 +08:00
    MindMindMax
        1
    MindMindMax  
       3 天前
    早就有这个功能了吧 https://github.com/ipfs/ipfs-webui/issues/1602

    内地很难用,有网络限制。
    NewYear
        2
    NewYear  
       3 天前
    ipns ?
    Qds
        3
    Qds  
    OP
       3 天前
    @MindMindMax #1 现在不难用了,你可以试试最新的版本,基本上国内任意网络打通率很高
    Qds
        4
    Qds  
    OP
       3 天前
    @NewYear #2 不是这个,主要用的是 CID 来获取文件,ipns 简单来讲就是把 你的 CID 发布到一个 peerId 上 (每个节点默认就是这样的), 这个 peerId 只有节点自己才能发布,其他人是不能发布的
    NewYear
        5
    NewYear  
       1 天前
    @Qds #4

    原来如此,我的 ID 别人都访问不到的,最新版 ipfs desktop
    Qds
        6
    Qds  
    OP
       55 分钟前
    @NewYear #5 一般你如果不是公网服务器(并开放 4001-tcp/udp 8080-tcp 看需求)而 是 nat 网络下面的电脑,别人一般需要中继才能连到你 怎么连接 我已经发过了,一般对方要访问 webui ,里面添加你的地址才可以,http://127.0.0.1:5001/webui 页面里面的 节点菜单下面的,添加连接 /dnsaddr/bootstrap.libp2p.io/p2p/你的 peerId 一般添加成功后 就可以访问到了 不过我还是推荐敲命令 更灵活
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5690 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 02:50 PVG 10:50 LAX 18:50 JFK 21:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86