Skip to content

Releases: mdostal/coin-finder

v0.53.2

Choose a tag to compare

@mdostal mdostal released this 17 Aug 19:03
4d28237

Fixed

  • A broad bulk "Try unlock selected" or "Extract keys selected"
    selection could fail with "Request Entity Too Large."
    These actions
    were submitting one entry per selected finding, even when many
    findings share the same wallet file -- a large selection could submit
    the same wallet hundreds of times over. Both now send only the
    distinct wallets/keys involved, and the app's own request-size limit
    (meant for public servers, not a one-person local app) was raised as
    a backstop.
  • The same folder could end up being scanned by two jobs running at
    the same time
    -- most likely from clicking "Resume" on the
    interrupted-scan notice more than once. Starting a scan against a
    directory that's already being scanned now just takes you to that
    scan instead of starting a second, redundant one.

SHA-256: 8cfbaef4fbdfc25c7856916f0934d1db2b999d112d2fec34a39644bf14cded5a

v0.53.1

Choose a tag to compare

@mdostal mdostal released this 17 Aug 18:42
d89448f

Fixed

  • A large bulk selection on Findings ("Try unlock selected" or
    "Extract keys selected") could fail outright with a bare "414 URI Too
    Long" error page.
    Both actions were building the confirmation
    page's link out of one repeated entry per selected finding directly
    in the URL, which stops working somewhere in the low thousands of
    selections. They now send the same information in the request body
    instead, which has no comparable size limit -- selecting hundreds or
    thousands of findings at once now works the same way a small
    selection always did.

SHA-256: 865facab82e7fc06fe758e2611109463742bbed0fed8cec126d12661b728cf7e

v0.53.0

Choose a tag to compare

@mdostal mdostal released this 17 Aug 17:44
2559faf

Added

  • A new "Extract keys selected" bulk action on Findings. For every
    checked finding where a private key is known to be directly
    extractable (no password needed at all), you can now run the real
    extraction across all of them in one action instead of opening each
    one by hand. Results show up on a once-only page with each key masked
    behind its own reveal toggle -- nothing is ever shown all at once.
    Findings that get extracted this way are now clearly marked "key
    extracted" so you can tell them apart from ones that are extractable
    but haven't been pulled yet.

Fixed

  • The single-wallet "Extract key" result page was still showing the
    real private key in plaintext the moment it loaded
    -- a gap left
    over from earlier tonight's password-masking fix, which only covered
    the other two secret-display pages. It now matches them: masked by
    default, revealed only on click.

SHA-256: 08f0bb12f25e1c92c5ea15048e30a5aa4e6a36b86528aa9153ea3c17fdf6381c

v0.52.0

Choose a tag to compare

@mdostal mdostal released this 17 Aug 16:38
f670d88

Added

  • Findings now show what you actually have to unlock each wallet with,
    not just whether a balance was found.
    A password result page or a
    vault reveal used to print the real value in plaintext the instant the
    page loaded -- it now stays masked behind a click-to-reveal eye icon,
    right in place, no page navigation.
  • Every finding with a source file now shows whether it's already been
    tried.
    A small badge next to each finding says "unlocked," "tried,
    no match," or "not yet tried," pulled from your past unlock attempts --
    and after running a batch of unlock attempts, a persistent summary
    ("N unlocked, M no match") stays visible on the Findings page itself
    instead of only showing once and disappearing.
  • A new "Check credential status" action tells you, for Bitcoin wallet
    files specifically, whether a private key is directly extractable with
    no password at all, or the wallet is genuinely encrypted with no known
    password yet.
    This runs as a background check (never blocking page
    load) and is clearly marked as not-yet-checked/not-applicable for
    every other wallet format, so an unscanned wallet never looks
    indistinguishable from one that's genuinely a dead end.

SHA-256: bb27ef98dd83260276045aa9f2e4cf040269f49dac2cea820e8838c2349679d1

v0.51.3

Choose a tag to compare

@mdostal mdostal released this 17 Aug 15:25
627aa72

Fixed

  • Disconnecting a mounted cloud drive from the Cloud Mounts page could
    silently fail.
    macOS refuses a plain unmount on this kind of mount
    ("Resource busy") when nothing is actually reading from it -- the app
    now uses the correct disconnect command, so the app's own tracking of
    what's mounted stays in sync with reality instead of thinking a drive
    is disconnected when it's still fully live underneath.

SHA-256: 203a44797e898e756d48fa450a2d1ae25296abb891c6471e26136f4ea0a81a1f

v0.51.2

Choose a tag to compare

@mdostal mdostal released this 17 Aug 15:13
4c3f30b

