#截图 #上传 #sam

nightly bin+lib sampicore

🐶 捕获屏幕截图,获取可分享的URL

5个版本 (3个破坏性版本)

0.4.0 2021年9月16日
0.3.0 2021年6月23日
0.2.1 2021年6月21日
0.2.0 2021年6月14日
0.1.0 2021年6月9日

#7 in #sam

MIT 协议

36KB
694 代码行

🐶 Sampicore

捕获屏幕截图,获取可分享的URL

安装

应该是跨兼容的,但我还没有测试。我只在PopOS(基于Ubuntu/Debian)上安装了它,并且需要以下依赖项

sudo apt update && sudo apt install libxcb-randr0-dev build-essential libssl-dev libssl-dev pkg-config libxcb1-dev libxcb-shm0-dev

目前它仅发布在发布页面和cargo

cargo install sampicore  # will download and build sampic

配置

它由一个名为sampic.toml的单个文件组成,内容如下

api_key = 'S3_API_KEY'
api_secret_key = 'S3_SECRET_API_KEY'
region = 'S3_REGION_'
endpoint = 'S3_ENDPOINT'
bucket = 'sampic-store'
local_path = '/tmp'
sampic_endpoint = 'https://api.sampic.xyz/upload'

配置将根据您的操作系统保存在以下目录中

(根据directories rust 包)

使用

sampic 0.1.0
Takes pictures and generates links

USAGE:
    sampic <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    config    Manage sampic configuration.
    help      Prints this message or the help of the given subcommand(s)
    local     Takes a screenshot, saves it locally and returns it's path.
    s3        Takes a screenshot, saves it in s3 and returns it's link.
    server    Runs a sampic server.
    upload    Takes a screenshot, sends it to sampic and returns it's link.

上传

使用sampic的最简单方法。它会捕获屏幕截图,将其发送到我的sampic服务器,并将URL复制到您的剪贴板。

$ sampic upload -h
sampic-upload
Takes a screenshot, sends it to sampic and returns it's link.

USAGE:
    sampic upload

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

本地

类似于上传,但将截图保存到本地路径,并将其复制到剪贴板。

$ sampic local -h
sampic-local
Takes a screenshot, saves it locally and returns it's path.

USAGE:
    sampic local

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

s3

如果您有可用的s3兼容桶,可以使用此子命令将截图发送到那里。您需要在sampic.toml文件中配置它。

$ sampic s3 -h
sampic-s3
Takes a screenshot, saves it in s3 and returns it's link.

USAGE:
    sampic s3

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

配置(可能会在配置文件中留下混乱)

CLI界面用于更改配置。通常工作正常,但有时会弄乱我的sampic.toml。

$ sampic config -h
sampic-config
Manage sampic configuration.

USAGE:
    sampic config <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    help    Prints this message or the help of the given subcommand(s)
    list    List current sampic configuration values.
    set     Set sampic configuration.

服务器Systemd服务

[Unit]
Description=Sampic server
After=network.target

[Service]
Type=simple
ExecStart=/path/sampic server
Restart=always
# Other restart options: always, on-abort, etc

[Install]
WantedBy=default.target

未来

为了使sampic满足我的用例,我想要做一些事情以使sampic功能完整

  • 确保它是安全的。
  • 对一切进行速率限制,并提供注册选项,甚至可能通过付费来放宽速率限制。
  • 使用功能标志将代码分开。
  • 测试。
  • 一个标志。
  • 一个主页。
  • 检查跨兼容性

我很乐意做所有这些,但我目前正在全职工作,所以我只能在空闲时间偶尔对sampic进行一些工作。

依赖项

~33–67MB
~1M SLoC