{"id":15753767,"url":"https://github.com/dmotte/msgbuf","last_synced_at":"2025-03-13T15:32:56.549Z","repository":{"id":65210853,"uuid":"587864974","full_name":"dmotte/msgbuf","owner":"dmotte","description":"🦀 A standalone message buffer application","archived":false,"fork":false,"pushed_at":"2025-01-27T18:05:43.000Z","size":52,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T20:22:10.774Z","etag":null,"topics":["buf","buffer","cargo","cli","log","logs","message","message-buffer","msg","msg-buf","msgbuf","notification","notifications","notifier","notify","rust","send","telegram","text"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmotte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-11T19:13:09.000Z","updated_at":"2025-01-27T18:05:47.000Z","dependencies_parsed_at":"2023-01-15T15:00:57.913Z","dependency_job_id":"7f42d342-eee0-40e6-a9ed-2835a33a627c","html_url":"https://github.com/dmotte/msgbuf","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"6a0a90342134843423ffe45025b02a57924f9b29"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmotte%2Fmsgbuf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmotte%2Fmsgbuf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmotte%2Fmsgbuf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmotte%2Fmsgbuf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmotte","download_url":"https://codeload.github.com/dmotte/msgbuf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243433021,"owners_count":20290193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buf","buffer","cargo","cli","log","logs","message","message-buffer","msg","msg-buf","msgbuf","notification","notifications","notifier","notify","rust","send","telegram","text"],"created_at":"2024-10-04T07:41:57.940Z","updated_at":"2025-03-13T15:32:56.203Z","avatar_url":"https://github.com/dmotte.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# msgbuf\n\n[![GitHub main workflow](https://img.shields.io/github/actions/workflow/status/dmotte/msgbuf/main.yml?branch=main\u0026logo=github\u0026label=main\u0026style=flat-square)](https://github.com/dmotte/msgbuf/actions)\n[![GitHub (Pre-)Release Date](https://img.shields.io/github/release-date-pre/dmotte/msgbuf?logo=github\u0026style=flat-square)](https://github.com/dmotte/msgbuf/releases/latest)\n[![GitHub all releases](https://img.shields.io/github/downloads/dmotte/msgbuf/total?logo=github\u0026style=flat-square)](https://github.com/dmotte/msgbuf/releases/latest)\n\n:crab: A standalone **message buffer** application.\n\nThis tool reads text from the **standard input** (`stdin`) stream and divides it into chunks, called \"**messages**\". Then, for each message, a **notifier** command is invoked on a separate thread.\n\n## Installation\n\nPre-built binaries are available. You can download the latest version with:\n\n```bash\ncurl -fLo msgbuf \"https://github.com/dmotte/msgbuf/releases/latest/download/msgbuf-$(uname -m)-unknown-linux-gnu\"\nchmod +x msgbuf\n```\n\n## Usage\n\nAs a sample notifier command we can use _cURL_ to send the text to a _Telegram_ user (as a bot). Example:\n\n```bash\ntail -f /var/log/my-log-file | ./msgbuf -- curl -sSXPOST \"https://api.telegram.org/bot.../sendMessage\" -dchat_id=... --data-urlencode text@- --fail-with-body -w'\\n'\n```\n\nThis is a simple graphical representation of what happens when we run the shell line above:\n\n```mermaid\ngraph LR\n    tail(fa:fa-gear tail -f fa:fa-scroll)\n    reader(fa:fa-gear reader)\n    invoker(fa:fa-gear invoker)\n    curl(fa:fa-gear curl fa:fa-paper-plane)\n\n    tail --\u003e reader\n\n    subgraph fa:fa-gear msgbuf\n        reader -- \"channel\" --\u003e invoker\n\n        invoker -- \"put\" --\u003e msg\n        msg -- \"get\" --\u003e invoker\n    end\n\n    invoker --\u003e curl\n```\n\n\u003e **Note**: for more information on how to use this tool, you can also refer to the help message (`./msgbuf --help`).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmotte%2Fmsgbuf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmotte%2Fmsgbuf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmotte%2Fmsgbuf/lists"}