1 个不稳定版本
0.1.0 | 2021年6月7日 |
---|
#10 在 #netcat
28KB
319 行
gestetner
一个netcat和HTTP命令行剪贴板,可从终端直接共享。
为什么还要一个?
我找到了支持通过普通套接字(使用nc
)或通过HTTP(S)使用curl
发布剪贴板的剪贴板服务器,但没有一个同时支持这两种方式!
在某些情况下,你可能只有shell可用,而能够粘贴到普通套接字是非常有用的。
客户端使用
SYNOPSIS
<command> | nc etc.fstab.me 9999
<command> | curl --data-binary @- https://etc.fstab.me
EXAMPLES
~$ ls -l | curl --data-binary @- https://etc.fstab.me
https://etc.fstab.me/abcd
~$ ls -l | nc etc.fstab.me 9999
https://etc.fstab.me/efgh
服务器使用
USAGE:
gestetner -l '[::]:9999' -w '[::]:8080' -p /tmp/gst -u https://127.0.0.1:8080
FLAGS:
-h, --help Prints help information
OPTIONS:
-u URL Set the base URL to be returned in paste responses
-l HOST:PORT Set the listening socket address for incoming pastes
-p PATH Set the filesystem path in which to store pastes
-w HOST:PORT Set the listening socket for the HTTP server
-n LENGTH Set the length of the random paste slug (default: 4)
-m MAX_SIZE Set the maximum size of a paste in bytes (default: 512KiB)
-r RATE Maximum number of pastes per minute from a single IP (default: 5)
--capacity SIZE Set the maximum size of the paste directory (default: 100MiB)
Gestetner具有内置的速率限制、粘贴大小限制,并会删除最旧的粘贴,以保持其磁盘使用量低于您为capacity
提供的值。
安装
$ git clone [email protected]:bradfier/gestetner.git
$ cargo build --release
$ sudo cp target/release/gestetner /usr/local/bin/
$ gestetner -l 127.0.0.1:9999 -w 127.0.0.1:8080 -p /tmp -u https://127.0.0.1:8080
或者,使用cargo install gestetner
从Crates.io安装,或使用提供的Dockerfile
构建映像。
许可证
gestetner
根据GNU Affero通用公共许可证,版本3授权。有关更多信息,请参阅LICENSE。
依赖关系
~18–29MB
~628K SLoC