Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions COMMERCIAL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<p align="center">
<img src="https://github.com/user-attachments/assets/6ce54a27-8fb6-48e6-9d1f-da144f43425a"/>
</p>

<h3 align="center">cryptnox-cli</h3>
<p align="center">Commercial license</p>

<br/>
<br/>

# Commercial license

`cryptnox-cli` is distributed under a dual-licensing model:

- **GNU LGPLv3**
- **Commercial license**

The following sections define the applicable licensing conditions.

---

## When a commercial license is required

A commercial license is required in the following situations:

- When the SDK is used in a manner that does not comply with the terms of the LGPLv3
- When the SDK is bundled, embedded, or distributed in conditions that prevent users from replacing or updating the library
- When modifications to the SDK are made and the publisher does not wish to release these modifications as required under the LGPLv3
- When a proprietary licensing framework, commercial guarantees, or dedicated support are required

For standard Python usage through regular imports, the LGPLv3 terms generally permit integration into proprietary software, provided all conditions of the license are strictly met.

---

## Scope of the commercial license

The commercial license provides the following rights:

- Use of `cryptnox-cli` without any obligation imposed by the LGPLv3
- Distribution or embedding of the SDK under any technical, commercial, or contractual conditions
- Internal modification of the SDK without publication requirements
- Exemption from all obligations related to library replacement, user relinking, or source availability
- Access to optional contractual services such as support, maintenance, or warranties

---

## Use under LGPLv3

The SDK may be used under the LGPLv3 provided that:

- The terms of the LGPLv3 are fully respected
- The SDK remains a distinct and replaceable component within the application
- Copyright, notices, and license terms are preserved
- Modifications to the SDK itself are published in accordance with the license

These conditions apply to both open-source and proprietary software.

---

## Dual-licensing summary

| License type | Permitted use | Obligations |
|------------------------|-------------------------------------------------------------|----------------------------------------------|
| **LGPLv3** | Integration via standard Python imports, including proprietary software | Compliance with all LGPLv3 terms |
| **Commercial license** | Any use outside the scope of the LGPLv3 | No LGPL obligations |

---

## Obtaining a commercial license

For pricing, terms, or a commercial agreement, please contact: **contact@cryptnox.com**

Please include:

- Company name
- Project description
- Distribution model
- Estimated usage or volume (optional)

---

## Legal notice

Any use of the SDK outside the scope of the LGPLv3 requires a commercial license.
The commercial license provides an alternative legal basis that supersedes LGPL obligations for the licensed use case.
827 changes: 159 additions & 668 deletions LICENSE

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ base58 = "*"
boto3 = "*"
ecdsa = "*"
colander = "*"
cryptnox-sdk-py >= "1.0.1"
cryptnox-sdk-py >= "1.0.2"
lazy-import = "*"
pytz = "*"
requests = "*"
Expand Down
29 changes: 18 additions & 11 deletions README.md
Comment thread
YanNaingWinn marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,33 @@
<img src="https://github.com/user-attachments/assets/6ce54a27-8fb6-48e6-9d1f-da144f43425a"/>
</p>

<h3 align="center">CLI for managing Cryptnox smart card wallets.</h3>
<h3 align="center">cryptnox-cli</h3>
<p align="center">CLI for managing Cryptnox smart card wallets</p>

<br/>
<br/>

