v0.5.0
- Add a
selectors:
feature to only enable routes based on criterias of the request, like ip address or certain headers - Add features to do partial collisions of git hashes. It uses a multi-threaded bruteforce on a commit header that isn't visibile when using
git show
. To take a commit from a repository, bruteforce a collision and write the new objects back into the repository usegit cat-file commit HEAD | sh4d0wup tamper git-commit --stdin --collision-prefix dead --strip-header | git hash-object --stdin -t commit -w
. The output is a commit hash, to create a new branch namednew-main
on that commit usegit branch new-main dead...
. It can also be used in a plot, seecontrib/plot-git.yaml
. - Add
sh4d0wup req
command to emulate http requests, this allows debugging a plot configuration from the cli without starting the server.-r
can be used to show the whole response,-c
can be used to show only the content to stdout,-cC
to get the content as hexdump. When using-r
it also shows the http status and the response headers, but often there aren't any explicitly set so you would only see the http status line. - Add
-q
option to reduce the default log level fromINFO
toWARN
- The
path_template:
variable still has access tosha256
,sha1
andmd5
, but those are now calculated lazily on first use. This way we avoid calculating unused hashes during startup. - Allow static routes to reference multiple
artifacts:
and use the renderedpath_template:
as the key for a lookup table. Hopefully this performs well and scales to large number of objects, routing in sh4d0wup works by walking through a list, so it becomes slow if you add to many routes (like thousands or tens of thousands). This feature allows you to use a hashmap in one of the list items.
Thanks
We'd like to thank @SantiagoTorres, @repi and @rgacogne for their support on github sponsors.