yggvault ratatoskr-space connected via regular web
Color theme
also available via yggdrasil mesh http://[203:b338:2a84:a18f:986:47ae:1a4:d8d3]/pkg/burrowers-garble/v0.18.0
vault / burrowers-garble / v0.18.0

burrowers-garble @ v0.18.0

integrity

size
250.9 KiB
downloaded
last checked
overlays
go
detected
go module mvdan.cc/garble · go module zip unavailable: symlinks (1): "CLAUDE.md"
source https://github.com/burrowers/garble · available · github

release notes

This release adds support for Go 1.27 and drops support for Go 1.26.

Builds are now 10% to 15% faster, depending on the size of the build and the number of spare CPU cores, as the patched linker is now built in the background while packages are listed rather than right before linking.

Experimental control flow obfuscation via //garble:controlflow is now reproducible for a given -seed, and handles many more Go constructs: bound method values, generic conversions, types declared in block scopes, named map and string types, blank struct fields, and comma-ok receives in select. Ranging over a string now reports byte offsets as the key, as Go does.

-tiny now strips more identifying information from binaries: the text of fatal error messages routed through standard packages, and Linux runtime VMA labels. When linking externally, the native build ID added by the C toolchain is now stripped as well, except on macOS, where dyld requires it.

-tiny also no longer breaks runtime behavior which depends on function names, such as panicwrap's recoverable panics and the GC argument maps for reflect calls; the latter could affect memory safety in regular builds too.

The detection of types used with reflection now repeats until it settles, rather than stopping after a single pass, so reflection use which spreads over a long chain of calls is no longer missed.

A number of fixes are also included:

Consider becoming a sponsor if you benefit from the work that went into this release!

download

unix · zip
curl -fL -o v0.18.0.zip https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.zip
                    printf '%s  %s\n' '5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8' 'v0.18.0.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.zip"
$out = "v0.18.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.18.0.tar.gz https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.tar.gz
                    printf '%s  %s\n' 'f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708' 'v0.18.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.tar.gz"
$out = "v0.18.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v0.18.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.zip
                    printf '%s  %s\n' '5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8' 'v0.18.0.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.zip"
$out = "v0.18.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.18.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.tar.gz
                    printf '%s  %s\n' 'f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708' 'v0.18.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.tar.gz"
$out = "v0.18.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708") { throw "sha256 mismatch" }
artifact format size hashes
v0.18.0.zip zip 253.7 KiB
blake3-24 6e856c9add9666229187a00d708f6097c72b422dabc8ea38
sha256 5a675734509df320cf7c3c0b4de439698524d1dd3daabe720bdb9285b02fb9a8
sha1 dd236264ea36b01b0e9f53e5121cf7025fde6e11
v0.18.0.tar.gz tar.gz 199.1 KiB
blake3-24 86faf487fbf8cb2dfbf8a23ae67dafc6135d6120ab9be64f
sha256 f5ad4d012d8b9d08ae383ade19bbc8c7088b0c1f7d7de3810d3847c089b09708
sha1 863a0744132db428805a7313d3344fea78b931b0

install

bazel
http_archive(
    name = "burrowers-garble",
    urls = ["https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.tar.gz"],
    integrity = "sha256-9a1NAS2LnQiuODreGbvIxwiLDB99feOBDThHwImwlwg=",
    strip_prefix = "burrowers-garble-v0.18.0",
)
zig
.url = "https://ratatoskr.space/pkg/burrowers-garble/v0.18.0.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
    name = "burrowers-garble",
    urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.tar.gz"],
    integrity = "sha256-9a1NAS2LnQiuODreGbvIxwiLDB99feOBDThHwImwlwg=",
    strip_prefix = "burrowers-garble-v0.18.0",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/burrowers-garble/v0.18.0.tar.gz",
v0.17.0 →