全球主机交流论坛

标题: 人手一个ipfs图床,文件床 [打印本页]

作者: hjvn2211445    时间: 2021-6-17 23:28
标题: 人手一个ipfs图床,文件床
本帖最后由 hjvn2211445 于 2021-7-19 17:04 编辑

简单研究了一下ipfs上传文件返回链接,主要用到两个东西API和网关

弄了个图床https://ipfs.xkx.me/
传mp4。avi啥的也可以吧

静态代码放在ipfs上,实际文件地址 https://ipfs-1.xkx.me/ipfs/QmPZtBHJTPojXDpNnvjFBz1Y4noAFKUHDw2BdEyNa6YNcV/
上传API反代的infura

想自己建同款的源码自己F12一下,就3个文件,
修改static/file.js里面的api地址和网关ipfs-1.xkx.me网关地址(我的会停),下面有说怎么建这两个

https://github.com/jialezi/img2ipfs




记录下心得

一是ipfs API,用于上传文件返回文件的hash即cid,

二是网关





网关好整,虽然官方的ipfs.io和cf的cloudflare-ipfs.com都被污染了。可以用自己域名直接A记录ipfs.io的ip 209.94.90.1即可。或者在cf cname过去,同时要开cdn加速。

IPFS API
infura提供api的https://ipfs.infura.io:5001域名也是被污染了的,可以反代https://ipfs.infura.io:5001
试了cf workers反代会打不开,好像屏蔽了
vercel反代好像文件大于10M就502
vercel反代可以99m,好像是因为ipfs.infura.io:5001好像超过100m传不上去,提示Payload Too Large
自己节点的没问题


