A terminal-based HTTP client
go install github.com/nxdir-s/grl/cmd/grl@latestLaunch the TUI:
grlType a URL, press ctrl+s, and the response renders in the right panel
| Key | Action |
|---|---|
ctrl+s |
Send request |
esc |
Cycle focus between panels |
ctrl+w |
Save request to collection |
ctrl+o |
Open collection / history |
ctrl+x / ctrl+q |
Cycle between tabs |
ctrl+f |
Search response |
? |
Open help modal |
ctrl+c |
Quit |
gRL stores its state under ~/.config/grl/:
~/.config/grl/
├── collections/ # saved requests (one JSON file per collection)
├── environments/ # environment variable sets
├── history.json # request history (last 100 by default)
└── config.json # active env, default method, timeout, history limit
Export the following environment variables to enable OAuth2 authorized and authenticated requests
export CLIENT_ID=clientid
export CLIENT_SECRET=secret
export OAUTH_URL=https://example.com/oauth2/token
export OAUTH_SCOPES=resource_read,resource_write // optional
# build
go build -o grl cmd/grl/main.go
# run
go run cmd/grl/main.go
# test
./.github/unit_tests.sh
# vet
go vet ./...Issues and pull requests are welcome. For larger changes, please open an issue first to discuss the approach.
Licensed under the Apache License 2.0.