Skip to content

Releases: glitchedgitz/grroxy

v2026.4.3

22 Apr 04:46
70d5dfe

Choose a tag to compare

fix: ai-sdk error

v2026.4.2

07 Apr 17:01

Choose a tag to compare

fix: proxy tab reactivity issues

v2026.4.1 - Grroxy Actions

05 Apr 01:12

Choose a tag to compare

Added Grroxy Action - similar to github acitons.

Added

  • Template Actions Engine — Hook-based automation on proxy traffic. Templates run on before_request, request, response hooks. Each template has tasks with conditions (dadql) and actions.
  • Actions: set, delete, replace (string/regex), create_label, send_request
  • _templates collection — DB-backed template storage on launcher with migration + default seed
  • Default templatesextensions, mime, paths, proxy-configs embedded via //go:embed, seeded on first migration
  • 3-level enable/disable — Global (_configs), per-project (_projects.data), per-proxy (_proxies.data.run_templates). New projects and proxies default to enabled.
  • Live reload — Launcher watches _templates for changes, notifies running grroxy-app instances via POST /api/templates/reload
  • /api/templates/check — Validate template YAML (hooks, actions, required keys) before saving
  • /api/templates/info — Returns all available hooks, actions, keys, descriptions, and full syntax reference
  • /api/project/delete — Delete a project, its DB record, and project folder
  • /api/request/modify — Apply template actions to raw HTTP request strings (set, delete, replace)
  • MCP template toolstemplateList, templateRead, templateGetInfo, templateCreate, templateUpdate for AI agents (Claude Code, MCP clients)
  • Frontend AI toolstemplateGetInfo, templateList, templateRead, templateCreate, templateUpdate, templateDelete, templateCheck in AI SDK
  • Template syntax reference — Full reference in grx/templates/reference.go, served via /api/templates/info for AI agents
  • Settings UI — Global and per-project template toggles in settings, per-proxy toggle in proxy toolbar
  • Frontend — DB-backed template list with PocketBase subscription, editor with task disable toggles
  • Proxy auto-color — New proxies get a color from the palette automatically. Migration assigns colors to existing proxies with empty color.
  • Frontend: send_request UI — Template editor now supports send_request action with method, headers, and body fields
  • Frontend: delete action UI — Template editor now supports delete action (reuses set UI)
  • Frontend: ColorDialog component — Shared color picker used in both proxy manager and template label editor
  • Frontend: Editable author — Template author is now inline-editable (same as title/description)
  • Frontend: Sidebar template status — Disabled templates show dimmed icon in sidebar
  • E2E test scripttests/e2e_test.sh — full integration test: project creation, template CRUD, proxy traffic, label verification, send_request, toggles, restart persistence (20 tests)
  • Cleanup scripttests/cleanup.sh — removes test templates and projects

Fixed

  • Header matching in modify.goRequestUpdateKey and RequestDeleteKey now use strings.TrimRight(h[0], ": ") to handle both "Header:" and "Header: " formats from rawhttp parser
  • PocketBase JSON field parsing in launcher hooksforEachRunningProject now handles types.JsonRaw, string, and map[string]any for the data field instead of silently skipping all projects
  • Project data preserved on restartResetProjectStates, setProjectStateClose, and OpenProject now merge into existing data field instead of overwriting (preserves templatesEnabled)
  • New projects default to templatesEnabled: trueCreateNewProject sets it in the initial data
  • New proxies default to run_templates: truestartProxyLogic sets it in proxy data and on the live instance
  • send_request action — Fixed: strips http:///https:// from host, fetches raw request from _req DB record, normalizes \r\n line endings, fixes Host header for direct replay, sets Url field so host shows in DB

Known Issues

  • Race condition on Templates.Templates map (concurrent read/write from proxy goroutines and reload handlers) — needs sync.RWMutex
  • TemplatesEnabled and RunTemplates bools need atomic.Bool for concurrent access
  • Content-Length header not updated when body changes via set action

