{"id":16880601,"url":"https://github.com/squaremo/rmqcat","last_synced_at":"2026-05-20T04:48:49.864Z","repository":{"id":15060816,"uuid":"17787015","full_name":"squaremo/rmqcat","owner":"squaremo","description":"netcat-like tool for sending things through RabbitMQ","archived":false,"fork":false,"pushed_at":"2014-04-02T21:17:03.000Z","size":252,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-20T03:39:04.082Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"TheFinestArtist/YouTubePlayerActivity","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/squaremo.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}},"created_at":"2014-03-15T22:31:40.000Z","updated_at":"2018-02-13T00:10:47.000Z","dependencies_parsed_at":"2022-07-16T03:16:19.170Z","dependency_job_id":null,"html_url":"https://github.com/squaremo/rmqcat","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/squaremo/rmqcat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Frmqcat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Frmqcat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Frmqcat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Frmqcat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/squaremo","download_url":"https://codeload.github.com/squaremo/rmqcat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Frmqcat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33246172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-20T04:32:20.885Z","status":"ssl_error","status_checked_at":"2026-05-20T04:31:26.238Z","response_time":356,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-10-13T15:59:25.770Z","updated_at":"2026-05-20T04:48:49.837Z","avatar_url":"https://github.com/squaremo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"rmqcat\n======\n\nA netcat-like tool for sending things through RabbitMQ.\n\n## Installation\n\n```sh\nnpm install -g rmqcat\nrmqcat --help\n```\n\n## Use\n\n`rmqcat` has two modes of use, one-way and two-way (\"duplex\"). Duplex\ncorresponds more or less to how `netcat` works, that is, it\nestablishes a socket-like connection with a server ('listener') on one\nside and a client on the other, which can speak back and forth.\n\nOne-way (simplex) either relays stdin to a RabbitMQ queue, *or* from a\nRabbitMQ queue to stdout. Sending to a queue doesn't wait for a\nreceiver; receiving from a queue waits for data in the queue.\n\n### Common to both modes\n\nThe option `--url` can be used to address a specific RabbitMQ server,\nand to provide connection parameters -- see the [amqplib\ndocumentation][amqplib-doc-url].  By default a RabbitMQ server on\nlocalhost is assumed, so you will probably want to supply `--url` in\npractice.\n\nThe option `-D` will make rmqcat output a bit of debug information to\nstderr.\n\nThe option `--help`, if present at all, will make rmqcat output a\nusage message to stderr then exit.\n\n### Duplex\n\n```sh\n# Start a listener that will put whatever it gets in a file\nrmqcat -l \u003e recv.txt\n\n# Send a file to the listener\nrmqcat \u003c send.txt\n```\n\n`rmqcat` used this way will keep a connection open until it gets\nend-of-file, so you can use it to \"chat\" back and forth, similar to\nnetcat.\n\nA client (i.e., without `-l`) will buffer input until its connection\nis accepted by a listener.\n\nThe option `-k` in combination with `-l` will keep the listener\naccepting successive connections. Otherwise it will exit once the\nfirst connection closes.\n\nThe option `-e` or `--exec` causes rmqcat to spawn a child process\nusing the remainder of the arguments, and redirect stdin and stdout of\nthat process tthrough the queue. For example,\n\n```js\nrmqcat -l --exec grep -n foo\n```\n\nIf the option `-k` is used in combination with `-e`, the child process\nwill be run for each connection made. In a client, the process is run\nonce the connection is accepted.\n\nThe option `--service` has a role similar to a TCP port number. It\nnames a queue to be used by clients and listeners to establish\nconnections. The default is arbitrarily `\"rmqcat\"`.\n\n### One-way\n\n```sh\n# Send a file to a queue\nrmqcat --send bobbins \u003c bobbins.iso\n\n# Save the file in a queue and output the SHA1 sum\nrmqcat --recv bobbins | tee bobbins.iso | shasum\n```\n\nThe string following either `--send` or `--recv` names a queue that\nwill hold the data in transit. More than one file of data can be\npresent in the queue; `rmqcat --recv \u003cqueue\u003e` will read a single file\nbefore exiting, or wait if there is no data yet.\n\n[amqplib-doc-url]: http://squaremo.github.io/amqp.node/doc/channel_api.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquaremo%2Frmqcat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquaremo%2Frmqcat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquaremo%2Frmqcat/lists"}