Skip to main content

CryptNode 0.1.1

Managed multi-portal client for CryptPortal, with private FRP and stunnel executables.

Supported platforms

  • Windows x86-64 with a trusted machine-level Python 3.8 or newer.
  • Linux x86-64 with glibc 2.31 or newer and systemd; use a trusted virtual environment owned by the deployment user.
  • Other architectures and macOS are not supported by these wheels.

Install

Linux, inside the intended virtual environment:

python -m pip install cryptnode==0.1.1
python -m cryptnode --version

Windows, from an administrator terminal using the intended machine-level Python:

python -s -m pip install --no-user cryptnode==0.1.1
python -s -m pip check
python -s -c "import cryptnode.host"
python -m cryptnode --version

Windows SYSTEM scheduled tasks must be able to read and execute that Python installation, CryptNode and its complete dependency set. User AppData installations are unsuitable. Using -s prevents pip from treating dependencies installed only in the interactive user's site-packages as satisfied. The Python environment and package files must not be writable by untrusted users. A successful import is a prerequisite, not an end-to-end scheduled-task test.

Dependencies: cryptography==43.0.3; Python versions below 3.11 also require tomli==2.2.1. pip installs their declared dependencies automatically.

Deploy and connect

crnode deploy <absolute-runtime-directory>
crnode load <two-digit-node-id> <client-key-bundle.zip>
crnode list
crnode status <portal-name-or-id> --json

On Windows, load and commands that modify SYSTEM tasks require an administrator terminal. Linux commands request sudo as needed while retaining the selected virtual environment. Obtain a matching client bundle from your CryptPortal administrator; credentials and server configuration are not included in this distribution. Protect client bundles and private keys.

Changes and validation limits

0.1.1 adds Linux sudo/virtual-environment usability improvements, prompt idempotent start for already-running instances, concise Ctrl+C handling and a five-column Chinese list display. Initial load and runtime public TLS connections use private stunnel with CA/hostname checks, mutual TLS and per-handshake server-leaf certificate pin verification.

The accepted candidate reports 107 passed/11 skipped on Windows, 99 passed/19 skipped on Linux, 20 private mTLS tests and 32 handshake combinations across Ubuntu 20.04/22.04/24.04/26.04. These results do not imply all deployment scenarios passed. A Windows deployment failed when SYSTEM could not import a user-installed package, and subsequently when a globally installed package still depended on user-only cryptography. Successful retesting of that machine remains unconfirmed. Host stderr retention and clearer startup diagnostics remain improvement items.

This release packaging preserves every accepted CryptNode Python file and executable byte. It adds distribution materials and documentation; no runtime fix is claimed by the repackaging.

Third-party source and licenses

Each wheel contains complete stunnel 5.80 and OpenSSL 3.5.8 upstream source archives, the exact stunnel modification patch, build scripts and build matrix under cryptnode-0.1.1.dist-info/corresponding-source/. Extract the wheel as a ZIP to access them. Full licenses and notices are under cryptnode-0.1.1.dist-info/licenses/.

Apply the supplied patch to the supplied stunnel source using the supplied platform build script. The patch changes Profile working-directory handling on Windows and adds per-handshake leaf-certificate pin checks; these modifications are identified in the patch and build matrix. The same archive contains all corresponding OpenSSL source statically linked into the private TLS executable. Neither archive contains deployment credentials.

FRP is Apache-2.0; stunnel is GPL-2.0-or-later with its upstream OpenSSL linking exception; OpenSSL is Apache-2.0. These notices describe the respective third-party components, not a new license grant for unrelated CryptNode code. Windows compiler-runtime copyright notices and exceptions are included separately.

Release files for cryptnode 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for cryptnode 0.1.1
File Interpreter ABI Platform
cryptnode-0.1.1-2-py3-none-manylinux_2_31_x86_64.whl Python 3 none Linux glibc 2.31+ x86-64 Details
cryptnode-0.1.1-1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details

Total release size: 17.0 MB

Release files / cryptnode-0.1.1-2-py3-none-manylinux_2_31_x86_64.whl

Download URL cryptnode-0.1.1-2-py3-none-manylinux_2_31_x86_64.whl
Size 8.5 MB
Tags Linux glibc 2.31+ x86-64 Python 3
SHA-256 checksum
How to use checksums
5ae6b622854037d1d5d89cb1decb0601ff1c1b49fb41a2657cd1fcf691bdffa8
BLAKE2b-256 checksum
How to use checksums
172416d0d236ce79390dabe8926c63b89ded7365ccfc8ec9cc9b31c62dbeb18b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release files / cryptnode-0.1.1-1-py3-none-win_amd64.whl

Download URL cryptnode-0.1.1-1-py3-none-win_amd64.whl
Size 8.5 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
fd48aace4d9194b13c98fa3dfdc7e6b0120c0e944fba8cced19cacfe330c9130
BLAKE2b-256 checksum
How to use checksums
388d75912746c3715cb082ac464c378cc588c6b84e34a1935d592f0431ea8eb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page