v2026.3.9

16 Mar 20:38

Choose a tag to compare

  • Using single frontend for electron and binary.
  • Apple Developer Signed Binaries
  • ZoomSlider, App loading improvements and other misc fixes

[v2026.3.8] Proxy & Intercepting MCP Tools and UX Updates 🚀

15 Mar 14:11

Choose a tag to compare

Thanks to @Behi_Sec and @Sharo_k_h for suggesting UX improvements and reporting bug.

Includes v0.28.0 and v0.27.1

v0.28.0 - Frontend Updates

  • Frontend: Convert to POST / GET — Convert requests between POST and GET, moving params between body and query string. @Behi_Sec
  • Frontend: Duplicate tab — Duplicate the active data tab including all persisted filters. @Behi_Sec
  • Frontend: Decoder panel stay minimized — Decoder panel stays minimized after user manually minimize it. @Behi_Sec
  • Frontend: Toggle sidebar — Show/hide the sidebar. @Behi_Sec
  • Frontend: Custom tab names — Ability to name tabs. @Behi_Sec
  • Frontend: Open in new tab — Open a request in a new tab from proxy or data tabs. @Behi_Sec
  • Frontend: Auto-remove headers — Filter to auto-hide unnecessary headers. @Behi_Sec
  • Frontend: Search bar — Unified search icon for general search in Data tab. @Behi_Sec
  • Frontend: New request popup — A button to create a new request.
  • Frontend: Send request shortcut — Shortcut to send the request
  • Intercepted landing page — Browser now opens a custom intercepted.html page (served via file://) instead of grroxy.com. So we don't capture unwanted traffic.
  • /api/request/parse endpoint — Parse raw HTTP request/response into structured breakdown (method, path, query, headers, body). Uses existing rawhttp.ParseRequest and rawhttp.ParseResponse.
  • Frontend: Filter AddNew and Edit Popup — Add, edit filters from UI.
  • Frontend: Proxy page — Improved UI
  • Frontend: Cmd+Enter to send — Keyboard shortcut to send requests.

Fixed

  • Proxy Timeout — There waas a 60sec timeout for intercepting the request. @Sharo_k_h
  • Proxy Pastebin — Proxy pastebin was not working. @Sharo_k_h
  • Frontend: Repeater sort — Fixed repeater index sorting bug. @Sharo_k_h
  • Frontend: Proxy pastebin — Fixed proxy pastebin not working. @Sharo_k_h
  • Frontend: Long filter view — Fixed broken view when filter is long. @Behi_Sec
  • Frontend: Title bar tooltips — Tooltips in title bar were positioned at top-left corner.
  • Intercept counter not updating on toggle off — Per-proxy intercept counter now resets to 0 immediately when intercept is disabled.

[2026-MAR] - v0.27.1 - MCP Fixes, Proxy Endpoints & HTTP/2 Parsing

Added

  • Proxy HTTP endpoints/api/proxy/typetext, /api/proxy/waitforselector, /api/proxy/evaluate for browser automation via API.
  • MCP toolslistHosts, getHostInfo, getNoteForHost, setNoteForHost, modifyHostLabels, modifyHostNotes, interceptToggle, interceptPrintRowsInDetails, interceptGetRawRequestAndResponse, interceptAction, proxyList, proxyStart, proxyStop, proxyScreenshot, proxyClick, proxyElements, proxyType, proxyEval, proxyWaitForSelector, proxyListTabs, proxyOpenTab, proxyNavigateTab, proxyActivateTab, proxyCloseTab, proxyReloadTab, proxyGoBack, proxyGoForward.
  • Frontend: AI toolsproxyTypeText, proxyWaitForSelector, proxyEvaluate tool definitions and handlers in AI tools panel.
  • Frontend: backend API methodsproxyTypeText, proxyWaitForSelector, proxyEvaluate in backend_app.ts.
  • Frontend: MCP tools sorted alphabetically in HudTerminal.
  • Frontend: CWD File Explorer — VSCode-style file/folder explorer for browsing, opening, and previewing files from the current working directory.
  • File watcherfsnotify-based file watcher for CWD explorer live updates.
  • Chrome GetElements improved — Added input/textarea/select to interactive element selectors; unique CSS selector paths using nth-of-type.

Changed

  • proxyStart MCP tool — Removed browser and http options; hardcoded to Chrome with auto-assigned HTTP port.

Fixed

  • MCP interceptToggle not interceptingdao.SaveRecord() doesn't trigger OnRecordAfterUpdateRequest hooks; now sets inst.Proxy.Intercept directly in memory.
  • Edited request parsing: HTTP/2 rejectedhttp.ReadRequest requires major.minor format; normalizes HTTP/2HTTP/2.0.
  • Edited request parsing: unexpected EOF — Detects linebreak style (\r\n vs \n) and ensures request ends with double linebreak.

[IMP] Mcp Support, Terminal, Claude Code and Dev UI [v2026.3.7] 🚀

10 Mar 15:55
fd09457

Choose a tag to compare

image

⚠️ Important Fix - Action Required

[BUG][FIXED] Electron left orphan processes on quit — Closing the app now kills the entire process group (grroxy, grroxy-app, grroxy-tool) instead of only the parent. Uses detached: true spawn + process.kill(-pid) for group termination.

Required Actions: Quit grroxy and run below command to kill the orphan processes

# mac/linux
pkill -f 'grroxy-(app|tool)'

# windows
taskkill /F /IM grroxy-app.exe & taskkill /F /IM grroxy-tool.exe

Added

MCP Server

  • Built-in MCP server using mcp-go with SSE transport for AI tool integration
  • Tools: version, getRequestResponseFromID, hostPrintSitemap, hostPrintRowsInDetails, sendRequest
  • Endpoints: /mcp/start, /mcp/stop, /mcp/health, /mcp/listtools, /mcp/sse, /mcp/message, /mcp/setup/claude
  • Claude Code integration — /mcp/setup/claude writes .mcp.json + CLAUDE.md automatically

Terminal

  • Xterm scrollback replay — reconnecting clients receive up to 256KB of buffered output on reload
  • Multi-client sessions — up to 10 concurrent WebSocket viewers per terminal session
  • Persistent PTY reader — single goroutine per session broadcasts to all clients

Other

  • Dev UI — SvelteKit app (grx/dev) for interactive API testing #36
  • Updated Electron build script (cmd/electron/build.sh, package.json)

Fixed

  • Proxy timeouts → 10 min — prevents connection failures when requests are held for manual review
  • Stale WebSocket cleanup — all clients closed when a terminal session ends, no more hanging goroutines
  • Scrollback buffer compaction — in-place copy() prevents unbounded array growth
  • Client cap per session — max 10 concurrent WebSocket connections to prevent resource exhaustion

v2026.3.6

07 Mar 13:26

Choose a tag to compare

fixed fuzzer and embeded cook in the electron binary

v2026.3.5

06 Mar 22:31

Choose a tag to compare

Desktop App

Fix error

06 Mar 06:03

Choose a tag to compare

 go install github.com/glitchedgitz/grroxy/cmd/grroxy@latest

go: github.com/glitchedgitz/grroxy/cmd/grroxy@latest (in github.com/glitchedgitz/grroxy@v0.26.1):
	The go.mod file for the module providing named packages contains one or
	more replace directives. It must not contain directives that would cause
	it to be interpreted differently than if it were the main module.

Releasing Grroxy - v2026.3.3 🚀

06 Mar 04:57
06ac56c

Choose a tag to compare

A cybersecurity toolkit blending manual testing with AI agents.

Website Discord

image

Check out!! https://grroxy.com/