前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Plik搭建一个临时文件上传系统,自定义时长/下载即摧毁

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

原创
作者头像
用户1202364
修改2018-10-31 17:55:21
1.6K0
修改2018-10-31 17:55:21
举报
文章被收录于专栏:小车博客

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

截图

安装

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

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

代码语言:shell
复制
#下载最新版本的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界面打不开,可能需要开启防火墙端口。

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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、安装镜像

代码语言:javascript
复制
#建一个保存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权限,不然上传会失败。

代码语言:javascript
复制
chmod 777 /Plik/files

域名访问

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

1、安装Caddy 使用命令:

代码语言:javascript
复制
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

代码语言:javascript
复制
#以下全部内容是一个整体,请修改域名后一起复制到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

代码语言:javascript
复制
/etc/init.d/caddy start

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

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

未经允许不得转载:小车博客 » 使用Plik搭建一个临时文件上传系统,自定义时长/下载即摧毁

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 截图
  • 安装
  • Docker安装
  • 域名访问
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档