[![PyPI](https://img.shields.io/pypi/v/cryptnox-cli.svg)](https://pypi.org/project/cryptnox-cli/)
[![Python versions](https://img.shields.io/pypi/pyversions/cryptnox-cli.svg)](https://pypi.org/project/cryptnox-cli/)
[![Documentation status](https://img.shields.io/badge/docs-latest-blue)](https://cryptnox-software.github.io/cryptnox-cli)
[![License: GPLv3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Documentation status](https://img.shields.io/badge/docs-latest-blue)](https://cryptnox.github.io/cryptnox-cli)
[![License: GPLv3](https://img.shields.io/badge/License-LGPLv3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)

`cryptnox-cli` is a command-line interface for managing **Cryptnox Smartcards**, enabling secure seed initialization and cryptographic signing for **Bitcoin** and **Ethereum**.
`cryptnox-cli` is a command-line interface for managing **Cryptnox Smart cards**, enabling secure seed initialization and cryptographic signing for **Bitcoin** and **Ethereum**.

---

## Supported hardware

- **Cryptnox Smartcards** 💳
- **Standard PC/SC Smartcard Readers**: either USB NFC reader or a USB smartcard reader
- **Cryptnox Smart cards** 💳
- **Standard PC/SC Smart card Readers**: either USB NFC reader or a USB smart card reader
→ Readers are also available in the Cryptnox shop.

Get your card and readers here: [shop.cryptnox.com](https://shop.cryptnox.com)

---

## Installation
> 💡 This is only a minimal setup. Additional packages may be required depending on your operating system. See [Installation and Requirements](https://cryptnox-software.github.io-temp/cryptnox-cli/overview.html#installation-and-requirements).
> 💡 This is only a minimal setup. Additional packages may be required depending on your operating system. See [Installation and Requirements](https://cryptnox.github.io/cryptnox-cli/overview.html#installation-and-requirements).

### From PyPI

Expand All @@ -37,7 +39,7 @@ pip install cryptnox-cli
### From source

```bash
git clone https://github.com/Cryptnox/cryptnox-cli.git
git clone https://github.com/cryptnox/cryptnox-cli.git
cd cryptnox-cli
pip install .
```
Expand All @@ -46,7 +48,7 @@ This installs the package and makes the `cryptnox` command available (if your Py
---

## Quick usage examples
> 💡 The examples below are only a subset of available commands. The complete list of commands and detailed usage instructions is described in the [official documentation](https://cryptnox-software.github.io-temp/cryptnox-cli).
> 💡 The examples below are only a subset of available commands. The complete list of commands and detailed usage instructions is described in the [official documentation](https://cryptnox.github.io/cryptnox-cli).
### 1. Dual initialization

1. Factory reset each card:
Expand Down Expand Up @@ -86,10 +88,15 @@ This installs the package and makes the `cryptnox` command available (if your Py

## Documentation

The full **User & Developer documentation** is available at the [Cryptnox CLI Documentation](https://cryptnox-software.github.io-temp/cryptnox-cli). It covers installation and setup, usage guides and examples, CLI command reference, and developer notes with API details.
The full **User & Developer documentation** is available at the [Cryptnox CLI Documentation](https://cryptnox.github.io/cryptnox-cli). It covers installation and setup, usage guides and examples, CLI command reference, and developer notes with API details.

---

## License
Comment thread
YanNaingWinn marked this conversation as resolved.

Licensed under **GPLv3**: [GNU GPLv3 License](https://www.gnu.org/licenses/gpl-3.0.en.html).
cryptnox-cli is dual-licensed:

- **LGPL-3.0** for open-source projects and proprietary projects that comply with LGPL requirements
- **Commercial license** for projects that require a proprietary license without LGPL obligations (see COMMERCIAL.md for details)

For commercial inquiries, contact: contact@cryptnox.com
44 changes: 24 additions & 20 deletions cryptnox_cli.nsi
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
; Script generated by the HM NIS Edit Script Wizard.

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "CryptnoxCLI"
!define PRODUCT_VERSION "1.0.1"
!define PRODUCT_NAME "Cryptnox CLI"
!define PRODUCT_VERSION "1.0.2"
!define PRODUCT_PUBLISHER "Cryptnox SA"
!define PRODUCT_WEB_SITE "https://cryptnox.com/"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\CryptnoxCLI-1.0.1.exe"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\CryptnoxCLI-1.0.2.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

Expand All @@ -26,7 +26,7 @@
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_RUN "$INSTDIR\CryptnoxCLI-1.0.1.exe"
!define MUI_FINISHPAGE_RUN "$INSTDIR\CryptnoxCLI-1.0.2.exe"
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.md"
!insertmacro MUI_PAGE_FINISH

Expand All @@ -39,34 +39,36 @@
; MUI end ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "dist\CryptnoxCLI-1.0.1-setup.exe"
InstallDir "$PROGRAMFILES\CryptnoxCLI"
OutFile "dist\CryptnoxCLI-1.0.2-setup.exe"
InstallDir "$PROGRAMFILES\Cryptnox CLI"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show

Section "MainSection" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "dist\CryptnoxCLI-1.0.1.exe"
CreateDirectory "$SMPROGRAMS\CryptnoxCLI"
CreateShortCut "$SMPROGRAMS\CryptnoxCLI\CryptnoxCLI.lnk" "$INSTDIR\CryptnoxCLI-1.0.1.exe"
CreateShortCut "$DESKTOP\CryptnoxCLI.lnk" "$INSTDIR\CryptnoxCLI-1.0.1.exe"
File "dist\CryptnoxCLI-1.0.2.exe"
CreateDirectory "$SMPROGRAMS\Cryptnox CLI"
CreateShortCut "$SMPROGRAMS\Cryptnox CLI\Cryptnox CLI.lnk" "$INSTDIR\CryptnoxCLI-1.0.2.exe"
CreateShortCut "$DESKTOP\Cryptnox CLI.lnk" "$INSTDIR\CryptnoxCLI-1.0.2.exe"
File "LICENSE"
File "COMMERCIAL.md"
File "README.md"
SectionEnd

Section -AdditionalIcons
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
CreateShortCut "$SMPROGRAMS\CryptnoxCLI\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
CreateShortCut "$SMPROGRAMS\CryptnoxCLI\Uninstall.lnk" "$INSTDIR\uninst.exe"
CreateShortCut "$SMPROGRAMS\Cryptnox CLI\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
CreateShortCut "$SMPROGRAMS\Cryptnox CLI\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd

Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\CryptnoxCLI-1.0.1.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\CryptnoxCLI-1.0.2.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\CryptnoxCLI-1.0.1.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\CryptnoxCLI-1.0.2.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
Expand All @@ -87,14 +89,16 @@ Section Uninstall
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\README.md"
Delete "$INSTDIR\CryptnoxCLI-1.0.1.exe"
Delete "$INSTDIR\COMMERCIAL.md"
Delete "$INSTDIR\LICENSE"
Delete "$INSTDIR\CryptnoxCLI-1.0.2.exe"

Delete "$SMPROGRAMS\CryptnoxCLI\Uninstall.lnk"
Delete "$SMPROGRAMS\CryptnoxCLI\Website.lnk"
Delete "$DESKTOP\CryptnoxCLI.lnk"
Delete "$SMPROGRAMS\CryptnoxCLI\CryptnoxCLI.lnk"
Delete "$SMPROGRAMS\Cryptnox CLI\Uninstall.lnk"
Delete "$SMPROGRAMS\Cryptnox CLI\Website.lnk"
Delete "$DESKTOP\Cryptnox CLI.lnk"
Delete "$SMPROGRAMS\Cryptnox CLI\Cryptnox CLI.lnk"

RMDir "$SMPROGRAMS\CryptnoxCLI"
RMDir "$SMPROGRAMS\Cryptnox CLI"
RMDir "$INSTDIR"

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
Expand Down
2 changes: 1 addition & 1 deletion cryptnox_cli/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-

__version__ = "1.0.1"
__version__ = "1.0.2"
2 changes: 1 addition & 1 deletion docs/cli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,7 @@ In interactive mode, you can:
.. code-block:: text

$ cryptnox
Cryptnox CLI 1.0.1
Cryptnox CLI 1.0.2

> list
[Shows available cards]
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
project = 'cryptnox-cli'
copyright = '2025, Cryptnox'
author = 'Cryptnox'
release = '1.0.1'
release = '1.0.2'

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
Expand Down
2 changes: 1 addition & 1 deletion docs/cryptnox_cli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ The main ``cryptnox_cli`` package (Cryptnox CLI) exports:

.. py:data:: __version__
:type: str
:value: "1.0.1"
:value: "1.0.2"

Current version of the Cryptnox CLI package.

3 changes: 2 additions & 1 deletion license.rtf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ This program is free software: you can redistribute it and/or modify it under th
\par
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\par
\par
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/\par
You should have received a copy of the GNU LESSER General Public License along with this program. If not, see https://www.gnu.org/licenses/lgpl-3.0\par
For commercial licensing options, contact: contact@cryptnox.com\par
}


Expand Down
6 changes: 3 additions & 3 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ keywords =
ethereum
cryptocurrency
wallet
license = GPLv3+
license = LGPL-3.0
author = Cryptnox SA
author_email = info@cryptnox.ch
author_email = info@cryptnox.com
home_page = https://www.cryptnox.com/
project_urls =
Source Code = https://github.com/Cryptnox-Software/cryptnox-cli
platforms = any
classifiers =
Development Status :: 5 - Production/Stable
Environment :: Console
License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3)
Operating System :: OS Independent
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Expand Down
2 changes: 1 addition & 1 deletion setup.spec
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ exe = EXE(
a.binaries,
a.datas,
[],
name='CryptnoxCLI-1.0.1',
name='CryptnoxCLI-1.0.2',
icon='cryptnox.ico',
debug=False,
bootloader_ignore_signals=False,
Expand Down