2 个不稳定版本

0.2.0 2021 年 7 月 30 日
0.1.0 2021 年 7 月 28 日

#2063命令行工具

MIT 许可证

20KB
418

Teleport Ur Logs with Love

            .----------------.  .----------------.  .----------------.  .----------------.   
           | .--------------. || .--------------. || .--------------. || .--------------. |  
           | |  _________   | || | _____  _____ | || |   _____      | || |   _____      | |  
           | | |  _   _  |  | || ||_   _||_   _|| || |  |_   _|     | || |  |_   _|     | |  
           | | |_/ | | \_|  | || |  | |    | |  | || |    | |       | || |    | |       | |  
           | |     | |      | || |  | '    ' |  | || |    | |   _   | || |    | |   _   | |  
           | |    _| |_     | || |   \ `--' /   | || |   _| |__/ |  | || |   _| |__/ |  | |  
           | |   |_____|    | || |    `.__.'    | || |  |________|  | || |  |________|  | |  
           | |              | || |              | || |              | || |              | |  
           | '--------------' || '--------------' || '--------------' || '--------------' |  
            '----------------'  '----------------'  '----------------'  '----------------'   

无论您将什么通过 tull 管道传输,都会获得一个唯一的 UUID,数据将本地存储 - 通过简单的端点通过 flask 服务器访问。您可以使用 ngrok 或 localtunnel 来在 LAN 外共享它。它不会破坏控制台,因为它也将流透明地重定向到 stdout。

安装

  1. 克隆仓库
  2. 安装 Rust
  3. 然后运行 cargo build

使用方法

TULL-TUTORIAL

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 之前找到)

结果

  1. 您可以将日志以有组织的方式存储以供将来参考
  2. 您可以将 URL 分享给任何可以通过 http 访问您的服务器的人。

我通常将其与 ngrok 隧道连接起来。ngrok 是一个工具,您可以使用它通过一行命令从本地端口创建安全隧道。所以只需执行 ngrok http 17171,您就可以与互联网另一端的人共享这些日志。

免责声明

这是一个个人项目,请不要在生产环境中或任何您不确定安全影响的地方使用它。直到 v1.0 之前,一切都是不稳定的。:)

未来路线图/更新

  1. 安全性 - 如果需要,添加基本身份验证
  2. HTTPS 暴露
  3. 添加文档和视频 --follow 功能
  4. 让 --follow 功能在网络中工作
  5. --expose-via=ngrok | --expose-via=localtunnel
  6. 如何使用 --tutorial 模式
  7. 改进/web界面的UI - 使搜索/导航/组织日志更简单
  8. /和/tull端点需要显示一些内容
  9. 为/api接口添加API分页
  10. 为/raw接口提供流式传输 - 还包括如何快速读取最后n行!
  11. 使readme看起来更专业
  12. 添加单元测试
  13. 开始使用pip推送创建标签,以版本更新开始
  14. 遵循语义化版本控制并冻结外部API模型
  15. 为终端输出添加颜色
  16. 将时间戳添加到日志中
  17. 允许合并多个日志流
  18. 允许分页访问日志
  19. 改进readme页面的外观艺术 | 添加颜色
  20. 在readme中添加构建横幅

如何工作

当你运行这个程序时,它会在你的用户主目录中创建一个名为.tull的文件夹。同时,它还会启动一个后台进程,如果尚未启动,则会运行带有一些简单API的Flask服务器。然后,每当有数据通过管道传入它,或者从命令行调用它时,它会创建一个唯一的ID,并将管道流数据存储到该文件中,同时也透明地写入stdout。这样就不会打断你的现有流程,使用唯一的ID保存日志,并允许你稍后浏览它们。并不太花哨,但很有用。

发布说明

v0.8: 添加了日志跟随能力和日志列表能力

依赖项

~15–30MB
~455K SLoC