aboutsummaryrefslogtreecommitdiff
path: root/_www/interface.ts
AgeCommit message (Collapse)Author
2024-03-15all: update module pakakeh.go to the tipShulhan
On the "lib/http" we refactoring RequestMethod and RequestType type from int to string for readability, when the value is encoded, for example to JSON. So instead of 0, 1 or 2; it will print "GET", "CONNECT", or "HEAD".
2024-02-21all: add global HTTP headers for TargetShulhan
The Headers field on Target define the global headers that will be send along with all HTTPTarget or WebSocketTarget. The same header can also be defined on HTTPTarget that override the value of Target.
2024-02-08all: allow submit free form request body in HTTPTargetShulhan
In HTTPTarget the field RawBody can be filled by anything by user. Those field can be activated by setting WithRawBody. Implements: https://todo.sr.ht/~shulhan/gorankusu/3
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
2024-02-05all: implement form input fileShulhan
The FormInput now can be set to FormInputKindFile that will rendered as "<input type='file' ...>" on the web user interface. Once submitted, the file name, type, size, and lastModification will be stored under FormInput Filename, Filetype, Filesize, and Filemodms. Implements: https://todo.sr.ht/~shulhan/trunks/1
2024-01-25all: fix warnings recommended by linter reviveShulhan
Most of the fixes related to naming variables with acronyms, for example HTTP, JSON, URL, and so on.
2023-11-11_www: apply all eslint recommendationsShulhan
2023-11-11_www: update wui moduleShulhan
While at it reformat all files using default prettier.
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-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-21all: add option to open link inside an iframeShulhan
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.
2021-12-21all: add feature to register custom navigation linkShulhan
Using Trunks.RegisterNavLink, one can register custom link into left navigation menu.
2021-09-29all: implement WebSocket notification when attack finishedShulhan
When the attack finished, the WebSocket server will broadcast the result to all clients as message "/_trunks/api/attack/result".
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-09-19all: display notification on failed or success RunShulhan
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
2021-09-19all: add option to set description (Hint) on any inputs elementShulhan
This changes refactor the KeyValue from map[string]string into map[string]FormInput, where FormInput is a struct with Label, Hint, Kind, Value, Max, and Min. With the available of Hint field, the web user interface can render it as description of input. This changes also make all input hint to be displayed on the first render.
2021-09-18all: add "Hint" for Target, HTTP, and WebSocket TargetShulhan
The "Hint" provide a general description for Target, a single HttpTarget, and WebSocketTarget.
2021-09-18www: refactoring using TypeScript and wui libraryShulhan
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