Plik

可扩展的临时文件上传系统
授权协议 MIT
开发语言 Google Go
所属分类 应用工具、 文件传输工具
软件类型 开源软件
地区 不详
投 递 者 焦同
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Plik 是一个以 Golang 编写的可扩展且友好的临时文件上传系统。

主要特点

  • 强大的命令行客户端
  • 易于使用的 Web 用户界面
  • 多数据后端
  • 多个元数据后端
  • 可移除:上传者可以随时删除文件
  • TTL : 自定义到期日期
  • 密码:使用登录名/密码保护上传
  • 评论:添加自定义消息(Markdown 格式)
  • 用户认证:本地/谷歌/OVH
  • 管理员仪表板
  • 服务器端加密
  • ……

安装

从 Release 页面下载安装

要运行 plik,它非常简单:

$ wget https://github.com/root-gg/plik/releases/download/1.3.1/plik-1.3.1-linux-amd64.tar.gz
$ tar xzvf plik-1.3.1-linux-64bits.tar.gz
$ cd plik-1.3.1/server
$ ./plikd

现在拥有一个在 http://127.0.0.1:8080 上运行的功能齐全的 Plik 实例。可以编辑 server/plikd.cfg 以根据需要调整配置(端口、ssl、ttl、后端参数等)

从源代码编译

要从源代码编译 plik,需要在系统上安装 golang 和 npm。

首先,通过 go 获取项目和库:

$ go get github.com/root-gg/plik/server
$ cd $GOPATH/src/github.com/root-gg/plik/

构建并运行它:

$ make
$ cd server && ./plikd

客户端

Plik 附带了一个强大的 golang 多平台 cli 客户端(可在 Web 界面中下载):

Usage:
  plik [options] [FILE] ...

Options:
  -h --help                 Show this help
  -d --debug                Enable debug mode
  -q --quiet                Enable quiet mode
  -o, --oneshot             Enable OneShot ( Each file will be deleted on first download )
  -r, --removable           Enable Removable upload ( Each file can be deleted by anyone at anymoment )
  -S, --stream              Enable Streaming ( It will block until remote user starts downloading )
  -t, --ttl TTL             Time before expiration (Upload will be removed in m|h|d)
  -n, --name NAME           Set file name when piping from STDIN
  --server SERVER           Overrides plik url
  --token TOKEN             Specify an upload token
  --comments COMMENT        Set comments of the upload ( MarkDown compatible )
  -p                        Protect the upload with login and password
  --password PASSWD         Protect the upload with login:password ( if omitted default login is "plik" )
  -a                        Archive upload using default archive params ( see ~/.plikrc )
  --archive MODE            Archive upload using specified archive backend : tar|zip
  --compress MODE           [tar] Compression codec : gzip|bzip2|xz|lzip|lzma|lzop|compress|no
  --archive-options OPTIONS [tar|zip] Additional command line options
  -s                        Encrypt upload usnig default encrypt params ( see ~/.plikrc )
  --not-secure              Do not encrypt upload regardless of ~/.plikrc configurations
  --secure MODE             Archive upload using specified archive backend : openssl|pgp
  --cipher CIPHER           [openssl] Openssl cipher to use ( see openssl help )
  --passphrase PASSPHRASE   [openssl] Passphrase or '-' to be prompted for a passphrase
  --recipient RECIPIENT     [pgp] Set recipient for pgp backend ( example : --recipient Bob )
  --secure-options OPTIONS  [openssl|pgp] Additional command line options
  --update                  Update client
  -v --version              Show client version

 

 相关资料
  • 据我所知,Herokus Ephemeral文件系统只允许您写入临时文件夹。当停止或重新启动创建文件的测功机时,该文件夹中创建的文件将被丢弃。 我不明白的是,如果dyno没有停止或重新启动会发生什么?一段时间后,文件还会被丢弃吗? 我们目前正在构建一个系统,该系统可以生成pdf文件并通过邮件转发(或者您可以下载该文件)。在发送/下载pdf文件后,我是否需要自己删除它们,或者我可以依靠Heroku自

  • 接口说明 上传文件(临时存放) 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /wish3dearth/api/scene/v1.0.0/uploadTempFile 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN sceneId stri

  • 接口说明 上传文件(临时存放) 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 POST /wish3dearth/api/scene/v1.0.0

  • 问题内容: 我正在将图像上传到servlet。通过检查文件头中的幻数,仅在服务器端验证上传的文件是否为图像。在将表单提交给Servlet之前,有什么方法可以在客户端验证扩展?我一按回车就开始上传。 我在客户端使用Javascript和jQuery。 更新: 我最终通过服务器端验证结束了工作,该验证读取字节,如果不是图像,则拒绝上传。 问题答案: 可以仅检查文件扩展名,但是用户可以轻松地将virus

  • 我正在创建一个Zend Framework应用程序,用户可以在其中上载配置文件图像。可接受的文件类型为png、jpg和gif。图像最终被存储为用户id和文件扩展名。 我想知道的是,假设用户上传png或gif文件,将文件扩展名更改为jpg是否安全? 这样,所有的配置文件图像都将具有相同的文件扩展名,我只是不确定这样更改文件类型是否是一个好主意。

  • 我正在使用Android中的PhoneGap从画廊上传图像,但我想做的是获取文件名及其扩展名,我无法从imageuri获取该文件名和扩展名,所以有人能告诉我如何找到吗 我的是所以有没有办法通过使用这个来获取fileEntry并读取文件名和扩展名?

  • 临时文件 # tempfile_TemporaryFile.py import os import tempfile print('Building a filename with PID:') filename = '/tmp/guess_my_name.{}.txt'.format(os.getpid()) with open(filename, 'w+b') as temp: pr

  • 问题内容: 当我尝试处理文件上传时,是否应该基于文件MIME类型或文件扩展名运行验证? 这两种文件验证方式的优缺点是什么? 而且,我应该关注其他任何安全问题吗? 这些天来,我一直依靠MIME类型,但是这篇文章中投票最多的答案是 PHP中的文件上传问题说: 永远不要依赖浏览器提交的MIME类型! 问题答案: 好的,对于这里的所有热心人士,我都在讲一些关于“螺丝扩展,检查MIME!FILEINFO R