使用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
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
项目地址。