去中心化(基于 IPFS)的免费图床程序:ipfs.pics搭建教程

之前新浪防盗链后本站全部图片使用自建图床本地化,但存储始终是有局限的,万一哪天服务器被黑删文件了呢~ 然后就找到这个程序,去中心化(基于 IPFS)的免费图床程序:ipfs.pics

Github 地址:https://github.com/ipfspics/ipfspics-server
本站搭建:https://imlml.ml/

关于去中心化和 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']; ?>

本文完!
本文部分转账自:Rat’s Blog

3 Comments

    1. 有的,之前看到过,但是个人认为存文件这种不合适,放了就永远存在删不掉,除非地球爆炸~

      小孩分对错の大人只蹭蹭不进去

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注