Rip
Rest in peace(s) - HTTP/UDP load testing tool
Install / Use
/learn @bjarneo/RipREADME
RIP
This is a HTTP load testing and UDP flood attack tool that run requests concurrently.
Note: I am using this project as a Go learning project. Refactors will most likely happen often.
Looking for new features? Create an issue.

Features
- HTTP load testing
- UDP flood attack
- Run requests concurrently
- Set an interval in seconds
- Continuous statistics output
- Log the requests to $HOME/rip.log
- Supports multiple hosts
- POST/PUT/PATCH HTTP requests
- HTTP JSON payload
- Custom HTTP headers
- Proxy HTTP requests
- Limit the requests per concurrent user
Coming
- UDP payload attachment
- Form data payload
- JSON output of the result
Usage
Install the binary (windows, osx, linux) from https://github.com/bjarneo/rip/releases, or go directly to the build the binary manually step.
#### Standard by using one host
rip -concurrent 100 -interval 10 https://your.domain.com
#### Multiple hosts
touch hosts.txt
# Add the content, important that each host is on a newline
http://localhost:5000
http://localhost:5000/dis-is-nice
http://localhost:5000/yas
# RIP
rip --interval=10 --hosts=hosts.txt
#### Using UDP flood attack
rip --interval=10 --concurrent=10 --udp --udp-bytes=4096 0.0.0.0:30000
#### Using a JSON payload for POST requests
rip --interval=10 --concurrent=10 --post --json=payload.json http://localhost:5000/login
#### Example using custom headers
touch headers.txt
# Add the content
X-Real-Ip: 192.168.0.1
Authorization: Basic aGV5OnlvdQo=
# RIP
rip --interval=10 --concurrent=10 --headers=headers.txt http://localhost:5000
The default values
Usage of RIP
--concurrent int
How many concurrent users to simulate (default 10)
--requests int
Max requests per concurrent user at a time (default 0 which means disabled)
--hosts string
A file of hosts. Each host should be on a new line. It will randomly choose a host. (default "")
--headers string
Path to the headers file (default "")
--interval int
How many seconds to run the test (default 60)
--json string
Path to the JSON payload file to be used for the HTTP requests (default "")
--logger bool
Log the requests to $HOME/rip.log (default false)
--patch bool
PATCH HTTP request (default false)
--post bool
POST HTTP request (default false)
--put bool
PUT HTTP request (default false)
--proxy string
The proxy URL to route the traffic (default "")
--udp bool
Run requests UDP flood attack and not http requests (default false)
--udp-bytes int
Set the x bytes for the UDP flood attack (default 2048)
Get it up and running [DEV]
# Install dependencies
go install
# By using the go binary directly
go run main.go
Build the binary manually
To use the bleeding edge codebase, this is the way.
# Build binary
go build
# Now it will be available as "rip"
rip http://localhost:1337
Troubleshooting
If you get this error message socket: too many open files, you might want to increase your ulimit to a higher number.
ulimit -n 12000
Disclaimer
Use this tool at your own risk. The owner of this repository is not responsible for its usage.
LICENSE
See LICENSE
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
342.0kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