另一种方法是自己搭建节点,官方提供各种语言的代码https://github.com/ipfs/ipfs
其中go语言的简单好用,各平台客户端都用,下载直接运行 (https://github.com/ipfs/go-ipfs/releases)

安装后运行ipfs daemon开启节点
其中5001端口是API,8080端口是网关


节点面板可以看到当前节点下的文件,连接的其他节点等等。
网络一直在跑,还耗内存



命令行可以上传本地文件很方便,还可以文件夹(https://github.com/ipfs/go-ipfs#usage)
  1. ipfs add -r /folder
复制代码

http api相关文档(https://docs.ipfs.io/reference/http/api/)
适合单文件,如果想用来传文件夹好像会相当复杂
其中图床要用到的上传API是http://127.0.0.1:5001/api/v0/add

  1. curl -X POST -F file=@myfile "http://127.0.0.1:5001/api/v0/add"
复制代码





可以将静态项目部署在ipfs上

例如我的图床,源码在ipfs文件夹
  1. /export # tree ipfs
  2. ipfs
  3. ├── index.html
  4. ├── ipfs.zip
  5. └── static
  6.     ├── file.js
  7.     └── style.css

  8. 1 directory, 4 files
复制代码

上传到 ipfs,之后好像节点要开一下才能分发出去,之后我就关了节点了

  1. /export # ipfs add -r ipfs
  2. added QmSYL1xCB1jGWRbpdxRHNgbKvH3RfdqqBQuHZ1qMrHdW78 ipfs/index.html
  3. added QmeXHY5U75UC424Rz3NnAFF8tHcGYSdy2xhPAezZf6MRby ipfs/ipfs.zip
  4. added QmbKxqUkEq83RWLSJJUK8edZAexYtcNkgTgrnw15E7dcQg ipfs/static/file.js
  5. added QmcQL4DtC9gMHjmTHpv4VXvD58KKmM2kyJdL5jTa2i7vT8 ipfs/static/style.css
  6. added QmeakcL1JgEHn62LXannSW6U5z6kcVfifsdpXC8HpDCRMq ipfs/static
  7. added QmPZtBHJTPojXDpNnvjFBz1Y4noAFKUHDw2BdEyNa6YNcV ipfs
  8. 36.96 KiB / 36.96 KiB [====================================================================================================================================] 100.00%
  9. /export # ipfs pin add -r /ipfs/QmPZtBHJTPojXDpNnvjFBz1Y4noAFKUHDw2BdEyNa6YNcV
  10. pinned QmPZtBHJTPojXDpNnvjFBz1Y4noAFKUHDw2BdEyNa6YNcV recursively
复制代码


在cf解析设置
ipfs.xkx.me cname指向ipfs.io,要开cdn加速(不开加速就A指向209.94.90.1)
ipfs-1.xkx.me cname指向ipfs.io,要开cdn加速,做网关用
_dnslink.ipfs-1.xkx.me TXT记录 "dnslink=/ipfs/QmPZtBHJTPojXDpNnvjFBz1Y4noAFKUHDw2BdEyNa6YNcV"

这时访问 ipfs.xkx.me 就等于 ipfs-1.xkx.me/ipfs/QmPZtBHJTPojXDpNnvjFBz1Y4noAFKUHDw2BdEyNa6YNcV





.还阔以,还是票的unicloud的阿里oss速度快
upup.xkx.me

作者: dwf135    时间: 2021-6-17 23:30
大佬牛批
作者: 匿名    时间: 2021-6-17 23:31

作者: 滴滴单车    时间: 2021-6-17 23:32
Cloudflare 还有个 cf-ipfs.com 没被污染
作者: tomcb    时间: 2021-6-17 23:33
速度不错啊。

https://ipfs-1.xkx.me/ipfs/QmNiMRzULELxowSDmAunyRmzBenq5Va5YotSm1WkvyBX2n
作者: micms    时间: 2021-6-17 23:36
终于等到大佬公布教程
作者: kylehao    时间: 2021-6-17 23:50
表示没看懂怎么搭
作者: gdtv    时间: 2021-6-18 00:10
我试一下


作者: gdtv    时间: 2021-6-18 00:12
https://cf-ipfs.com/ipfs/QmVD2WbVFKdPXCAwR5sLf7N4HH3sanLgL4uiU745p69SfP
ipfs: video streaming is not allowed
作者: hjvn2211445    时间: 2021-6-18 00:15
kylehao 发表于 2021-6-17 23:50
表示没看懂怎么搭

把这个三个文件下来传自己网站
https://ipfs.xkx.me/index.html
https://ipfs.xkx.me/static/file.js
https://ipfs.xkx.me/static/style.css

把file.js里面的ipfsapi和网关修改成自己的
ipfs-api:ipfsapi.glitch.me
网关:cf-ipfs.com

ipfs-api可以反代ipfs.infura.io:5001或者下载ipfs客户端开启自己的节点
网关把自己域名解析到209.94.90.1就行

没有服务器可以直接将文件夹上传到ipfs,需要用客户端

作者: 尼克    时间: 2021-6-18 01:35
马克
作者: 没有的    时间: 2021-6-18 01:40
马克
作者: xchiminer    时间: 2021-6-18 01:40
每个ipns就是一个节点。其实可以用brave浏览器。
欢迎楼主一起交流下,我们做ipfs的。
作者: xfangbao    时间: 2021-6-18 01:44
前几天还在问怎么永久储存一些文件
作者: hjvn2211445    时间: 2021-6-18 02:22
滴滴单车 发表于 2021-6-17 23:32
Cloudflare 还有个 cf-ipfs.com 没被污染

已经用上
作者: zhongziso    时间: 2021-6-18 06:24
mark
作者: programer    时间: 2021-6-18 09:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: xiaodongus    时间: 2021-6-18 09:26
大佬牛逼,感谢分享
作者: 新世纪    时间: 2021-6-18 11:26
感谢楼主 搭建好了   顺便问下大小100M可以改吗
作者: ChenYFan    时间: 2021-6-18 12:16
infura可以有公共上传api,可以不用服务器也能愉快使用ipfs
作者: kedyao    时间: 2021-6-18 12:17
新世纪 发表于 2021-6-18 11:26
感谢楼主 搭建好了   顺便问下大小100M可以改吗

不能 此限制为CF的缓存文件大小 受限100M
作者: ChenYFan    时间: 2021-6-18 12:17
vercel反代应该不止10MB,78MB测试文件是够的,cfworker确实不行
作者: hjvn2211445    时间: 2021-6-18 12:47
本帖最后由 hjvn2211445 于 2021-6-18 13:29 编辑
新世纪 发表于 2021-6-18 11:26
感谢楼主 搭建好了   顺便问下大小100M可以改吗


可以,js文件里面有个maxSize=5242880*20,只是js限制了一下
但是如果是反代ipfs.infura.io:5001的,只能100m大了传不了
自己建的接口可以,最大能多少我也不知道
作者: hjvn2211445    时间: 2021-6-18 12:49
gdtv 发表于 2021-6-18 00:12
https://cf-ipfs.com/ipfs/QmVD2WbVFKdPXCAwR5sLf7N4HH3sanLgL4uiU745p69SfP
ipfs: video streaming is not ...

cf的不能看视频,改了一下,给出三个网关
作者: 三碗不过岗    时间: 2021-6-18 13:20
挖牛比 收藏
作者: 马化滕    时间: 2021-6-18 13:27
球个教程
            

  Windows 10 专业预览版 【Win Next ◆ 20161.1000.rs

Google Chrome【Chromium 86.0.4193.0

Intel(R)Core(TM)CPU【I9-9900ks @ 4.50 GHz】

作者: hjvn2211445    时间: 2021-6-18 13:30
ChenYFan 发表于 2021-6-18 12:17
vercel反代应该不止10MB,78MB测试文件是够的,cfworker确实不行

试了一下ipfs.infura.io:5001超过100m传不上去
自建节点可以,vercel的确能传99m
作者: Tracker    时间: 2021-6-18 13:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: ChenYFan    时间: 2021-6-18 16:18
hjvn2211445 发表于 2021-6-18 12:47
可以,js文件里面有个maxSize=5242880*20,只是js限制了一下
但是如果是反代ipfs.infura.io:5001的,只能 ...

cf默认没开enter最多只能上传100MB,这在网络选项卡里面只能调的更小
作者: hjvn2211445    时间: 2021-6-18 22:02
我没用cf
作者: Ceabq    时间: 2021-6-19 01:22
hjvn2211445 发表于 2021-6-18 07:02
我没用cf

问下ipfsapi.glitch.me的反代代码可否给下
作者: hjvn2211445    时间: 2021-6-19 12:43
Ceabq 发表于 2021-6-19 01:22
问下ipfsapi.glitch.me的反代代码可否给下

https://glitch.com/edit/#!/ipfsapi
作者: gdtv    时间: 2021-6-19 14:01
vercel每月限100g流量,所以如果用vercel反代,这个图床网站每月最多可以上传100g的图片?

作者: fule    时间: 2021-6-19 14:11
大佬,unicloud的有教程吗
作者: hjvn2211445    时间: 2021-6-19 14:59
fule 发表于 2021-6-19 14:11
大佬,unicloud的有教程吗

这个https://ddzzz.eu.org/thread-811060-1-1.html

作者: hjvn2211445    时间: 2021-6-19 15:07
gdtv 发表于 2021-6-19 14:01
vercel每月限100g流量,所以如果用vercel反代,这个图床网站每月最多可以上传100g的图片?
...

应该是的
作者: _hostloc    时间: 2021-6-19 18:21
没接触过ipfs,感觉有点儿复杂啊.尝试搭建一下
作者: Ceabq    时间: 2021-6-20 01:27
hjvn2211445 发表于 2021-6-18 21:43
https://glitch.com/edit/#!/ipfsapi

谢谢
作者: Nami    时间: 2021-6-20 01:58
ipfs不是收钱的吗?
作者: 剁手mjj    时间: 2021-6-20 02:29
限制是多少。
作者: 爱国者捣蛋    时间: 2021-6-20 04:34
mk
作者: hjvn2211445    时间: 2021-6-20 14:38
剁手mjj 发表于 2021-6-20 02:29
限制是多少。

我反代的ifura,这个限制100M
自己建的可以更大
作者: kedyao    时间: 2021-6-20 23:55
本帖最后由 kedyao 于 2021-6-21 00:38 编辑

爬楼看见 由于我只需要搭建网关
是A记录和CF cname  按照教程 我均访问失败
dnspro ---- cfp源站IP
    A    记录  209.94.90.1   ----A记录关闭云朵 209.94.90.1
cname 记录   ipfs.io          ---- cname 记录开启云朵 ipfs.io
cname 记录   cfcname          ----A记录 关闭云朵209.94.90.1
cname 记录   cfcname        ----cname 记录开启云朵 ipfs.io
不知道还差哪个步骤


作者: hjvn2211445    时间: 2021-6-21 02:07
kedyao 发表于 2021-6-20 23:55
爬楼看见 由于我只需要搭建网关
是A记录和CF cname  按照教程 我均访问失败
dnspro ---- cfp源站IP

你看看直接用ip能访问吗
http://209.94.90.1/ipfs/QmVdhWfUJN1gCvafF8XD7XShPgDpzZQhEqJ515nP1sHvj1

如果能打开,你说的这个三个应该都没问题的
dnspro ---- cfp源站IP
    A    记录  209.94.90.1   ----A记录关闭云朵 209.94.90.1

cname 记录   cfcname          ----A记录 关闭云朵209.94.90.1
cname 记录   cfcname        ----cname 记录开启云朵 ipfs.io


前两个解析完ping应该直接是209.94.90.1
后面那个解析完ping应该是cf ip

另外这个有时会504超时
作者: xjjmjj    时间: 2021-6-21 07:40
收藏点赞
作者: POMAH    时间: 2021-6-21 09:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: kedyao    时间: 2021-6-21 12:57
本帖最后由 kedyao 于 2021-6-21 13:06 编辑
hjvn2211445 发表于 2021-6-21 02:07
你看看直接用ip能访问吗
http://209.94.90.1/ipfs/QmVdhWfUJN1gCvafF8XD7XShPgDpzZQhEqJ515nP1sHvj1

好的 成功了 请问一下如果自己服务器搭建网关
下载文件速度和服务器相关吗 还是和节点相关
作者: newb    时间: 2021-6-21 14:22
感觉好复杂啊
作者: yanyuo    时间: 2021-6-21 15:00
这么好的帖子,为啥现在才看到。。。
我就直接用你搭建的了。。
作者: hjvn2211445    时间: 2021-6-23 14:43
mk
作者: hjvn2211445    时间: 2021-6-26 17:41

作者: jacob    时间: 2021-7-11 22:13
mark
作者: NVMe    时间: 2021-7-11 22:21

作者: hjvn2211445    时间: 2021-7-16 13:51
本帖最后由 hjvn2211445 于 2021-8-1 18:25 编辑

https://github.com/jialezi/img2ipfs

不要用我的ipfs-1.xkx.me网关,我套的cf被制裁了,原因是视频流量
收集的网关

cf-ipfs.com
183.252.17.149:82
ipfs.genenetwork.org
ipfs.fleek.co
ipfs.azurewebsites.net
ipfs.kaleido.art
ipfs.globalupload.io
ipfs.slang.cx
ipfs.adatools.io
gateway.originprotocol.com
ipfs.best-practice.se
ipfs.drink.cafe
ipfs.denarius.io        
crustwebsites.net
bin.d0x.to
ravencoinipfs-gateway.com
ipfs.smartholdem.io
infura-ipfs.io
作者: 冲浪麦浪花郎    时间: 2021-7-16 14:14

作者: maiawpyg    时间: 2021-7-16 20:01
记录下
作者: programer    时间: 2021-7-21 23:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 主机我来了    时间: 2021-7-22 01:00
厉害啊,搭建一个试一试。
作者: micms    时间: 2021-7-22 01:38
programer 发表于 2021-7-21 23:42
谁能帮我顶到1楼?

终于找到海绵宝宝的原图了。。感谢
作者: mifou    时间: 2021-7-22 16:02

大佬牛批
作者: 主机我来了    时间: 2021-7-22 18:09
大佬,网关直接A记录ip 209.94.90.1 ,怎么实现https呢?
作者: 等1下™我老公呢    时间: 2021-7-22 18:13
programer 发表于 2021-7-21 23:42
谁能帮我顶到1楼?

还有嘛大佬,才4张不够呀
作者: makizhang    时间: 2021-7-22 19:06




/**
* 自身不先改变的话,一切都不会改变。——《银魂》
作者: orwtmc    时间: 2021-7-26 09:25
想问如果我用这上传图片,会被pin吗?还是就只是add
作者: fw2you    时间: 2021-7-26 22:42
mark
作者: 八块腹肌的Duang    时间: 2021-8-1 11:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: hjvn2211445    时间: 2021-8-1 17:34
八块腹肌的Duang 发表于 2021-8-1 11:04
大佬,我自建的ipfs,web就能访问,一访问api 比如http://51.158.141.143:5001/ 就提示404 page not found  ...

正常,/根目录 没东西是404,http://51.158.141.143:5001/webui是面板
http://51.158.141.143:5001/ipfs/xxxx 显示上传的东西
作者: 八块腹肌的Duang    时间: 2021-8-1 17:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: hjvn2211445    时间: 2021-8-1 18:02
八块腹肌的Duang 发表于 2021-8-1 17:48
楼主,但是你反代的那个api就能访问有文件,我这个就提示404,好像是我这个api公网不能访问,只有webui能 ...

我反代的API是这个吧https://ipfsapi.glitch.me/

只能内网,
自定义配置API ip和端口为0.0.0.0看看
ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
作者: 八块腹肌的Duang    时间: 2021-8-1 18:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: marcle    时间: 2021-8-1 18:20
ipfs分布式存储牛逼啊,速度挺快
作者: mmc199    时间: 2021-8-9 01:09
programer 发表于 2021-7-21 23:42
谁能帮我顶到1楼?

一下给我卡爆




欢迎光临 全球主机交流论坛 (https://ddzzz.eu.org/) Powered by Discuz! X3.4