两款去中心化图床程序源码(基于IPFS)以及搭建教程
上传图片等文件到ipfs,只要有人访问你的图片就一直会存在,上传图片不可删除谨慎上传!!
自行修改static/file.js 第79行的API上传接口(给出的接口域名DNS被污染)
(API接口可以自行搭建或反向代理,搭建请看下面ipfs项目和客户端客户端,安装后运行 ipfs daemon开启节点,其中5001端口是API,8080端口是网关)
收集的网关
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
去中心化(基于 IPFS)的免费图床程序:ipfs.pics搭建教程
之前新浪防盗链后本站全部图片使用自建图床本地化,但存储始终是有局限的,万一哪天服务器被黑删文件了呢~ 然后就找到这个程序,去中心化(基于 IPFS)的免费图床程序:ipfs.pics
Github 地址:
关于去中心化和 IPFS什么的自行了解,简单讲一下它的优势:你上传图片后,并不会存储在自己的服务器,而是上传到 IPFS,再转化成一个哈希值,你可以根据这个哈希进行下载,任何人都无法删除,包括你自己,就算上传的平台倒闭,该图片也会存在;所以一些私密照片什么的就别乱传了,任何人都删不掉删不掉的啊~~
安装教程
1、安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker.service
2、安装Docker Compose
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#验证是否安装成功
docker-compose --version
#返回以下类似信息即安装成功
docker-compose version 1.x
3、下载源码
git clone https://github.com/ipfspics/ipfspics-server.git
cd ipfspics-server
#安装镜像
docker-compose up -d
4、访问 ip:5000
如果无法打开,检查防火墙是否放行 5000
端口
备注:前端页面调用了 Google CSS 文件,打开很慢请挂梯子,文章最后有解决办法
如果需要通过域名访问
可以通过 Nginx
或 Caddy
反代,由于服务器正好安装有宝塔面板,这里就以宝塔的反向代理为例
宝塔安装 Nginx
,然后添加网站,FTP/数据库不需要,PHP纯静态即可,创建好后点击后面的【设置】,选择【反向代理】-【添加反向代理】,目标URL填 http://127.0.0.1:5000
,代理名称随意,然后直接【保存】
现在可以通过你的域名访问了,如果使用 Caddy
或者直接配置 Nginx
反代,自己解决~
关于前端问题修改
温馨提示:如果不想手动更改,可以直接下载下面懒人包(不含任何添加剂)上传到服务器 /root/ipfspics-server/app/
目录下解压替换即可
下载文件:app.zip(增加了一条 hash function
内容显示)
手动修改:
1)墙外 CSS文件(打开卡慢)
此程序前端有3个文件共9处引用 ajax.googleapis.com
文件,所以大陆用户不挂梯子打开可能要等半天
#前端文件在服务器根目录的/root/ipfspics-server下
/app/index.php
/app/pages/browse.php
/app/pages/preview.php
搜索 ajax.googleapis.com
找到相应的 CSS
和 JS
下载,本地化或者上传到一个未被墙的地方再引用
2)前端菜单除了【Upload】按钮外,其他菜单无法打开
解决办法,删掉这些菜单就完事~
3)上传图片后,显示的图片地址是官方地址(被墙的)
还是前端的三个文件,找到 https://ipfs.pics
全部替换为你的域名或者以下代码
https://< php echo $_SERVER['SERVER_NAME']; >
本文完!