临时文件上传系统Plik

news2024/11/26 13:48:48

在这里插入图片描述

什么是 Plik ?

Plik 是一个基于 Go 语言的可扩展且用户友好的临时文件上传系统(类似于 Wetransfer)。

软件主要特点:

  • 强大的命令行客户端
  • 易于使用的 Web 用户界面
  • 多个数据后端:文件、OpenStack SwiftS3Google Cloud Storage
  • 多个元数据后端:Sqlite3PostgreSQLMySQL
  • OneShot:文件在第一次下载后销毁
  • 流式传输:文件从上传者直接流式传输给下载者(服务器端不存储任何内容)
  • 可移动的:允许上传者随时删除文件
  • TTL:自定义过期日期
  • 密码:使用登录/密码(基本认证)保护上传
  • 评论:添加自定义信息(使用 Markdown 格式)
  • 用户认证:本地/Google/OVH
  • 上传限制:IP源/令牌
  • 管理员命令行界面和 Web 用户界面
  • 服务器端加密(使用 S3 数据后端)
  • 多架构构建和 Docker 镜像
  • ShareX Uploader:直接集成到 ShareX
  • plikSharp:适用于 Plik.NET API 客户端
  • Filelink for PlikThunderbird 插件,用于将附件上传到 Plik

官方提供了在线 demo,地址:https://plik.root.gg

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 plik ,选择第一个 rootgg/plik,版本选择 latest

本文写作时, latest 版本对应为 1.3.8

docker 文件夹中,创建一个新文件夹 plik,并在其中建一个子文件夹 data

记得给 data 目录新增 Everyone 的读写权限,否则上传文件的时候会报错

文件夹装载路径说明
docker/plik/data/home/plik/server/files存放上传文件

一些高级特性,需挂载设置文件 plikd.cfg 到容器的 /home/plik/server/plikd.cfg,感兴趣的可以参考官方文档:https://github.com/root-gg/plik/blob/master/documentation/docker.md

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
85668080

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 plik 和 子目录
mkdir -p /volume1/docker/plik/data

# 进入 plik 目录
cd /volume1/docker/plik

# 修改目录权限
chmod a+rw /data

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name plik \
   -p 8566:8080 \
   -v $(pwd)/data:/home/plik/server/files \
   rootgg/plik

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  plik:
    image: rootgg/plik
    container_name: plik
    restart: unless-stopped
    ports:
      - 8566:8080
    volumes:
      - ./data:/home/plik/server/files

然后执行下面的命令

# 新建文件夹 plik 和 子目录
mkdir -p /volume1/docker/plik/data

# 进入 plik 目录
cd /volume1/docker/plik

# 修改目录权限
chmod a+rw /data

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8566 就能看到主界面

左上角是一些开关项,鼠标移动到问号上,会有提示

  • Destruct after the first download ?:第一次下载后销毁,意思就是开启后,第一次下载后,文件立即从服务器删除
  • Streaming ?:文件从上传者流式传输到下载者(服务器端不存储任何内容)
  • Removable ?:上传者可以随时删除文件
  • Password ?:启用后,上传和下载之前需要输入密码
  • Comments (Markdown) ?:启用后,可以在上传的内容中添加自定义消息(Markdown 格式)

老苏使用了默认状态,有兴趣可以自己试试

Add files 选择文件

Upload 开始上传,点 Remove 可以删除

上传成功之后

可以把二维码或者 URL 分享给别人,微信扫码后就可以下载了

上传的文件保存在 /docker/plik/data 目录中,但并不是原来的文件名

除了网页外, Plik 还支持命令行客户端

另外 Plik 还提供了 REST-full API 来管理上传和获取文件,感兴趣的请参考官方文档:https://github.com/root-gg/plik/blob/master/documentation/api.md

参考文档

root-gg/plik: Plik is a temporary file upload system (Wetransfer like) in Go.
地址:https://github.com/root-gg/plik

Plik
地址:https://plik.root.gg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1875727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单调队列优化DP——AcWing 135. 最大子序和

