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

74 天前
 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/

4512 次点击
所在节点    奇思妙想
62 条回复
cue
69 天前
自建 lsky pro + cloudflare R2
kitty7030
69 天前
怎么没人说网速的问题
图片无法审核的话 就不会有国内网关了吧
mayli
69 天前
@h404bi 的确,简单说就是图片这个规模,用 ipfs 这种缺乏明确 sla 的方案,并没有明显优势。
当然如果规模大或者需要特殊架构也许更有用。
mayli
69 天前
@chenjia404 随机出错的体验不大好 ("Gateway time-out Error code 504")

而且 CF 也下线了他的 gateway: https://blog.cloudflare.com/cloudflares-public-ipfs-gateways-and-supporting-interplanetary-shipyard
这个页面上有个图就加载不出来 https://gateway.ipfsscan.io/ipfs/bafybeichypzjch6uuo5pe6btkctcusdwvp77xidgbh5kc2ipowvuaexhiq/wiki/
https://gateway.ipfsscan.io/ipfs/bafybeichypzjch6uuo5pe6btkctcusdwvp77xidgbh5kc2ipowvuaexhiq/I/W-circle.svg.png.webp

而且好多链接都是半天打不开,然后超时之后报错。
mayli
69 天前
如果只是图床,之前 telegra.ph 就很稳定
第三方自建的也很稳定比如 catbox.moe
chenjia404
69 天前
@mayli #44 这个网关遇到了一些问题,现在修复了
xuanwu
69 天前
以后应该有越来越多代码动态生成图片的工具,如 https://github.com/zengm-games/facesjs
zoharSoul
69 天前
支持 api 上传吗
mayli
69 天前
@chenjia404 但是随便点一个链接等半天的体验有点差
chenjia404
69 天前
@mayli #49 维基这个有点特殊,里面几百万个对象,加上这个网关随机每次从 300 个节点里面选取一个,你换一个,一般图片来讲就好很多。
这个网关的速度就快很多 https://ipfs.blockframe.io/ipfs/bafybeichypzjch6uuo5pe6btkctcusdwvp77xidgbh5kc2ipowvuaexhiq/wiki/
nicoljiang
69 天前
如果直接回答,那肯定是“你预备足够的钱,养你自己的图床”。
qweruiop
69 天前
不知道,是否可以自己实现
1 ,通过某个 api 或者某种方法查看自己某个资源的存活时间。
2 ,在快过期之前,调用某个 pin service 保活。。。
img2ipfs
69 天前
@qweruiop #52 只能请求确认资源存在,如果本地有一份,过期后就重新上传一次。
gochendong
69 天前
qweruiop
68 天前
@img2ipfs 老哥请教下,我看网上很多地方说只能存 1 年,但是,貌似,也不能真正的确认某个对象的生命周期还剩多少天。。。那如果,自己写个业务,每天都去刷,这样,资源还会被清理吗?
img2ipfs
68 天前
@qweruiop #55 如果被调用,就相当于更新一次,例如是贴图的场景就很适合。你可以调用多个网关,让他们都帮你保存。
img2ipfs
68 天前
@zoharSoul #48 网站里面提供了 api
iqoo
68 天前
充分利用图床

网站图片很耗流量,不少人将图片上传到图床、相册等第三方站点,充当免费 CDN 。但这也存在诸多难以预测的情况,例如图片被删、限制外链、添加水印、有损压缩、限速等等。

这导致很多人认为免费图床不可靠。事实上,不可靠的不是质量,而是数量!你把所有图片都放在单个图床上,这显然有很大的风险。但如果有多个图床,它们同时出现故障的可能性就呈指数级下降了。

因此,你可以像上述公共库那样,将图片也进行冗余处理,每个图片准备多个 URL ,从而实现一个高度稳定的分布式图床。
...
https://github.com/EtherDream/freecdn/blob/master/docs/feature/README.md#%E5%85%85%E5%88%86%E5%88%A9%E7%94%A8%E5%9B%BE%E5%BA%8A
img2ipfs
68 天前
@iqoo #58 ipfs 图床就是相当于将图片冗余处理,现在有几十个公共 ipfs 网关,他们的文件路径都一样,只是域名不一样。
iqoo
68 天前
@img2ipfs 几年前也尝试用 ipfs + service worker 做一个分布式网站。不过 gateway 基本都活不过几天,被墙的太快了😂

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

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

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

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

© 2021 V2EX