| Age | Commit message (Collapse) | Author |
|
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
|
|
Any HTTP status code below 400 are still processable and not an error.
|
|
Most of the fixes related to naming variables with acronyms, for example
HTTP, JSON, URL, and so on.
|
|
|
|
|
|
While at it reformat all files using default prettier.
|
|
This is to minimize symlinks in the repository.
|
|
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.
|
|
The Attack and attack Cancel now call the HTTP endpoints.
|
|
If the address is using "https:" protocol, the WebSocket address will
use the "wss://" schema.
This changes require latest update on wui repository.
|
|
See https://kilabit.info/journal/2022/gpl for more information.
|
|
The NavLink struct now has field OpenInIFrame. If its true, the Href
will be opened inside an iframe in the same window, otherwise it
will opened in new tab.
|
|
Using Trunks.RegisterNavLink, one can register custom link into
left navigation menu.
|
|
Once the Attack button is clicked, the Target's attack options will
be stored to local storage. On the next refresh or opening the Trunks
web interface, the stored values will be loaded again.
|
|
When the attack finished, the WebSocket server will broadcast the
result to all clients as message "/_trunks/api/attack/result".
|
|
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.
|
|
Currently we are experimenting changing the layout for grouping input
fields from flat layout into fieldset, so user can see more separation
between each sub-section.
|
|
The WebSocket API replace the HTTP APIs for running and canceling
attack. Later, it will use to notify the result of attack.
|
|
When user click "Run" button on any HttpTarget or WebSocketTarget,
the application will store each dynamic values of input in Target's
Variables, HttpTarget/WebSocketTarget Headers and Parameters into local
storage.
By storing the dynamic values of form input, different users can have
their own dynamic values and automatically loaded when they re-open
the Trunks website again.
|
|
Also,
* allow auto scroll to the target top content when the Target menu
clicked
* fix header overflow on HTTP and WebSocket target
|
|
Previously, after clicking the "Run" button user need to inspect the
"Run output" to check if the request is success or fail.
This changes, display a notification everytime the "Run" finished.
It will display the notification as error or success based on the
HttpStatusCode inside the RunResponse
|
|
Previously, the web user interface is written in pure, single JavaScript
file. The LOC is short but its become hard to maintenance, especially
when there is a change in HTML layout or on the response format.
This changes rewrite the interface to use TypeScript in order to easily
maintenance. The generated JavaScript is loaded using module [1].
[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
|