webfren is a collection of tools helping developers create web applications much easier. All tools are available through webfren CLI.
✅ - Available 🔄 - In Development 📝 - Planned
- ✅ HTTP Load tester - tool allowing to make stress and load test of API endpoints
- ✅ Web Server - simulator of a real web server
- ✅ Load balancer - simulator of a load balancer
- 📝 Message Broker - simulator of a Message Broker
- 📝 Redis clone - clone of Redis
Install webfren globally:
$ npm i -g webfren
And it will be ready to use in your terminal!
$ webfren
_ __
__ _____| |__ / _|_ __ ___ _ __
\ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \
\ V V / __/ |_) | _| | | __/ | | |
\_/\_/ \___|_.__/|_| |_| \___|_| |_|
Usage: webfren [options] [command]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
http-load-test <url> <n> [method] [data] executes HTTP load test
load-balancer <port> <servers> runs load balancer and handles requests to multiple servers
web-server <port> <route> <contentFilePath> runs web server and hosts provided html content
help [command]
Executes HTTP load test on specified endpoint. You can also provide number of requests (n) that will be sent to your endpoint. This tool can help to check locally if our app can handle multiple concurrent requests. You can send GET, POST, PUT and DELETE requests.
Example
Command
$ webfren http-load-test https://example.com 100 POST '{"data": "hello"}'
Result
_ __
__ _____| |__ / _|_ __ ___ _ __
\ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \
\ V V / __/ |_) | _| | | __/ | | |
\_/\_/ \___|_.__/|_| |_| \___|_| |_|
Http Load Test is running...
Done!
Test stats:
Num. of success requests: 100
Num. of failed requests: 0
Avg. response time: 0.01 ms
Runs Load Balancer handling requests load to specified server addresses. This tool can help to check locally if our app will work correctly when load balancing mechanism will be introduced. Currently requests are sent ro randomly selected server.
Example
Command
$ webfren load-balancer 9000 "https://example.com|https://example.test.com"
Result on user request on http://127.0.0.1:9000:
_ __
__ _____| |__ / _|_ __ ___ _ __
\ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \
\ V V / __/ |_) | _| | | __/ | | |
\_/\_/ \___|_.__/|_| |_| \___|_| |_|
Load Balancer is running:
Port: 9000
Requests:
Path: / Redirected to: https://example.com/ Response: 200
Runs Web Server allowing you to host selected html content. This tool can help when you would like to check locally how your HTML web page will be displayed by web server.
Example
Content of used html file:
<h1>Hello</h1>
Command
$ webfren web-server 8000 /home home.html
Result on user request on http://127.0.0.1:8000/home:
_ __
__ _____| |__ / _|_ __ ___ _ __
\ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \
\ V V / __/ |_) | _| | | __/ | | |
\_/\_/ \___|_.__/|_| |_| \___|_| |_|
Web Server is running:
Port: 8000
Requests:
Path: /home Response: 200 -> home.html