aboutsummaryrefslogtreecommitdiff
path: root/environment.go
AgeCommit message (Collapse)Author
2026-02-04cmd/gorankusu: implement socket based activation with systemdHEADmaindevShulhan
The internal/cmd/gorankusu now can run using systemd.socket(5).
2024-02-21all: move reading GORANKUSU_DEV environment to [Environment.IsDevelopment]Shulhan
2024-02-21all: move constants declaration closer to its usageShulhan
2024-02-07all: rename the project to gorankusuShulhan
The original idea of "trunks" is because the core library that we use for load testing is named "vegeta" (from Dragon Ball) [1][2], and Vegeta has a son named Trunks. In English, trunks also have multiple meanings. In order to have a unique name, we rename the project to "gorankusu", which is a combination of "go" (the main programming language that built the application) and "torankusu" the Hepburn of "Trunks". [1]: https://github.com/tsenart/vegeta/ [2]: https://en.wikipedia.org/wiki/Vegeta Implements: https://todo.sr.ht/~shulhan/gorankusu/2
2023-05-16all: remove WebSocket serverShulhan
Using WebSocket for communication in client require additional setup, especially if its behind proxy. For example, if we server the trunks server under domain testing.local behind proxy, we need to setup route for the WebSocket too.
2022-08-21all: reformat with Go 1.19 gofmtShulhan
2022-03-14all: changes the license of trunks software to GPL 3.0 or laterShulhan
See https://kilabit.info/journal/2022/gpl for more information.
2021-12-10all: realign all structsShulhan
Changes, * AttackResult storage size decreased -24 bytes * Environment storage size decreased -32 bytes * HttpTarget storage size decreased -24 bytes * RunRequest storage size decreased -32 bytes * RunResponse storage size decreased -8 bytes * Target storage size decreased -16 bytes * WebSocketTarget storage size decreased -8 bytes
2021-09-28all: change the environment to set WebSocket port instead of addressShulhan
Setting the websocket listen address on environment require, re-parsing address port on the web side to connect to the server. In order to simplify creating connection on client, we set only the websocket port in the environment.
2021-09-27all: implement WebSocket APIShulhan
The WebSocket API replace the HTTP APIs for running and canceling attack. Later, it will use to notify the result of attack.
2021-03-21all: implement interface and API to cancel running attackShulhan
On the top of the page, it will display currently running attack with target name and HTTP target name. User can cancel the attack by clicking "Cancel" button on the right.
2021-03-21all: rename loadTestingResult to AttackResultShulhan
2021-03-21all: implement API and interface for attack functionalityShulhan
When the user click "Attack" it will call the API to run the load testing. If there is load testing currently, it will return with an error. On success, the result of load testing will be stored on directory defined in Environment.ResultsDir with file named <HttpTarget.ID>.<date_time>.<RPS>x<Duration>s.<ResultsSuffix>.bin This file contains the vegeta.Results.
2021-03-15trunks: a module for testing HTTP servicesShulhan
Trunks is a library and HTTP service that provide web user interface to test HTTP service, similar to Postman, and for load testing. For the load testing we use vegeta [1] as the backend. [1] https://github.com/tsenart/vegeta