100 Commits
Author SHA1 Message Date
aykhans 492c3f1449 Merge pull request #223 from aykhans/ci/auto-update-vendorhash
ci(nix): recover a stale vendorHash automatically
2026-08-25 14:26:59 +04:00
aykhans d03d34576e ci(nix): recover a stale vendorHash automatically 2026-08-25 14:24:23 +04:00
aykhans 8beff615bb Merge pull request #221 from aykhans/dependabot/go_modules/charm.land/bubbles/v2-2.2.0
build(deps): bump charm.land/bubbles/v2 from 2.1.1 to 2.2.0
2026-08-25 10:43:40 +04:00
aykhans a85c82e751 fix(nix): update vendorHash for bubbles 2.2.0 2026-08-25 10:28:29 +04:00
aykhans 8078b2c1fe Merge pull request #220 from aykhans/dependabot/go_modules/charm.land/bubbletea/v2-2.0.9
build(deps): bump charm.land/bubbletea/v2 from 2.0.8 to 2.0.9
2026-08-24 16:07:49 +04:00
aykhans 3c4f449c97 fix(nix): update vendorHash for bubbletea 2.0.9 2026-08-24 15:46:34 +04:00
aykhans 77e8bc1eb8 Merge pull request #219 from aykhans/dependabot/go_modules/github.com/brianvoe/gofakeit/v7-7.16.0
build(deps): bump github.com/brianvoe/gofakeit/v7 from 7.15.0 to 7.16.0
2026-08-24 15:21:40 +04:00
aykhans a81d95ef6d fix(nix): update vendorHash for gofakeit 7.16.0 2026-08-24 15:20:10 +04:00
aykhans f42c4c70bf Merge pull request #218 from aykhans/ci/verify-package-version
ci: gate releases on the nix/package.nix version, bump to 1.4.2
2026-08-18 13:06:58 +04:00
aykhans f3f25e3ba1 chore: bump package version to 1.4.2 2026-08-18 13:03:22 +04:00
aykhans 8121d75a2c ci: verify nix/package.nix version matches the release tag 2026-08-18 13:03:07 +04:00
aykhans 3867140704 Merge pull request #217 from aykhans/chore/update-deps
chore: migrate to Charm v2 and update dependencies
2026-08-18 12:42:46 +04:00
aykhans 740b6f6bbb docs: update README 2026-08-17 21:16:40 +04:00
aykhans 88180ae288 ci: add nix build workflow and gate releases on it 2026-08-17 21:13:00 +04:00
aykhans 0314ea4f3e docs: update README 2026-08-17 20:56:46 +04:00
aykhans 9602595216 perf: batch TUI log forwarding on a 250ms tick instead of one repaint per line 2026-08-17 20:46:33 +04:00
aykhans c195ca2ab2 refactor: print stderr via fmt.Fprint with lipgloss.Sprintln instead of lipgloss.Fprintln 2026-08-17 20:11:47 +04:00
aykhans e13eb9b8a8 fix: treat zero-sized ptys as non-interactive 2026-08-17 19:11:55 +04:00
aykhans d68c557dd3 fix: restore pre-v2 progress bar fill and viewport scroll behavior 2026-08-17 18:57:33 +04:00
aykhans d08b6dc222 refactor: migrate Charm libraries to v2
Import paths moved to charm.land/*/v2 and the v1 paths no longer resolve.
Ports View() -> tea.View, AltScreen/MouseMode to View fields, KeyPressMsg,
and the new progress/viewport constructors. Styled output outside Bubble
Tea switched to lipgloss.Print* because v2 downsamples colour at the output
layer. vendorHash refreshed.
2026-08-17 17:21:13 +04:00
aykhans 8552aab3b1 chore(deps): update goja and indirect deps, refresh nix vendorHash 2026-08-17 13:12:39 +04:00
aykhans 79143beec9 Merge pull request #216 from aykhans/dependabot/go_modules/golang.org/x/net-0.58.0
build(deps): bump golang.org/x/net from 0.57.0 to 0.58.0
2026-08-17 12:02:46 +04:00
aykhans a3434b096a Merge pull request #215 from aykhans/perf/remove-hot-path-contention
perf
2026-08-13 12:29:54 +04:00
aykhans e83e9346a3 perf: drop redundant resp.Reset in worker loops
fasthttp resets the response at the top of every HostClient.Do, so
resetting it in the worker loop only repeats that work once per request.
2026-08-10 00:10:27 +04:00
aykhans 01b5233167 perf: replace status code string map with an indexed table 2026-08-10 00:01:16 +04:00
aykhans e93b729145 Merge pull request #214 from aykhans/fix/nix-vendor-hash
nix: update vendorHash
2026-08-02 23:35:34 +04:00
aykhans 372d228bb1 nix: update vendorHash 2026-08-02 23:35:12 +04:00
aykhans 52a6e78e0c Merge pull request #213 from aykhans/perf/reduce-per-request-overhead
perf: reduce per-request overhead in the load generator
2026-08-02 22:39:48 +04:00
aykhans b22e3a0d25 nix: bump package version to 1.4.1 2026-08-02 22:37:56 +04:00
aykhans 4b52556b30 update README.md 2026-08-02 22:29:59 +04:00
aykhans 755545d838 perf: cut per-request allocations in the request generator
- Reuse value slices in place instead of clear()+realloc when a map's
  key set is static (skipped when scripts may mutate the maps).
- Use SetBodyString to drop the []byte(Body) copy, build the Cookie
  header with a strings.Builder, and skip QueryArgs when no params.
- Cache the values map when all values are literal, and share one empty
  map when none are configured.
- Reuse a single bytes.Buffer across template renders per worker.
2026-08-02 20:11:56 +04:00
aykhans dc2cd6cf63 Merge pull request #211 from aykhans/dependabot/go_modules/github.com/valyala/fasthttp-1.73.0
build(deps): bump github.com/valyala/fasthttp from 1.72.0 to 1.73.0
2026-07-28 13:34:06 +04:00
aykhans 0fe0587823 Merge pull request #210 from aykhans/feat/nix-flake-packaging
Add nix flake packaging
2026-07-26 23:29:39 +04:00
aykhans 5b301c42a9 docs: unpin nix install commands in README 2026-07-26 23:26:19 +04:00
aykhans d35295c1d9 chore: bump go to 1.26.5 and update dependencies 2026-07-26 23:21:33 +04:00
aykhans a13d9d11f7 feat: add nix flake packaging 2026-07-26 22:55:24 +04:00
aykhans 3393f9e767 Merge pull request #209 from aykhans/docs/update-readme-badges
docs: update README badges
2026-07-24 00:22:47 +04:00
aykhans 2144f8e67d docs: update README badges 2026-07-24 00:21:48 +04:00
aykhans 9d1a73dd43 Merge pull request #207 from aykhans/feat/runtime-logging
feat(logging): add runtime log levels, response logging, and progress/log-file controls
2026-07-23 15:46:02 +04:00
aykhans f4d13d83aa fix(logging): match log levels case-sensitively 2026-07-23 00:15:21 +04:00
aykhans 07e9287c39 docs: document logging and progress config, drop quiet 2026-07-22 23:55:50 +04:00
aykhans 80a8ba1d59 feat(logging): add runtime log levels, response logging, and progress/log-file controls
- --log-level (comma-separated string: info, error): pick which logs are emitted;
  the level set is resolved once, up front
- Log responses at the info level: full self-contained JSON to a file or stderr,
  a compact "status duration | body" summary in the TUI log box
- Route logs independently of the progress display: the TUI log box when it runs,
  stderr when piped, or a file via --log-file/-w (parent dir validated up front)
- Replace --quiet with --progress (bar | none, default bar): progress and logs are
  now independent — progress=none still shows the log box; quiet == progress=none
  with an empty log level
- Rename the internal "message" concept to "log" (runtimeLog, runtimeLogger, ...)
2026-07-22 23:20:14 +04:00
aykhans 31af2d0d3c Merge pull request #206 from aykhans/dependabot/go_modules/golang.org/x/net-0.57.0
build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0
2026-07-09 10:39:21 +04:00
aykhans d7bc0706ca Merge pull request #205 from aykhans/dependabot/go_modules/github.com/valyala/fasthttp-1.72.0
build(deps): bump github.com/valyala/fasthttp from 1.71.0 to 1.72.0
2026-07-01 15:32:01 +04:00
aykhans a349ffd6dd Merge pull request #204 from aykhans/dependabot/go_modules/go.yaml.in/yaml/v4-4.0.0-rc.6
build(deps): bump go.yaml.in/yaml/v4 from 4.0.0-rc.5 to 4.0.0-rc.6
2026-06-22 12:08:01 +04:00
aykhans 99e442691d Merge pull request #203 from aykhans/dependabot/go_modules/golang.org/x/net-0.56.0
build(deps): bump golang.org/x/net from 0.55.0 to 0.56.0
2026-06-11 12:16:40 +04:00
aykhans dd23ea73fd Merge pull request #202 from aykhans/dependabot/go_modules/go.yaml.in/yaml/v4-4.0.0-rc.5
build(deps): bump go.yaml.in/yaml/v4 from 4.0.0-rc.4 to 4.0.0-rc.5
2026-06-10 11:38:33 +04:00
aykhans 7a75a4e096 Merge pull request #201 from aykhans/docs/fix-cycling-description
docs: fix multi-value cycling description for method, body, and proxy
2026-06-07 01:18:47 +04:00
aykhans ac6f1a1a65 docs: fix multi-value cycling description for method, body, and proxy 2026-06-07 01:18:24 +04:00
aykhans db19bee457 Merge pull request #200 from aykhans/chore/bump-deps
chore: bump Go to 1.26.4, update deps, add FreeBSD release binaries
2026-06-07 00:47:24 +04:00
aykhans 89c72e12e2 chore: bump Go to 1.26.4, update deps, add FreeBSD release binaries 2026-06-07 00:45:43 +04:00
aykhans 1c36e6fa70 Merge pull request #197 from aykhans/dependabot/go_modules/golang.org/x/net-0.55.0
build(deps): bump golang.org/x/net from 0.54.0 to 0.55.0
2026-05-25 10:50:47 +04:00
aykhans d23f1a7685 Merge pull request #196 from aykhans/chore/bump-deps
chore(deps): bump gofakeit v7.14.1 -> v7.15.0
2026-05-17 18:57:40 +04:00
aykhans 4ba612908c chore(deps): bump gofakeit v7.14.1 -> v7.15.0 2026-05-17 18:55:35 +04:00
aykhans f36d52a05d Merge pull request #195 from aykhans/dependabot/go_modules/golang.org/x/net-0.54.0
build(deps): bump golang.org/x/net from 0.53.0 to 0.54.0
2026-05-11 13:09:51 +04:00
aykhans a4b1c7c89c Merge pull request #192 from aykhans/chore/bump-versions
Bump versions
2026-05-09 17:38:42 +04:00
aykhans bdbf3b0b91 golangci-lint: v2.12.1 -> v2.12.2; go: 1.26.2 -> 1.26.3 2026-05-09 17:35:30 +04:00
aykhans 26f72a53f1 Merge pull request #194 from aykhans/main
main
2026-05-09 17:25:08 +04:00
aykhans b628a999f0 Merge pull request #193 from aykhans/dependabot/go_modules/github.com/valyala/fasthttp-1.71.0
build(deps): bump github.com/valyala/fasthttp from 1.70.0 to 1.71.0
2026-05-09 17:21:14 +04:00
aykhans edf82ec7c1 golangci-lint: v2.11.4 -> v2.12.1 2026-05-03 16:38:05 +04:00
aykhans f24aea819f Merge pull request #191 from aykhans/chore/bump-go
chore: bump Go version from 1.26.1 to 1.26.2
2026-04-18 06:28:46 +04:00
aykhans e0db4df17a chore: bump Go version from 1.26.1 to 1.26.2 2026-04-18 06:26:48 +04:00
aykhans 475dda98ff Merge pull request #190 from aykhans/refactor/file-splits-and-double-ctrlc
File splits and double ctrl+c
2026-04-17 16:29:39 +04:00
aykhans dcb0e3171f refactor: split sarin.go into runner.go and worker.go 2026-04-17 16:14:32 +04:00
aykhans 2eebac68c9 feat: add double Ctrl+C hard-kill and split TUI into tui.go
First signal cancels the main context; second releases the terminal
and exits 130, unblocking shutdown when captcha polls or user scripts
ignore context. Also moves the bubbletea models and streamProgress
out of sarin.go into a new tui.go.
2026-04-17 16:03:03 +04:00
aykhans e62fd33f9c Merge pull request #186 from aykhans/feat/captcha-template-funcs
feat: add captcha solving template funcs for 2Captcha, Anti-Captcha, and CapSolver
2026-04-15 18:42:47 +04:00
aykhans e9b9b8890c update docs 2026-04-15 18:42:06 +04:00
aykhans 8577c771e4 feat: add CaptchaDecodeError type and retry transient HTTP errors during captcha polling 2026-04-12 22:03:21 +04:00
aykhans c839b71c9e refactor: rename CaptchaTimeoutError to CaptchaPollTimeoutError and separate HTTP client timeout from poll timeout 2026-04-12 21:09:24 +04:00
aykhans cea692cf1b feat: add json_Object and json_Encode template funcs 2026-04-12 04:42:52 +04:00
aykhans 88f5171132 docs: update template function count to 340+ 2026-04-12 01:40:37 +04:00
aykhans 16b0081d3e docs: document captcha solving template functions in README and guides 2026-04-12 01:34:28 +04:00
aykhans 1bd58a02b7 refactor: tighten captcha poll loop and document solver funcs 2026-04-12 01:10:20 +04:00
aykhans 006029aad1 feat: add captcha solving template funcs for 2Captcha, Anti-Captcha, and CapSolver 2026-04-11 21:29:57 +04:00
aykhans 0e0ef72778 Merge pull request #185 from aykhans/dependabot/go_modules/golang.org/x/net-0.53.0
Bump golang.org/x/net from 0.52.0 to 0.53.0
2026-04-10 11:35:40 +04:00
aykhans cf3c8f4cde Merge pull request #184 from aykhans/dependabot/go_modules/github.com/valyala/fasthttp-1.70.0
Bump github.com/valyala/fasthttp from 1.69.0 to 1.70.0
2026-04-08 18:29:45 +04:00
aykhans 14280f4e43 Merge pull request #183 from aykhans/dependabot/go_modules/github.com/yuin/gopher-lua-1.1.2
Bump github.com/yuin/gopher-lua from 1.1.1 to 1.1.2
2026-04-02 15:14:30 +04:00
aykhans 88d6a0132e Merge pull request #182 from aykhans/chore/bump-dependencies
chore: bump dependencies and golangci-lint version
2026-03-29 19:16:01 +04:00
aykhans e33c549f6d ci: bump golangci-lint from v2.11.2 to v2.11.4 2026-03-29 19:13:23 +04:00
aykhans 4a4feb4570 chore: bump dependencies and golangci-lint version 2026-03-29 19:09:46 +04:00
aykhans 304fb160f8 Merge pull request #181 from aykhans/perf/reduce-request-memory
perf: reduce memory allocations in request generator
2026-03-22 22:28:32 +04:00
aykhans 44c35e6681 perf: reduce memory allocations in request generator 2026-03-22 22:26:03 +04:00
aykhans 9215fd8767 Merge pull request #179 from aykhans/dependabot/go_modules/golang.org/x/net-0.52.0
Bump golang.org/x/net from 0.51.0 to 0.52.0
2026-03-13 11:27:39 +04:00
aykhans 705f6263fe Merge pull request #177 from aykhans/chore/bump-go-lint-versions-fix-typos
chore: bump Go to 1.26.1 and golangci-lint to v2.11.2; fix typos and lint nolints
2026-03-10 02:37:14 +04:00
aykhans 9c5b998cda chore: remove Coinbase funding link from FUNDING.yml 2026-03-10 02:36:35 +04:00
aykhans 026d05f1bf chore: bump Go to 1.26.1 and golangci-lint to v2.11.2; fix typos and lint nolints 2026-03-10 02:32:40 +04:00
aykhans 844f139a10 Merge pull request #176 from aykhans/dependabot/go_modules/github.com/brianvoe/gofakeit/v7-7.14.1
Bump github.com/brianvoe/gofakeit/v7 from 7.14.0 to 7.14.1
2026-03-04 15:17:23 +04:00
aykhans c299fda79d Merge pull request #175 from aykhans/feat/template-time-crypto-file-read
feat(template): add time/crypto helpers and file_Read function; document new template funcs
2026-02-26 21:53:40 +04:00
aykhans 1f06b43b06 feat(template): add time/crypto helpers and file_Read function; document new template funcs 2026-02-26 21:50:36 +04:00
aykhans e031c8e7a5 Merge pull request #174 from aykhans/dependabot/go_modules/golang.org/x/net-0.51.0
Bump golang.org/x/net from 0.50.0 to 0.51.0
2026-02-26 12:50:22 +04:00
aykhans d197e90103 Merge pull request #172 from aykhans/refactor/minor-improvements
Rename Append to Merge, replace strings_Join with slice_Join, and auto-detect non-TTY output
2026-02-15 16:55:40 +04:00
aykhans ae054bb3d6 update docs 2026-02-15 16:52:52 +04:00
aykhans 61af28a3d3 Override Methods and Bodies instead of appending in Config.Merge 2026-02-15 16:27:36 +04:00
aykhans 665be5d98a update docs 2026-02-15 03:05:03 +04:00
aykhans d346067e8a Rename Append to Merge, replace strings_Join with slice_Join, and auto-detect non-TTY output
- Rename Append to Merge on Cookies, Headers, and Params types and simplify Parse to use direct append
- Replace strings_Join(sep, ...values) with slice_Join(slice, sep) for consistency with slice-based template functions
- Auto-enable quiet mode when stdout is not a terminal
- Remove ErrCLINoArgs check to allow running sarin without arguments
- Add -it flag to Docker examples in docs
2026-02-15 02:56:32 +04:00
aykhans a3e20cd3d3 Merge pull request #171 from aykhans/dependabot/go_modules/github.com/charmbracelet/bubbles-1.0.0
Bump github.com/charmbracelet/bubbles from 0.21.1 to 1.0.0
2026-02-15 00:23:51 +04:00
aykhans 6d921cf8e3 Merge pull request #170 from aykhans/dependabot/go_modules/golang.org/x/net-0.50.0
Bump golang.org/x/net from 0.49.0 to 0.50.0
2026-02-15 00:23:34 +04:00
aykhans b21d97192c Merge pull request #169 from aykhans/feat/add-scripting
Add scripting
2026-02-15 00:19:58 +04:00
aykhans f0606a0f82 Add Lua and JavaScript scripting documentation 2026-02-14 03:21:52 +04:00
aykhans 3be8ff218c Replace common.ToPtr with Go 1.26 builtin new and add go fix to CI 2026-02-13 18:56:10 +04:00