logo
0
0
WeChat Login

Peg

命令行 pastebin,用于分享终端输出。

名字来自"peg"——像把便签钉到布告板上一样,简单直接。

使用方法

上传

echo hello | curl -T - https://yourdomain.com

返回一个 URL:

https://yourdomain.com/abcd

上传命令输出:

ls -la | curl -T - https://yourdomain.com

查看

在浏览器中打开 URL,或:

curl https://yourdomain.com/abcd

设置别名

Linux/MacOS:

alias peg="curl -T - https://yourdomain.com"

Windows:

function peg { $input | curl -T - https://yourdomain.com }

那么你就可以使用 peg 命令了:

echo hello | peg

Docker 部署

docker run -d \ --name peg \ -p 9999:9999 \ -e PEG_BANLIST='https://blackip.ustc.edu.cn/list.php?txt ' \ -v ./data:/data \ --restart unless-stopped \ docker.cnb.cool/anyexyz/tools/peg:latest

运行选项

所有参数均可通过环境变量配置,优先级:命令行参数 > 环境变量 > 默认值

参数环境变量默认值说明
-LPEG_LISTEN_ADDR0.0.0.0监听地址
-pPEG_PORT9999监听端口
-sPEG_SLUG_LEN4Slug 长度
-oPEG_OUTPUT_DIRcode粘贴保存目录
-BPEG_BUFFER_LEN32768最大上传大小(字节)
-HPEG_REAL_IP_HEADER获取真实客户端 IP 的请求头
-PPEG_BASE_PATH子路径(如 /peg),用于反向代理子路径部署
-lPEG_LOG_FILE日志文件路径
-bPEG_BANLIST封禁 IP 列表,支持本地文件或 URL
-wPEG_WHITELIST白名单 IP 列表,支持本地文件或 URL
-post-limitPEG_POST_LIMIT10每 IP 每窗口 POST 上传次数上限(0 不限制)
-get-limitPEG_GET_LIMIT60每 IP 每窗口 GET 请求次数上限(0 不限制)
-rate-windowPEG_RATE_WINDOW60速率限制时间窗口(秒)

致谢

本项目灵感来源于 termbin.com,一个简洁优雅的命令行 pastebin 服务。感谢 termbin 带来的启发。

许可证

MIT

About

No description, topics, or website provided.
4.73 MiB
0 forks0 stars1 branches4 TagREADMEMIT license
pegrepo-named

Sponsor

Language
Go59.4%
HTML39.5%
Dockerfile1.1%