Skip to content

Shrike 2.5.5-blake2b.7 - connecting to a node behind a TLS proxy

Pre-release
Pre-release

Choose a tag to compare

@kwsantiago kwsantiago released this 31 Aug 01:24
· 37 commits to master since this release
v2.5.5-blake2b.7
e6bbb25

Shrike signing with the unified opt-in signature hash as Bitcoin Knots v29.4.1.knots20260508rc4 defines it, on upstream Sparrow 2.5.5.

Fixes connecting to a node behind a TLS terminating proxy, which covers most self hosted setups and failed with an unreadable error.

Fixed

An entered https scheme is kept. It was decided by the port, so anything but 443 became http, and a proxy answered a redirect the wallet could not follow. Connection failed whatever the credentials were.

A reply that is not JSON-RPC says so, naming the host, scheme and HTTP status, instead of Cannot invoke ErrorMessage.toString() because <parameter1> is null. A refused connection points at rpcallowip.

Both from upstream Sparrow 2.5.5.

The replay protection status refreshes when what decides it changes. Upgrading a node mid session left the send screen reporting a schedule disagreement that had already cleared, while the transaction it built was correctly opted in.

Offline, the wallet says the chain was not seen rather than that it did not activate. There is no tip to read, and those are different claims.

Verified

Reproducible: this commit built locally with Eclipse Temurin 25.0.2+10 produces an application tree byte-identical to CI's, covering the .tar.gz and .zip contents rather than the installers.

The request that produced the null pointer now returns did not return a JSON-RPC response to the http request (HTTP 307), against a live node behind a proxy.

Heights and the target shift are unchanged from 2.5.4-blake2b.6 and still match the rc4 tag. The signature hash message is unchanged from rc3, and the vectors in drongo and embit match it.

322 wallet and 601 drongo unit tests.

Downloads

Platform File
Windows Shrike-2.5.5.msi, or .zip for a portable copy
macOS Shrike-2.5.5-arm64-unsigned.dmg, or -x86_64-unsigned.dmg for Intel
Linux x86_64 shrike_2.5.5-1_amd64.deb, or -x86_64.tar.gz
Linux aarch64 shrike_2.5.5-1_arm64.deb, or -aarch64.tar.gz
Headless the shrikeserver-* files

The macOS builds are not code signed or notarized, so macOS will report the app as damaged or from an unidentified developer on first launch. That means it is unsigned, not that the download is bad:

xattr -dr com.apple.quarantine /Applications/Shrike.app

Verify SHA256SUMS before doing that. Clearing quarantine removes the check that would stop a tampered download.

The Windows installer is not Authenticode signed either, as upstream Sparrow's is not.

Installs to /opt/shrike, config in ~/.shrike, alongside an existing Sparrow. Reports its version as 2.5.5-blake2b.7.

gpg --import privkeyio-signing-key.asc
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS

Signed by Kyle Santiago kyle@privkey.io, key A47D99B6DB0D715D40C59A2023AE8A8EA7E24E38. All files come from one workflow run and one manifest.

Mainnet

Activation is at 961640, and the wallet opts in once the chain has reached it and the connected node agrees. A node reporting the rc3 schedule or none is a disagreement, and the wallet signs the legacy way instead. Upgrade the node first.

A signature that does not opt in is valid under the pre-fork rules as well as the new ones, so it can be replayed against nodes that have not adopted the fork.

No warranty

This is an unofficial, unaudited build provided as is, with no warranty and no liability, under the same Apache 2.0 terms as the LICENSE it inherits. It is not a Sparrow release and is neither affiliated with nor supported by Sparrow Wallet. Running it is entirely at your own risk, and you alone bear any loss of funds.

This is a fork built to exercise a consensus change. Do not point it at a wallet holding funds you cannot afford to lose.

Built from privkeyio/sparrow@e6bbb252 with privkeyio/drongo@634fdb67, on upstream Sparrow 2.5.5.