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