Fixed

  • Google Drive scans over a large drive no longer crawl for 10+ hours
    with no visible progress.
    The Drive mount uses rclone under the
    hood, and its default listing concurrency (8 concurrent directory
    listings) was far too conservative for a real multi-terabyte drive --
    the mount itself was healthy the whole time (no errors, no dropped
    connection), it just had too little parallelism to get through a
    drive that size in a reasonable window. Listing concurrency is now
    tuned for this, and a handful of broken ("dangling") shortcuts on real
    Drive accounts no longer get needlessly re-resolved (and logged) every
    few minutes.

SHA-256: 9427fb2a8367a331e2634aa75890a467c23d1441610344b452bcb6ea071095e6

v0.51.1

Choose a tag to compare

@mdostal mdostal released this 17 Aug 14:52
ccc97fe

Fixed

  • Garbage text that merely looked like an address no longer gets
    scanned as a candidate wallet.
    The address patterns used to find
    crypto addresses in files and Gmail messages were pure shape matches,
    with no check that a match was actually a valid address -- so
    random text that happened to fit a pattern's length and character set
    (for example, Rust-mangled program-internals strings found inside a
    prior scan's own output file) could get recorded as a candidate
    Digibyte/Diamond Coin/etc. address, burn a real balance-check API call,
    and even get saved as a "finding" with a 0.0 balance. Matches are now
    double-checked against that coin's real, offline checksum before any
    of that happens, for every coin where such a checksum exists and can
    be verified without a network call: Bitcoin, Bitcoin Gold, Digibyte,
    Diamond Coin, Litecoin, Dogecoin, Zcash, Tether (both its Bitcoin- and
    Ethereum-style address forms), Ripple, Monero, Bitcoin Cash, Cardano,
    Cosmos, Helium, and OKCash. This applies everywhere addresses get
    pulled out of scanned files and out of Gmail message bodies.
    Documented limitation: Ethereum, Ethereum Classic, and Shiba Inu
    addresses (their checksum is optional and routinely omitted by real
    wallets), IOTA addresses (its real checksum isn't even captured by the
    current pattern), and Binance Coin addresses (its checksum format
    isn't supported by this project's tooling yet) are not covered by
    this fix -- garbage matching those coins' shapes can still slip
    through, same as before.

SHA-256: 862c2510ab3f087885915e75d5d904d21bc156d997a53bb8f8710268de7e5940

v0.51.0

Choose a tag to compare

@mdostal mdostal released this 17 Aug 14:15
3f3a8da

Added

  • Findings page rebuilt around real coin icons and an unmistakable
    confirmed-find treatment.
    Coin tabs down the side now show each
    chain's actual icon instead of a plain label, plus a coin filter and
    live search across all results. Any wallet with a non-zero balance now
    gets a wax-seal "CONFIRMED FIND" badge -- impossible to scroll past
    without noticing, unlike the old plain-text balance row.
  • Chain of custody -- full source path, collapsed by default. The
    truncated, easy-to-misread source path on each finding is now a
    collapsible tree (using └─ connectors) showing the complete path a
    wallet file was recovered through -- drive, mount, folder, archive --
    expand only when you actually need to verify provenance.
  • Settings page with 3 swappable color themes. New /settings page
    with three named palettes -- archival, graphite, terminal -- each with
    its own full light and dark token set. The existing dark/light toggle
    moved here and still works underneath whichever palette is active.
    Choice is saved locally and applied across every page immediately.
  • Bulk actions now work for every coin, not just Bitcoin. "Watch
    selected" and "Try unlock selected" on the Findings page used to only
    operate on Bitcoin rows -- both now work across the full multi-select
    regardless of coin. "Watch selected" takes one shared optional note
    for the whole batch; "Try unlock selected" reuses the existing
    wallet-paths-scoped auto-unlock job against every selected wallet at
    once instead of one at a time.

SHA-256: c7406b6ad3f04bf3522fcb88a15336632aec09ea4493b54a8e3366697da04be0

v0.50.0

Choose a tag to compare

@mdostal mdostal released this 16 Aug 22:53

Added

  • Live progress for every scan stage. Searching, analyzing, hidden-volume detection, and the Google Drive adapter's listing/downloading all used to run silently. Every stage now reports real, live progress to the same progress bar balance checks already had -- indeterminate stages get an animated bar instead of a stuck 0%.

SHA-256: 11d2fbf386cd7501ecd4c4826d304305e612ef368fb84e4100712c78e6163dd1

v0.49.1

Choose a tag to compare

@mdostal mdostal released this 16 Aug 22:38

Changed

  • Balance checks are faster again. Raised per-coin concurrency from 5 to 15, based on a real live benchmark against blockstream.info (their actual limit is ~50 req/s) -- 15 more than doubles throughput over 5 with zero increase in errors.

SHA-256: 026c01527d3a1132cdcf4a4eaed7f46139f8778bfe988199931c91632b4e9002