一个去中心化的图片分享平台:ipfs.pics搭建教程

说明:N月前博主就分享过一个基于IPFS的去中心视频分享平台,查看:ipfstube安装教程,今天再分享个图片分享平台ipfspics,大概原理这里再说下,就是是你上传图片后,并不会存储到自己的服务器,而是会上传到IPFS,再转化成一个哈希值,你可以根据这个哈希进行下载,任何人都无法删除,包括你自己,就算你上传的那个平台倒闭,该图片也会存在。对这个有兴趣的也可以拿来做个图床什么的。

截图

一个去中心化的图片分享平台:ipfs.pics搭建教程
一个去中心化的图片分享平台:ipfs.pics搭建教程

安装

Github地址:https://github.com/ipfspics/ipfspics-server

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

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

然后就可以通过ip:5000访问。

CentOS系统可能还需要开齐心ia端口,使用命令:

#CentOS 6
iptables -I INPUT -p tcp --dport 5000 -j ACCEPT
service iptables save
service iptables restart

#CentOS 7
firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewall-cmd --reload

域名访问

反代可以用NginxCaddy,这里只说宝塔和Caddy。如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2种的Caddy反代,配置很快。

1、宝塔反代
先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:5000,再启用反向代理即可。至于启用SSL就不说了,直接在站点配置就可以启用。

2、Caddy反代
安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.southcat.net/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy

#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!

#http访问,该配置不会自动签发SSL
echo "xx.com {
 gzip
 proxy / 127.0.0.1:5000
}" > /usr/local/caddy/Caddyfile

#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "xx.com {
 gzip
 tls admin@southcat.net
 proxy / 127.0.0.1:5000
}" > /usr/local/caddy/Caddyfile

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy

/etc/init.d/caddy start

就可以打开域名进行访问了。

3、Nginx配置
如果你使用其它的,这里就大概发个Nginx反代配置,直接添加到配置文件即可。

#在配置文件里添加
location / {
     proxy_pass http://127.0.0.1:5000;
     proxy_redirect off;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

总结

博主发现这里有点坑的是,目录分类里,除了上传是正常的,其它貌似会报500错误,不过这个系统也只有上传有用,还可以拿来将就。而且上传完成后展示的地址来源直接是官方的,这对很多人来说估计很不适应,其实我们自己搭建的地址也可以做来源。

不过博主看了下源码,其实都可以解决掉,但需要我们修改下界面源码,这里就大概的说下修改方法。

#该源码根目录在/root/ipfspics-server/app,如果我们修改主界面布局,或者想要去掉无效的分类,编辑index.php即可。
#上传后的界面显示源码在/root/ipfspics-server/app/pages,如果修改上半部分的显示,编辑preview.php文件;下半部分编辑browse.php文件。



给TA打赏
共{{data.count}}人
人已打赏
cj

Proxyee-down:HTTP下载神器,支持百度云下载/全网嗅探/B站视频下载

2020-2-2 19:31:56

cj

OneIndex:一个OneDrive网盘的目录列表程序,可直接下载/查看

2020-2-3 12:28:40

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索