2 个不稳定版本
0.2.0 | 2021 年 7 月 30 日 |
---|---|
0.1.0 | 2021 年 7 月 28 日 |
#2063 在 命令行工具
20KB
418 行
T
eleport U
r L
ogs with L
ove
.----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | _________ | || | _____ _____ | || | _____ | || | _____ | |
| | | _ _ | | || ||_ _||_ _|| || | |_ _| | || | |_ _| | |
| | |_/ | | \_| | || | | | | | | || | | | | || | | | | |
| | | | | || | | ' ' | | || | | | _ | || | | | _ | |
| | _| |_ | || | \ `--' / | || | _| |__/ | | || | _| |__/ | | |
| | |_____| | || | `.__.' | || | |________| | || | |________| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
无论您将什么通过 tull
管道传输,都会获得一个唯一的 UUID,数据将本地存储 - 通过简单的端点通过 flask 服务器访问。您可以使用 ngrok 或 localtunnel 来在 LAN 外共享它。它不会破坏控制台,因为它也将流透明地重定向到 stdout。
安装
- 克隆仓库
- 安装 Rust
- 然后运行
cargo build
使用方法
STDIN 测试:执行 tull web
并获取几个 URL。打开带有 TULL_WEB_URL 的 URL。对于每个会话 tull
生成一个 ID,该 ID 用于关联该会话的数据。在活动终端中输入任何内容。在网页上,在相应的 ID 页面上也会反映出来。使用 Ctrl-D 退出。(目前 Ctrl-C 会导致 flask 服务器停止以及流捕获,正在修复中)
实际用例:执行 ps ax | tull
;您可以看到命令的输出,同时日志也以唯一的 ID 存储起来。转到 TULL_WEB_URL(通过 tull web
之前找到)
结果
- 您可以将日志以有组织的方式存储以供将来参考
- 您可以将 URL 分享给任何可以通过 http 访问您的服务器的人。
我通常将其与 ngrok 隧道连接起来。ngrok 是一个工具,您可以使用它通过一行命令从本地端口创建安全隧道。所以只需执行 ngrok http 17171
,您就可以与互联网另一端的人共享这些日志。
免责声明
这是一个个人项目,请不要在生产环境中或任何您不确定安全影响的地方使用它。直到 v1.0 之前,一切都是不稳定的。:)
未来路线图/更新
- 安全性 - 如果需要,添加基本身份验证
- HTTPS 暴露
- 添加文档和视频 --follow 功能
- 让 --follow 功能在网络中工作
- --expose-via=ngrok | --expose-via=localtunnel
- 如何使用 --tutorial 模式
- 改进/web界面的UI - 使搜索/导航/组织日志更简单
- /和/tull端点需要显示一些内容
- 为/api接口添加API分页
- 为/raw接口提供流式传输 - 还包括如何快速读取最后n行!
- 使readme看起来更专业
- 添加单元测试
- 开始使用pip推送创建标签,以版本更新开始
- 遵循语义化版本控制并冻结外部API模型
- 为终端输出添加颜色
- 将时间戳添加到日志中
- 允许合并多个日志流
- 允许分页访问日志
- 改进readme页面的外观艺术 | 添加颜色
- 在readme中添加构建横幅
如何工作
当你运行这个程序时,它会在你的用户主目录中创建一个名为.tull的文件夹。同时,它还会启动一个后台进程,如果尚未启动,则会运行带有一些简单API的Flask服务器。然后,每当有数据通过管道传入它,或者从命令行调用它时,它会创建一个唯一的ID,并将管道流数据存储到该文件中,同时也透明地写入stdout。这样就不会打断你的现有流程,使用唯一的ID保存日志,并允许你稍后浏览它们。并不太花哨,但很有用。
发布说明
v0.8: 添加了日志跟随能力和日志列表能力
依赖项
~15–30MB
~455K SLoC