单调队列优化DP 定义 单调队列优化DP是一种在动态规划(Dynamic Programming, DP)中应用的数据结构优化方法。它利用单调队列(Monotonic Queue)这一数据结构来高效维护一个区间内的最值(通常是最大值或最小值&#xf…

特斯拉下一代自动驾驶芯片的深度预测

引言 特斯拉一直以来都在自动驾驶技术上不断突破,随着AI大模型技术的爆发,其下一代自动驾驶芯片(HW5.0)也备受瞩目。本文将深入分析和预测特斯拉下一代自动驾驶芯片AI5的技术特点及其对行业的影响。 深入技术分析 现有自动驾驶…

【电机控制】EG2134无刷电机驱动板——最小核心板STM32F103C8T6,开环、无感SMO验证

【电机控制】EG2134无刷电机驱动板——最小核心板STM32F103C8T6,开环、无感SMO验证 文章目录 前言一、硬件二、软件三、开环SVPWM四、SMO无感观测器五、参考文献总结 前言 【电机控制】直流有刷电机、无刷电机汇总——持续更新 使用工具: 1.控制器&…

大创项目推荐 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python

文章目录 1 简介2 传统机器视觉的手势检测2.1 轮廓检测法2.2 算法结果2.3 整体代码实现2.3.1 算法流程 3 深度学习方法做手势识别3.1 经典的卷积神经网络3.2 YOLO系列3.3 SSD3.4 实现步骤3.4.1 数据集3.4.2 图像预处理3.4.3 构建卷积神经网络结构3.4.4 实验训练过程及结果 3.5 …

linux 文件管理

一、linux文件命名规则 1.可使用字符&#xff1a;所有字符都可使用&#xff0c;不建议使用"<、>、&#xff1f;、*"等特殊字符 正常文件命名规则&#xff1a; 1.尽量使用小写 2.在需要对文件名分割时&#xff0c;建议使用“_”&#xff0c;chen_2004_06_28…

【高中数学之基本不等式】已知:a,b皆为正实数且1/a+1/(b+2)=1/2 求:a+b的最小值?

解&#xff1a;先从1/a1/(b2)1/2 入手&#xff0c;看能否化二为一&#xff08;将两变量化成一个变量&#xff09; 由1/a1/(b2)1/2 两边通分得(b2a)/a/(b2)1/2 交叉相乘得2a2b4ab2a 最后得到a24/b 所以ab24/bb 此时已经可以用基本不等式了 ab24/bb>22*根号下(4/b*b)22…

CSS 核心知识点 - grid

思维导图 参考网址: https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_grid_layout 一、什么是 grid&#xff1f; CSS Grid布局是在CSS3规范中引入的一种新的布局方式&#xff0c;旨在解决传统布局方法&#xff08;如浮动、定位、表格布局&#xff09;存在的许多问题。C…

运行CDN

背景 CDN代码&#xff0c;调试运行 日常 git clone代码配置虚拟环境 puthon3.8,pip install r requirements.txt改项目数据集路径&#xff0c;在hico.py文件里面 # PATHS {# train: (root / images / train2015, root / annotations / trainval_hico.json),# val: …

【Python】已解决:ModuleNotFoundError: No module named ‘nltk‘

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;ModuleNotFoundError: No module named ‘nltk‘ 一、分析问题背景 在Python编程中&#xff0c;我们常常需要使用第三方库来扩展语言的功能和应用场景。NLTK&am…

DataWhale-吃瓜教程学习笔记(四)

学习视频&#xff1a;第3章-二分类线性判别分析_哔哩哔哩_bilibili 西瓜书对应章节&#xff1a; 3.4 文章目录 - 算法原理- 损失函数推导-- 异类样本中心尽可能远-- 同类样本方差尽可能小-- 综合 知识点补充 - 二范数二范数&#xff08;2-norm&#xff09;详解定义几何意义性质…

Bridging nonnull in Objective-C to Swift: Is It Safe?

Bridging nonnull in Objective-C to Swift: Is It Safe? In the world of iOS development, bridging between Objective-C and Swift is a common practice, especially for legacy codebases (遗留代码库) or when integrating (集成) third-party libraries. One importa…

链表-求链表中环的入口结点(easy)

目录 一、问题描述 二、解题思路 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 本题基本思路&#xff1a; 1.设置一个hashSet来存储已经访问过的链表结点地址&#xff0c;注意不要直接存储链表内元素&#xff0c;因为链表内元素可能存在重复的&#xff0c;地址是不…

APP项目测试 之 开发模型和发布

项目客户端一般分为&#xff1a;浏览器端和APP端 APP端分为&#xff1a;手机端&#xff08;安装在手机上的软件&#xff09;和PC端&#xff08;安装在电脑上的软件&#xff09; 1.开发模型 项目迭代速度不同&#xff1a;开发模型不一样 传统行业&#xff1a;瀑布模型 互联网行业…

C++实现简化版Qt信号槽机制(2):增加内存安全保障

在上一篇文章中《C实现一个简单的Qt信号槽机制》&#xff0c;我们基于前面的反射代码实现了信号槽的功能。 但是上一篇的代码中没有对象生命周期管理的机制&#xff0c;如果在对象的生命周期结束后还存在未断开的信号和槽连接&#xff0c;那么信号触发时可能会尝试访问已经被析…

乐鑫 Matter 技术体验日|快速落地 Matter 产品,引领智能家居生态新发展

随着 Matter 协议的推广和普及&#xff0c;智能家居行业正迎来新的发展机遇&#xff0c;众多厂商纷纷投身于 Matter 产品的研发与验证。然而&#xff0c;开发者普遍面临技术门槛高、认证流程繁琐、生产管理复杂等诸多挑战。 乐鑫信息科技 (688018.SH) 凭借深厚的研发实力与行…

AI周报(6.23-6.29)

AI应用-巴西医生成功用Vision Pro做手术 巴西外科医生布鲁诺戈巴托&#xff08;Bruno Gobbato&#xff09;在2024年4月22日首次成功使用Apple Vision Pro进行了肩袖撕裂的手术。这次手术采用了肩关节镜技术&#xff0c;通过关节内的摄像头捕捉图像&#xff0c;并通过高分辨率的…

建议csdn赶紧将未经作者同意擅自锁住收费的文章全部解锁,别逼我用极端手段让你们就范

前两天我偶然发现csdn竟然将我以前发表的很多文章锁住向读者收费才让看。 csdn这种无耻行径往小了说是侵犯了作者的版权著作权&#xff0c;往大了说这是在打击我国IT领域未来的发展&#xff0c;因为每一个做过编程工作的人都知道&#xff0c;任何一个程序员的学习成长过程都少不…

校企携手,探索“最强大脑”电子科技大学特聘研究员Minati教授访问阿尔泰科技:探索大脑与电子系统的交叉点

近日&#xff0c;成都电子科技大学意籍著名教授Minati教授应邀访问了阿尔泰科技&#xff0c;展开了一场富有深度和成果的学术交流。作为一位专注于大脑和电子系统非线性动力学研究的领军人物&#xff0c;Minati教授此次访问旨在探索科技前沿&#xff0c;特别是关注阿尔泰科技的…

fiddler抓https包

1&#xff0c;安装fiddler省略 2&#xff0c;下载证书步骤&#xff1a;tools-options-https 点击确认&#xff0c;点击OK&#xff0c;点击是 把证书安装到谷歌浏览器上步骤&#xff1a;点击谷歌浏览器右上角的设置&#xff0c;在搜索框中搜索证书&#xff0c;点击“证书管理”…

【Redis】-缓存以及Serializable接口

问题 当用户访问量比较大时&#xff0c;某个业务功能需要频繁查询数据库&#xff0c;会让数据库访问压力增大&#xff0c;会导致系统响应慢&#xff0c;用户体验差 解决 通过Redis来缓存数据&#xff0c;减少数据库查询操作 实例 当我们在小程序点餐时&#xff0c;每次都需要通…