使用Plik搭建一个临时文件上传系统,自定义时长/下载即摧毁

说明:Plik是一个基于golang的可扩展且友好的临时文件上传系统。上传者可自定义文件保留时长,设置下载密码,允许上传者随时删除文件,设置下载一次就自动删除,二维码下载,上传者还可以选择不保存在服务器里,直接传到免费服务(貌似用的ShareX),还支持在线播放mp3/mp4文件,及一些功能拓展,挺强的,安装也简单。

截图

请输入图片描述
请输入图片描述

安装

Github地址:https://github.com/root-gg/plik

可以直接用作者编译好的包安装,下载地址:点击查看

#下载最新版本的Plik,目前是1.2.3版本
wget https://github.com/root-gg/plik/releases/download/1.2.3/plik-1.2.3-linux-64bits.tar.gz
#解压
tar xzvf plik-1.2.3-linux-64bits.tar.gz
#运行
cd plik-1.2.3/server
./plikd

然后就可以访问IP:8080查看了,程序的配置文件在server/plikd.cfg,可以设置监听端口/最大上传/默认保存天数等等,上传文件默认保存在server/files

如果Web界面打不开,可能需要开启防火墙端口。

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

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

最后设置完毕后就需要程序常驻后台了,可以使用screen命令。

Docker安装

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、安装镜像

#建一个保存Plik数据的文件夹
mkdir /Plik && cd /Plik
#下载配置文件,可以保持默认,也可以编辑
wget https://raw.githubusercontent.com/root-gg/plik/master/server/plikd.cfg
#启动容器
docker run --name pilk -d -p 8080:8080 -v /Plik/plikd.cfg:/home/plik/server/plikd.cfg -v /Plik/files:/home/plik/server/files rootgg/plik

然后就可以打开IP:8080了,配置文件为/Plik/plikd.cfg,上传文件在/Plik/files,当然外部端口,文件路径可自行修改。

最后我们需要给外部存储目录,也就是/Plik/files文件夹777权限,不然上传会失败。

chmod 777 /Plik/files

域名访问

如果想通过域名访问的就需要使用域名反代了,这里就使用最方便的Caddy,请提前解析好域名到服务器,过程会自动签发SSL

1、安装Caddy
使用命令:

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

2、配置Caddy

#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
echo "xx.com {
 gzip
 tls admin@moerats.com
 proxy / 0.0.0.0:8080
}" > /usr/local/caddy/Caddyfile

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

3、启动Caddy

/etc/init.d/caddy start

如果启动失败,使用tail -f /tmp/caddy.log查看启动日志,可以自己分析下错误日志,如果不会就留言。

启动成功后就可以打开https://xx.com访问了。最后Plik附带一个功能强大的golang多平台cli客户端,不过使用起来挺麻烦的,适用性貌似不是很大,就不研究了。当然如果你有兴趣,可以查看Github项目地址。

发表回复