Beta Downloads
Warning
The downloads on this page are not yet ready for general-purpose production use. We’d love to hear what works and what doesn’t (that’s why they’re posted here), but don’t use them in any situation where failure could result in consequences that you’re unwilling to accept. For example, don’t use them with wallets that contain coins or names that you aren’t willing to sacrifice to science.
The more people test these downloads, the faster they’ll be ready for release. However, there are no guarantees of when, or if, these downloads will be released in final form.
As usual, it is a good idea to verify the hashes and signatures of these downloads (especially the ones not hosted on namecoin.org). The more people reproduced the hashes, the better. If you’re paranoid, run them inside an isolated virtual machine.
Nightly builds are produced by infrastructure that is not under our direct control. As such, they should be treated with extra suspicion.
Namecoin Core
- Namecoin Core 0.15.99-name-tab-beta1 (GNU/Linux ARM 64-bit)
- Namecoin Core 0.15.99-name-tab-beta1 (GNU/Linux ARM 32-bit)
- Namecoin Core 0.15.99-name-tab-beta1 (GNU/Linux x86 64-bit)
- Namecoin Core 0.15.99-name-tab-beta1 (GNU/Linux x86 32-bit)
- Namecoin Core 0.15.99-name-tab-beta1 (Source code tarball)
- Namecoin Core Gitian signatures
- Namecoin Core source code
Things to Test
- Full flow for registering names.
- Full flow for updating and renewing names.
- State display in the names list.
- The above with mainnet, testnet, and regtest networks.
- The above with encrypted locked, encrypted unlocked, and unencrypted wallets.
Known Issues
- Windows builds not working (should be fixed in Beta 2)
- macOS builds not working (should be fixed in Beta 2)
ConsensusJ-Namecoin
ConsensusJ-Namecoin is a lightweight SPV client that acts as a drop-in replacement for Namecoin Core’s name lookup functionality (e.g. for browsing .bit
domains with ncdns). It synchronizes faster and uses less storage than Namecoin Core, but trusts Namecoin miners more than Namecoin Core does.
You need to have Java installed:
- If you’re using GNU/Linux, use your package manager.
- If you’re using Windows, download it from the Oracle website. Make sure you right-click the
.exe
installer, clickProperties
, and clickDigital Signatures
. It should be signed byOracle America, Inc.
If it is not, do not install it. - We’re not sure about macOS. If anyone can contribute instructions for macOS, let us know.
If you’re using Windows, you will need to install the Microsoft Visual C++ 2010 Redistributable Package.
- ConsensusJ-Namecoin v0.3.2.1 (cross-platform JAR)
- ConsensusJ-Namecoin v0.3.2.1 Signature (Release signed by Jeremy Rand)
- ConsensusJ-Namecoin source code (use the
consensusj-namecoin-0.3.2.1
branch) - libdohj source code
Preliminary ConsensusJ-Namecoin documentation is here.
Known Issues
- Relies on patches to ConsensusJ that are not yet upstreamed.
- Proxies are not yet supported.
- Build is not yet reproducible.
Electrum-NMC
Electrum-NMC is the Namecoin port of the lightweight Bitcoin wallet Electrum.
Electrum-NMC documentation is here.
-
Electrum-NMC v4.0.6 for GNU/Linux, Windows, and macOS (Python tar.xz, best compression) (Signature) -
Electrum-NMC v4.0.6 for GNU/Linux, Windows, and macOS (Python tar.gz, average compression) (Signature) -
Electrum-NMC v4.0.6 for GNU/Linux (x86_64 AppImage) (Signature) -
Electrum-NMC v4.0.6 for Windows (Standalone Executable) (Signature) -
Electrum-NMC v4.0.6 for Windows (Portable version) (Signature) -
Electrum-NMC v4.0.6 for Windows (Installer) (Signature) - Electrum-NMC v4.0.0b1 for macOS (DMG)
-
Electrum-NMC v4.0.0b1 for Android/Linux (64-bit ARM) (Signature) -
Electrum-NMC v4.0.0b1 for Android/Linux (32-bit ARM) (Signature) -
Electrum-NMC v4.0.6 source only (Python tar.xz, best compression) (Signature) -
Electrum-NMC v4.0.6 source only (Python tar.gz, average compression) (Signature) - Electrum-NMC source code
Known Issues
- AuxPoW support is still experimental.
- Hardware wallets other than Trezor and Safe-T mini are untested and probably don’t work.
- Name transactions are not yet supported for hardware wallets.
- The Android/Linux version doesn’t yet have most of the Namecoin-specific GUI features.
- macOS binaries are untested, unsigned, and are built on Cirrus infrastructure. The Python binaries should work on macOS.
- Build reproducibility is not yet tested.
ncdns
ncdns is software for accessing .bit
domain names. If you want to access .bit
domain names, ncdns is most likely what you want to install.
See the ncdns documentation.
The ncdns Windows installer also automatically installs and configures a Namecoin client (Namecoin Core, ConsensusJ-Namecoin, or Electrum-NMC) and Dnssec-Trigger/Unbound, and sets up TLS certificate validation in any supported web browsers that are installed (see documentation for a list of supported browsers). It’s basically all you need for browsing .bit
domain names.
Before running the ncdns Windows installer, you will need to install the following:
ncdns plain binaries are also available for most major operating systems. These are useful for advanced users or for users who are not on Windows. Using these will require setting up a Namecoin client (Namecoin Core, ConsensusJ-Namecoin, or Electrum-NMC) and a recursive DNS resolver (e.g. Unbound) separately; they can sometimes be used for TLS certificate validation, but additional setup is required.
- ncdns Nightly GNU/Linux (64-bit POWER BE) plain binaries
- ncdns Nightly GNU/Linux (64-bit POWER LE) plain binaries
- ncdns Nightly GNU/Linux (64-bit ARM) plain binaries
- ncdns Nightly GNU/Linux (32-bit ARM) plain binaries
- ncdns Nightly GNU/Linux (64-bit x86) plain binaries
- ncdns Nightly GNU/Linux (32-bit x86) plain binaries
- ncdns Nightly DragonFlyBSD (64-bit x86) plain binaries
- ncdns Nightly FreeBSD (32-bit ARM) plain binaries
- ncdns Nightly FreeBSD (64-bit x86) plain binaries
- ncdns Nightly FreeBSD (32-bit x86) plain binaries
- ncdns Nightly NetBSD (32-bit ARM) plain binaries
- ncdns Nightly NetBSD (64-bit x86) plain binaries
- ncdns Nightly NetBSD (32-bit x86) plain binaries
- ncdns Nightly OpenBSD (64-bit x86) plain binaries
- ncdns Nightly OpenBSD (32-bit x86) plain binaries
- ncdns Nightly Solaris (64-bit x86) plain binaries
- ncdns Nightly Windows (64-bit x86) installer
- ncdns Nightly Windows (64-bit x86) plain binaries
- ncdns Nightly Windows (32-bit x86) plain binaries
- ncdns Nightly macOS (64-bit x86) plain binaries
- ncdns Windows Installer Source Code
- ncdns rbm Build Harness Source Code
- ncdns Source Code
Known Issues
- Build is not yet reproducible.
generate_nmc_cert
generate_nmc_cert is a tool for generating TLS server certificates of the form expected by Namecoin. If you run a .bit
website, you should use generate_nmc_cert to create a TLS certificate for your website.
See the documentation on setting up TLS for name owners.
- generate_nmc_cert stable binaries are shipped with ncdns.
- generate_nmc_cert Nightly GNU/Linux (64-bit POWER BE) plain binaries
- generate_nmc_cert Nightly GNU/Linux (64-bit POWER LE) plain binaries
- generate_nmc_cert Nightly GNU/Linux (64-bit ARM) plain binaries
- generate_nmc_cert Nightly GNU/Linux (32-bit ARM) plain binaries
- generate_nmc_cert Nightly GNU/Linux (64-bit x86) plain binaries
- generate_nmc_cert Nightly GNU/Linux (32-bit x86) plain binaries
- generate_nmc_cert Nightly DragonFlyBSD (64-bit x86) plain binaries
- generate_nmc_cert Nightly FreeBSD (32-bit ARM) plain binaries
- generate_nmc_cert Nightly FreeBSD (64-bit x86) plain binaries
- generate_nmc_cert Nightly FreeBSD (32-bit x86) plain binaries
- generate_nmc_cert Nightly NetBSD (32-bit ARM) plain binaries
- generate_nmc_cert Nightly NetBSD (64-bit x86) plain binaries
- generate_nmc_cert Nightly NetBSD (32-bit x86) plain binaries
- generate_nmc_cert Nightly OpenBSD (64-bit x86) plain binaries
- generate_nmc_cert Nightly OpenBSD (32-bit x86) plain binaries
- generate_nmc_cert Nightly Solaris (64-bit x86) plain binaries
- generate_nmc_cert Nightly Windows (64-bit x86) plain binaries
- generate_nmc_cert Nightly Windows (32-bit x86) plain binaries
- generate_nmc_cert Nightly macOS (64-bit x86) plain binaries
- generate_nmc_cert Source Code
certinject
certinject is a tool for adding and manipulating certificates in the Windows CryptoAPI certificate store. Unlike the built-in Windows tool certutil
, certinject can easily set the EKU (extended key usage, AKA enhanced key usage) and NC (name constraints) properties on certificates, and does not require Administrator privileges.
- certinject stable binaries are shipped with ncdns.
- certinject Nightly GNU/Linux (64-bit POWER BE) plain binaries
- certinject Nightly GNU/Linux (64-bit POWER LE) plain binaries
- certinject Nightly GNU/Linux (64-bit ARM) plain binaries
- certinject Nightly GNU/Linux (32-bit ARM) plain binaries
- certinject Nightly GNU/Linux (64-bit x86) plain binaries
- certinject Nightly GNU/Linux (32-bit x86) plain binaries
- certinject Nightly DragonFlyBSD (64-bit x86) plain binaries
- certinject Nightly FreeBSD (32-bit ARM) plain binaries
- certinject Nightly FreeBSD (64-bit x86) plain binaries
- certinject Nightly FreeBSD (32-bit x86) plain binaries
- certinject Nightly NetBSD (32-bit ARM) plain binaries
- certinject Nightly NetBSD (64-bit x86) plain binaries
- certinject Nightly NetBSD (32-bit x86) plain binaries
- certinject Nightly OpenBSD (64-bit x86) plain binaries
- certinject Nightly OpenBSD (32-bit x86) plain binaries
- certinject Nightly Solaris (64-bit x86) plain binaries
- certinject Nightly Windows (64-bit x86) plain binaries
- certinject Nightly Windows (32-bit x86) plain binaries
- certinject Nightly macOS (64-bit x86) plain binaries
- certinject Source Code
Encaya
Encaya enables Namecoin TLS (positive overrides only) in applications that support AIA, such as Chromium. Encaya is also a dependency of ncp11 and the Chromium version of DNSSEC-HSTS.
- Encaya stable binaries are shipped with ncdns.
- Encaya Nightly GNU/Linux (64-bit POWER BE) plain binaries
- Encaya Nightly GNU/Linux (64-bit POWER LE) plain binaries
- Encaya Nightly GNU/Linux (64-bit ARM) plain binaries
- Encaya Nightly GNU/Linux (32-bit ARM) plain binaries
- Encaya Nightly GNU/Linux (64-bit x86) plain binaries
- Encaya Nightly GNU/Linux (32-bit x86) plain binaries
- Encaya Nightly DragonFlyBSD (64-bit x86) plain binaries
- Encaya Nightly FreeBSD (32-bit ARM) plain binaries
- Encaya Nightly FreeBSD (64-bit x86) plain binaries
- Encaya Nightly FreeBSD (32-bit x86) plain binaries
- Encaya Nightly NetBSD (32-bit ARM) plain binaries
- Encaya Nightly NetBSD (64-bit x86) plain binaries
- Encaya Nightly NetBSD (32-bit x86) plain binaries
- Encaya Nightly OpenBSD (64-bit x86) plain binaries
- Encaya Nightly OpenBSD (32-bit x86) plain binaries
- Encaya Nightly Solaris (64-bit x86) plain binaries
- Encaya Nightly Windows (64-bit x86) plain binaries
- Encaya Nightly Windows (32-bit x86) plain binaries
- Encaya Nightly macOS (64-bit x86) plain binaries
- Encaya Source Code
Known Issues
- Build is not yet reproducible.
cross_sign_name_constraint_tool
cross_sign_name_constraint_tool
applies a name constraint exclusion to a DER-encoded TLS trust anchor via cross-signing, without that trust anchor’s consent. The intended use case is to disallow a CA from issuing certificates for a domain name that it has no legitimate business issuing certificates for. For example:
- Disallowing a public CA from issuing certificates for the
.bit
TLD used by Namecoin. - Disallowing a public CA from issuing certificates for a TLD controlled by your corporate intranet.
- Disallowing your corporate intranet’s CA from issuing certificates for a TLD allocated by ICANN.
Namecoin users will probably want to use cross_sign_name_constraint_tool
to disallow any non-Namecoin CA’s that they have manually imported to their system from signing .bit
certificates. For CA’s that are on your system by default, you probably instead want tlsrestrict_nss_tool
(see below) or tlsrestrict_chromium_tool
(bundled with ncdns, see above).
- cross_sign_name_constraint_tool v0.0.3 binaries for GNU/Linux, DragonFlyBSD, FreeBSD, NetBSD, OpenBSD, Solaris, Windows, macOS (hosted by GitHub)
- cross_sign_name_constraint_tool Source Code at GitHub.
Known Issues
- Build is not yet reproducible.
DNSSEC-HSTS
DNSSEC-HSTS enforces TLS for Namecoin websites that support TLS, which protects against sslstrip attacks. Firefox users need both the WebExtensions Component and the Native Component. Chromium users need the WebExtensions component and certdehydrate-dane-rest-api (see above), but not the Native Component.
- DNSSEC-HSTS WebExtensions Component v0.0.2 for Firefox
- DNSSEC-HSTS WebExtensions Component v0.0.2 for Chromium/Chrome (Unpacked)
- DNSSEC-HSTS WebExtensions Component v0.0.2 for Chromium/Chrome (CRX)
- DNSSEC-HSTS Native Component v0.0.1 for GNU/Linux (64-bit x86)
- DNSSEC-HSTS Native Component v0.0.1 for GNU/Linux (32-bit x86)
- DNSSEC-HSTS Native Component v0.0.1 for Windows (64-bit x86)
- DNSSEC-HSTS Native Component v0.0.1 for Windows (32-bit x86)
- DNSSEC-HSTS Native Component v0.0.1 for macOS (64-bit x86)
- DNSSEC-HSTS v0.0.2 Signature (Release signed by Jeremy Rand)
- DNSSEC-HSTS rbm Build Harness Source Code
- DNSSEC-HSTS WebExtensions Component Source Code
- DNSSEC-HSTS Native Component Source Code
Known Issues
- Build is not yet reproducible.
ncp11
ncp11 enables Namecoin TLS in applications that support PKCS#11, such as Firefox and Tor Browser.
- ncp11 stable binaries are shipped with ncdns.
- ncp11 Nightly GNU/Linux (64-bit POWER LE) plain binaries
- ncp11 Nightly GNU/Linux (64-bit ARM) plain binaries
- ncp11 Nightly GNU/Linux (32-bit ARM) plain binaries
- ncp11 Nightly GNU/Linux (64-bit x86) plain binaries
- ncp11 Nightly GNU/Linux (32-bit x86) plain binaries
- ncp11 Nightly Windows (64-bit x86) plain binaries
- ncp11 Nightly Windows (32-bit x86) plain binaries
- ncp11 Nightly macOS (64-bit x86) plain binaries
- ncp11 Source Code
Known Issues
- Build is not yet reproducible.
pkcs11mod
pkcs11mod is a library for making PKCS#11 modules in Go. This download includes the pkcs11proxy and p11proxy modules.
- pkcs11mod Nightly GNU/Linux (64-bit POWER LE) plain binaries
- pkcs11mod Nightly GNU/Linux (64-bit ARM) plain binaries
- pkcs11mod Nightly GNU/Linux (32-bit ARM) plain binaries
- pkcs11mod Nightly GNU/Linux (64-bit x86) plain binaries
- pkcs11mod Nightly GNU/Linux (32-bit x86) plain binaries
- pkcs11mod Nightly Windows (64-bit x86) plain binaries
- pkcs11mod Nightly Windows (32-bit x86) plain binaries
- pkcs11mod Nightly macOS (64-bit x86) plain binaries
- pkcs11mod Source Code
tlsrestrict_nss_tool
tlsrestrict_nss_tool
applies a name constraint exclusion to an NSS sqlite database for all CKBI (built-in) TLS trust anchors, without those trust anchors’ consent. The intended use case is to disallow public CA’s from issuing certificates for TLD’s with unique regulatory or policy requirements, such as:
- The
.bit
TLD used by Namecoin. - A TLD controlled by your corporate intranet.
Namecoin users will probably want to use tlsrestrict_nss_tool
to disallow all CA’s that are on their system by default from signing .bit
certificates. For CA’s that you manually imported yourself, you probably instead want cross_sign_name_constraint_tool
(see above).
- tlsrestrict_nss_tool v0.0.4.2 binaries for GNU/Linux, DragonFlyBSD, FreeBSD, NetBSD, OpenBSD, Solaris, Windows, macOS (hosted by GitHub)
- tlsrestrict_nss_tool Source Code at GitHub.
Known Issues
tlsrestrict_nss_tool
will probably prevent HPKP from working as intended, unless HPKP is applied to user-defined trust anchors. Firefox is capable of doing this (though it’s not the default); Chromium is not (as far as we know).- Build is not yet reproducible.
dns-prop279
dns-prop279 enables Namecoin naming (or any other naming method that speaks the DNS protocol) to be used with Tor, via the draft Prop279 pluggable naming API. .bit
domains can point to IP addresses (A/AAAA records), DNS names (CNAME records), and onion services.
See the Namecoin Tor resolution documentation
- Binaries distributed with ncdns v0.0.8 plain binaries for GNU/Linux, DragonFlyBSD, FreeBSD, NetBSD, OpenBSD, Solaris, Windows, and macOS (hosted by GitHub).
- Source code at GitHub.
Known Issues
- Prop279 is still an early draft, and might change heavily. dns-prop279 will change accordingly.
tor
doesn’t implement Prop279 (see above point); the StemNS or TorNS shim is required if you want to use or test dns-prop279.- dns-prop279 doesn’t follow the current Namecoin Domain Names specification for onion service records (we might amend the specification to match dns-prop279’s behavior).
- dns-prop279 doesn’t properly return error codes; all errors will be treated as
NXDOMAIN
. - dns-prop279 hasn’t been carefully checked for proxy leaks.
- Using dns-prop279 will make you stand out from other Tor users.
- Stream isolation for streams opened by applications (e.g. Tor Browser) should work fine. However, stream isolation metadata won’t propagate to streams opened by the DNS server. That means you should only use
dns-prop279
with a DNS server that will not generate outgoing traffic when you query it. ncdns is probably fine as long as it’s using a full-block-receive Namecoin node such as Namecoin Core or ConsensusJ-Namecoin in leveldbtxcache mode. ncdns should not be used with headers-only name lookup clients such as Electrum-NMC. Unbound is also not a good idea. - Nothing in dns-prop279 prevents the configured DNS server from caching lookups. If lookups are cached, this could be used to fingerprint users. ncdns has caching enabled by default.
- DNSSEC support hasn’t been tested at all, and is probably totally unsafe right now. Only use dns-prop279 when you fully trust the configured DNS server and your network path to it.
- Build is not yet reproducible.
ncprop279
ncprop279 enables Namecoin naming (but not DNS naming) to be used with Tor, via the draft Prop279 pluggable naming API. ncprop279 is somewhat smaller and more efficient than dns-prop279. .bit
domains can point to IP addresses (A/AAAA records), DNS names (CNAME records), and onion services.
See the Namecoin Tor resolution documentation.
- ncprop279 stable binaries are shipped with ncdns.
- ncprop279 Source Code
Known Issues
- Prop279 is still an early draft, and might change heavily. ncprop279 will change accordingly.
tor
doesn’t implement Prop279 (see above point); the StemNS or TorNS shim is required if you want to use or test ncprop279.- ncprop279 doesn’t follow the current Namecoin Domain Names specification for onion service records (we might amend the specification to match ncprop279’s behavior).
- ncprop279 hasn’t been carefully checked for proxy leaks.
- Using ncprop279 will make you stand out from other Tor users.
- Stream isolation for streams opened by applications (e.g. Tor Browser) should work fine. However, stream isolation metadata will only propagate to streams opened by the Namecoin client if you’re running Tor 0.4.3.1-alpha or higher with a recent StemNS (TorNS hasn’t merged the needed changes yet). If you meet those requirements, then any Namecoin client is fine. If not, that means you should only use
ncprop279
with a Namecoin client that will not generate outgoing traffic when you query it. A full-block-receive Namecoin node such as Namecoin Core or ConsensusJ-Namecoin in leveldbtxcache mode is probably fine. A headers-only name lookup client such as Electrum-NMC should not be used without Tor 0.4.3.1-alpha or higher with a recent StemNS. - ncprop279 caches lookups. Isolation of the caching has the same dependencies as stream isolation. If you don’t have the needed Tor and StemNS version, ncprop279’s caching could be used to fingerprint you.
- Build is not yet reproducible.
StemNS
StemNS enables Prop279 pluggable naming in Tor. It is a dependency of ncprop279. StemNS is a lightweight, security-focused fork of meejah’s TorNS.
qlib
qlib is a memory-safe alternative to dig
. You can use qlib to debug DNS servers such as ncdns and Unbound. qlib is a library-friendly refactorization of Miek Gieben’s q
tool.
- qlib stable binaries are shipped with ncdns.
- qlib Source Code