Shrike 2.5.5-blake2b.7 - connecting to a node behind a TLS proxy
Pre-releaseShrike 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.