{"id":26802433,"url":"https://github.com/red5pro/rtcbee","last_synced_at":"2026-03-10T14:03:57.883Z","repository":{"id":28925603,"uuid":"118653147","full_name":"red5pro/rtcbee","owner":"red5pro","description":"WebRTC Client to connect to a stream and used as a bee.","archived":false,"fork":false,"pushed_at":"2022-12-06T00:41:23.000Z","size":2070,"stargazers_count":5,"open_issues_count":3,"forks_count":2,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-29T21:18:00.726Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/red5pro.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":"2018-01-23T18:43:13.000Z","updated_at":"2021-06-28T10:00:20.000Z","dependencies_parsed_at":"2022-07-26T04:02:02.980Z","dependency_job_id":null,"html_url":"https://github.com/red5pro/rtcbee","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Frtcbee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Frtcbee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Frtcbee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Frtcbee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/red5pro","download_url":"https://codeload.github.com/red5pro/rtcbee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250359713,"owners_count":21417710,"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":[],"created_at":"2025-03-29T21:18:05.018Z","updated_at":"2026-03-10T14:03:52.843Z","avatar_url":"https://github.com/red5pro.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RTC Bee\nThe RTC Bee is a command-line program that runs a subscription \"attack\" on a server. One *RTC Bee* can have N *Bullets* (or stingers) that are fired concurrently.\n\n* [Requirements](#build-requirements)\n* [Building](#building)\n* [Attacking](#attacking)\n* [Notes](#notes)\n\n# Requirements\n\n## CLI\n\nFor the command-line based scripts, the following is required:\n\n* chromium-browser\n* python 2.7\n\n### chromium-browser\n\nTo install the `chromium-browser`:\n\n```sh\n$ apt-get install -y chromium-browser\n```\n\n# Building\n\nThe current implementations are the command line scripts available in the [script](script) directory. There is no building necessary.\n\n\u003e Note: The original intent was to have the RTC Bee be Java-based just as the other bees (RTMPBee and RTSPBee) are. However, `chromedriver` seemed to occasionally be swallowed or lost when deployed on an AWS EC2 instance (which is the desired deploy for bees). As such, the work on the Java-based version has been halted as of January 28th, 2018.\n\n# Attacking\n\n* [Basic Subscription](#basic-subscription)\n* [Stream Manager Proxy Subscription](#stream-manager-proxy-subscription)\n* [Stream Manager Edge Subscription](#stream-manager-edge-subscription)\n\n## Basic Subscription\n\n```sh\n$ cd script\n$ ./rtcbee.sh [viewer.jsp endpoint] [amount of streams to start] [amount of time to playback]\n```\n\n### Options\n\n#### endpoint\n\nThe endpoint of the `viewer.jsp` page to subscribe to a stream. The `viewer.jsp` page is provided by default with the `live` webapp of the Red5 Pro Server distribution.\n\n#### amount\n\nThe amount of bullets (stingers, a.k.a. stream connections) for the bee to have in the attack.\n\n#### timeout\n\nThe amount of time to subscribe to stream. _The actual subscription time may differ from this amount. This is really the time lapse of start of subscription until end._\n\n#### Example\n\n```sh\n$ ./rtcbee.sh \"https://your.red5pro-deploy.com/live/viewer.jsp?host=your.red5pro-deploy.com\u0026stream=streamname\" 10 10\n```\n\n## Stream Manager Proxy Subscription\n\nThe following example demonstrates how to assemble an attack against the multiple Edges deployed and accessible through the Stream Manager.\nIncluded in the Red5 Pro Server distribution within the `live` webapp is are basic Stream Manager proxy examples that wllow for client configurations through query parameters.\n\n* `/webapps/live/proxy-publisher.html`\n* `/webapps/live/proxy-subscriber.html`\n\nThere are various query parameters you can set to test with the proxy examples, but for the purpose of using the `rtcbee` to test roundtrip tests through the Stream Manager to access Edge address(es) and start subscribing, the `streamName` paramter is all that is required.\n\n```sh\n$ cd script\n$ ./rtcbee.sh [subscriber proxy endpoint] [amount of streams to start] [amount of time to playback]\n```\n\n### Options\n\n#### subscriber proxy endpoint\n\nThe endpoint of the `proxy-subscriber.html` file including the `streamName` query param.\n\n#### amount\n\nThe amount of streams to start.\n\n#### timeout\n\nThe amount of time to subscribe to stream. _The actual subscription time may differ from this amount. This is really the time lapse of start of subscription until end._\n\n```sh\n$ cd script\n$ ./rtcbee_sm.sh [stream-manager subscribe API endpoint] [app context] [stream name] [amount of streams to start] [amount of time to playback]\n```\n\n#### Example\n\n```sh\n$ ./rtcbee.sh https://stream-manager.url/live/proxy-subscriber.html?verbose=true\u0026streamName=streamname\" 1 100\n```\n\n## Stream Manager Edge Subscription\n\nThe following example demonstrates how to assemble an attack against a single Edge in a Stream Manager deployment.\n\n### Options\n\n#### stream-manager API endpoint\n\nThe API request endpoint that will return Edge server information.\n\n#### context\n\nThe webapp context name that the stream would be available in at the edge IP returned.\n\n#### stream name\n\nThe stream name to subscribe to at the edge IP returned.\n\n#### amount\n\nThe amount of streams to start.\n\n#### timeout\n\nThe amount of time to subscribe to stream. _The actual subscription time may differ from this amount. This is really the time lapse of start of subscription until end._\n\n#### Example\n\n```sh\n$ ./rtcbee_sm.sh \"https://stream-manager.url/streammanager/api/2.0/event/live/streamname?action=subscribe\" live todd 10 10\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fred5pro%2Frtcbee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fred5pro%2Frtcbee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fred5pro%2Frtcbee/lists"}