如何解决免费图床不可靠的问题

73 天前
 chenjia404

在博客、论坛的各种环境,经常需要图床用于保存和分享图片,但是很多付费和免费的图床都有一个问题,可能比较长时间后(也有可能短时间),图床网站不在了……

一般来讲,每个图床网站同一个图片会生成不同的链接,导致一个图床挂了,就会让所有链接失效,而且只能新上传到一个图床,所有老链接只能手动一个一个修改。

为了解决这个问题,ipfs 图床 使用的了 ipfs 的技术,同一张图片每次上传的文件链接都一样的,然后通过 p2p 技术,一张图片链接可以通过多个网站同时打开。

原理

每个图片上传后,会根据图片文件生成固定的一个哈希,这个哈希规则是通用的。然后通过这个哈希值,可以在全球几百个的网站访问这种图片,如果其中一个网站挂了,更换一下图片链接就马上打开了。

一个图片被多个网站打开后,图片就被复制更多份,让图片的可靠率更高。

使用方法

在线网站

打开ipfs 图床 ,然后上传图片获取图片链接地址。

客户端上传

下载 ipfs-desktop 客户端,在客户端里面上传图片,然后获取图片地址,然后修改图片的域名。

这个方法有一个好处,始终保证你自己掌握一份图片备份,然后通过 p2p 技术,其它网站就可以随时打开这张图片。

如果你追求你的图片 100%可靠性,就需要使用这种方式。

优势

原文: https://ipfsscan.io/post/2024/08/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E5%85%8D%E8%B4%B9%E5%9B%BE%E5%BA%8A%E4%B8%8D%E5%8F%AF%E9%9D%A0%E7%9A%84%E9%97%AE%E9%A2%98/

4509 次点击
所在节点    奇思妙想
62 条回复
andforce
73 天前
lizhenda
73 天前
我好奇的是为啥原文网站头部的 logo 图裂了?这对宣传可信度严重打击啊
chenjia404
73 天前
@lizhenda #2 因为没有配置 logo ,想不到配置什么比较合适的。
yb2313
73 天前
OWLS
73 天前
愿长久。
metalvest
72 天前
@yb2313 这里要发新帖才能加载 imgur 以外的图,回复贴不行
Livid
69 天前
@yb2313 我在考虑可能会支持这种 CIDv0?filename= 的新语法。

因为这种方式的一个优雅之处就是,前面的 gateway prefix 是可以随便换的,只需要用正则把后面的 CIDv0?filename= 这部分提取出来。

比如这些地址都可以访问到同一个文件:

https://gateway.ipfsscan.io/ipfs/QmNr8Ffhb7GbtPE2YVsK8MAeULyuKd71W9JMdhnYgxA3qm?filename=CqGDDDoavo.png

https://magic.decentralized-content.com/ipfs/QmNr8Ffhb7GbtPE2YVsK8MAeULyuKd71W9JMdhnYgxA3qm?filename=CqGDDDoavo.png
Livid
69 天前
另外,如果把 CIDv0 转换成 CIDv1 (以上面出现的那个 CIDv0 为例),那么还可以用这个 Limo Gateway:



https://bafybeiahrt6nz6j2ksvf2tbhrv3iv54entu3jzzll2ekgelhxvg45ikmzq.ipfs2.eth.limo/
Livid
69 天前
Livid
69 天前
Livid
69 天前
Livid
69 天前
只要 CID 存在于某个节点上,就肯定可以从某个 gateway 上掏出来。

解决可靠性问题的一个方式就是从前端实现图片加载地址不要强依赖于某个特定的 gateway 。

比如可以用 web component 实现一个 <cidimg src="bafybeiahrt6nz6j2ksvf2tbhrv3iv54entu3jzzll2ekgelhxvg45ikmzq" /> 然后这个 component 到底用哪个 gateway ,可以去读一个外部配置。
Tink
69 天前
主要是,能否通过 http 协议访问到,又一定程度上依赖于 gateway ,这个 gateway 是不可控的
Livid
69 天前
@Tink 任何时候,肯定有能用的 gateway 。只要前端能自动帮用户把 gateway 始终换成能用的,图片的可用性对于用户来说就不会有负面感知。
Tink
69 天前
@Livid #14 确实,如果能实现前端自动替换可用的 gateway ,那对终端用户是无感的。

估计以后可能会有类似的高可用付费网关吧
Livid
69 天前
@Tink 比如 https://pinnable.xyz/

就是这样的一个 paid-only 的网关。

https://gateway.v2ex.pro/ipns/olivida.eth/
Tink
69 天前
@Livid #16 原来已经有了。。牛逼
Livid
69 天前
@Tink 我前段时间写的一篇文章,里面其实也是在思考这件事情:

https://olivida-eth.ipns.gateway.v2ex.pro/hashes/
img2ipfs
69 天前
@Livid #7 可以直接使用 ipfs://
admol
69 天前
看回复,我还以为是站长在发帖

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1070747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX