#命令行 #粘贴板 #privatebin #粘贴服务

bin+lib pbcli

pbcli 是一个命令行客户端,允许您直接从命令行上传和下载 privatebin 中的粘贴。

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命令行工具

Download history 2/week @ 2024-05-18 5/week @ 2024-07-27 116/week @ 2024-08-17

每月 121 次下载

Unlicense OR MIT

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