6 个稳定版本
2.4.0 | 2024 年 8 月 17 日 |
---|---|
2.3.1 | 2024 年 3 月 30 日 |
2.2.1 | 2023 年 7 月 10 日 |
2.2.0 | 2021 年 12 月 12 日 |
692 在 命令行工具 中
每月 121 次下载
48KB
1K SLoC
Privatebin CLI
pbcli 是一个命令行客户端,允许您直接从命令行上传和下载 privatebin 中的粘贴。
它双授权于 MIT 或 UNLICENSE。
目录
安装
您可以在 GitHub 的发布标签下找到预编译的二进制文件。
对于 Archlinux,它可以在 AUR 中找到。
构建
pbcli 是用 Rust 编写的,因此您需要 Rust 工具链来构建它。
git clone https://github.com/Mydayyy/pbcli.git
cd pbcli
cargo build --release
./target/release/pbcli --version
用户指南
pbcli 使用简单,只涉及几个标志。唯一需要的参数是位置参数 URL
或选项标志 host
。如果两者都提供,则位置参数 URL 优先。为了避免每次都指定主机 / URL,您可以像下面这样使用配置文件。
当发布粘贴时,您可以指定 --json
来接收帖子详细信息。输出包括用于加密/解密粘贴的 base58 编码的密钥。还提供了方便的构造粘贴 URL(包括密钥)和删除 URL(包括令牌)。
示例输出
{
"baseurl":"https://privatebin.net/",
"bs58key":"GN3qty1kAFbsGi9FbKKXigXwux1eofhiZQXNVFRMrNQd",
"deletetoken":"8536f6f8310ed4a9aae0e111b1763f5851cdbefe4c35e4b96bd690269635354a",
"deleteurl":"https://privatebin.net/?pasteid=31e2e7b19481fa7d&deletetoken=8536f6f8310ed4a9aae0e111b1763f5851cdbefe4c35e4b96bd690269635354a",
"id":"31e2e7b19481fa7d",
"pasteurl":"https://privatebin.net/?31e2e7b19481fa7d#GN3qty1kAFbsGi9FbKKXigXwux1eofhiZQXNVFRMrNQd",
"status":0,
"url":"/?31e2e7b19481fa7d"
}
获取粘贴的示例用法
pbcli https://privatebin.net/?f37ca34e72e2ef77#G8wFGVnpSb4pogzGbMMcgbDgeYkQ5cfcWkcsVwTQJmzd
pbcli --host https://privatebin.net/?f37ca34e72e2ef77#G8wFGVnpSb4pogzGbMMcgbDgeYkQ5cfcWkcsVwTQJmzd
发布新帖子的示例用法
echo 'TestPaste' | pbcli --host https://privatebin.net/
echo 'TestPaste' | pbcli https://privatebin.net/ --json
echo 'TestPaste' | pbcli --host https://privatebin.net/ --expire=1hour
echo '## Title\nSome Markdown' | pbcli https://privatebin.net/ --format markdown
echo 'TestPaste' | pbcli --host https://privatebin.net/ --burn
CLI 帮助
pbcli 2.4.0
Mydayyy <dev@mydayyy.eu>
pbcli is a command line client which allows to upload and download
pastes from privatebin directly from the command line.
Project home page: https://github.com/Mydayyy/pbcli
USAGE:
pbcli [OPTIONS] [URL]
ARGS:
<URL>
OPTIONS:
--burn
--discussion
--download <FILE>
--expire <EXPIRE> [default: 1week]
--format <FORMAT> [default: plaintext] [possible values: plaintext, syntax, markdown]
-h, --help Print help information
--host <HOST>
--json
--oidc-client-id <OIDC_CLIENT_ID> client id to send to the token endpoint
--oidc-password <OIDC_PASSWORD> password to send to the token endpoint
--oidc-token-url <OIDC_TOKEN_URL> oidc token endpoint from which to obtain an access token
--oidc-username <OIDC_USERNAME> username to send to the token endpoint
--overwrite overwrite the file given with --download if it already exists
--password <PASSWORD>
--size-limit <SIZE_LIMIT> Prompt if the paste exceeds the given size. Fail in non-interactive environments
--upload <FILE>
-V, --version Print version information
配置文件
pbcli 支持配置文件以调整默认行为。您需要将环境变量 PBCLI_CONFIG_PATH
设置为文件路径。文件需要包含您要传递给 pbcli 的标志,每行一个。以 # 开头的行将被忽略。这可以用于设置默认实例,例如通过设置 --host 参数。
与输入 echo 'test' | pbcli https://privatebin.net/
相比,您只需输入 echo 'test' | pbcli
。
示例配置
--host=https://privatebin.net/
--expire=1month
Uniffi
本项目提供了uniffi绑定。为了启用它们,请使用已启用uniffi功能的库进行构建。您可以在这里了解更多关于uniffi的信息。此外,您可以通过查看sharepaste来了解如何在Android项目中集成pbcli并启用uniffi。
路线图
- 描述性错误消息
- 添加对认证机制的支持
- 基本认证
oauth从v2.2.0版本开始添加,使用资源所有者密码凭证授予流程
添加对文件附件的支持从v2.1.0版本开始添加
鸣谢
- nain 对uniffi实现的贡献
依赖项
~16–32MB
~622K SLoC