The RTMP Bee is a java program that runs a subscription "attack" on a server. One RTMP Bee can have N Bullets (or stingers) that are fired concurrently.
Github projects listed pulled locally and referenced in workspace:
Built using Java 8 JDK
First run the setup
script:
./setup.sh
Preferred, as the Maven build has issues with Bouncy Castle
To create the executable jar in Eclipse, use export (~16Mb):
- Import
rtmpbee
in Eclipse workspace - Right-click on the
rtmpbee
project in the Project Explorer - Select Export...
- Select Java / Runnable JAR File
- Point to the desired output directory
- Make sure Package required libraries... is ticked ON
- Click Finish
Creates an executable jar with all the needed dependencies (~17Mb)
$ mvn clean compile assembly:single
$ java -jar rtmpbee.jar [red5pro-server-IP] [port] [app-name] [stream-name] [count] [timeout]
The IP of the Red5 Pro Server that you want the bee to subscribe to attack.
The port on the Red5 Pro Server that you want the bee to subscribe to attack.
The application name that provides the streaming capabilities.
The name of the stream you want the bee to subscribe to attack.
The amount of bullets (stingers, a.k.a. stream connections) for the bee to have in the attack.
The 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.
java -jar rtmpbee.jar xxx.xxx.xxx.xxx 1935 live mystream 100 60
This will run an attack with 100
stingers (a.k.a, subscription streams) for 60
seconds each, consuming the mystream
stream at rtmp://xxx.xxx.xxx.xxx/1935
.
$ java -jar rtmpbee.jar [stream-manager-API-request] [port] [count] [timeout]
The API request endpoint that will return Edge server information.
The port on the Red5 Pro Edge Server that you want the bee to subscribe to attack.
The amount of bullets (stingers, a.k.a. stream connections) for the bee to have in the attack
The 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.
$ java -jar rtmpbee.jar "http://xxx.xxx.xxx.xxx:5080/streammanager/api/3.1/event/live/mystream?action=subscribe" 1935 100 60
This will run an attack with 100
stingers (a.k.a, subscription streams) for 60
seconds each, consuming the mystream
stream at the Edge server address returned from the Stream Manager API call to http://xxx.xxx.xxx.xxx:5080/streammanager/api/3.1/event/live/mystream?action=subscribe
.
For the Stream Manager example, it is important to note that the insecure IP address is required. If you are serving your Stream Manager over SSL, the RTMP bee cannot properly use its API due to security restrictions. It is possible to resolve these security issues in the future, if you download and store the cert in your Java install, https://stackoverflow.com/questions/21076179/pkix-path-building-failed-and-unable-to-find-valid-certification-path-to-requ.