Latest release v0.90.0

NeoZip CLI

Full-featured command-line ZIP tools for creating, extracting, and verifying archives — with Zstandard compression, AES-256 encryption, and optional blockchain timestamping for automation and CI/CD workflows.

Overview

NeoZip CLI provides three binaries — neozip, neounzip, and neolist — for archive workflows on macOS, Linux, and Windows. Use extended help on any command with -h2.

  • ~99% compatible with InfoZip-style ZIP utilities
  • Create, extract, and list archives with Zstd (default), Deflate, or Store compression
  • AES-256 encryption (default) with legacy PKZIP support for compatibility
  • Blockchain tokenization, OpenTimestamps, and Zipstamp timestamping
  • Cross-platform: macOS, Linux, and Windows (Node.js 16+)

Installation

Requires Node.js 16.0.0 or higher. Install globally from npm:

Install

npm install -g neozip-cli

# Verify installation
neozip --version
neounzip --version
neolist --version

Quick start

A typical workflow: create an archive, inspect it, then extract or test integrity.

Basic workflow

# Create a ZIP archive
neozip archive.nzip file1.txt folder/

# List contents
neolist archive.nzip

# Extract files
neounzip archive.nzip tests/extracted/

# Test integrity
neounzip -t archive.nzip

Compression

Zstd is the default method. Use Deflate for maximum compatibility or level -0 to store without compression.

Compression examples

# Default Zstd compression
neozip output.nzip ./src/

# Maximum compression
neozip -9 output.nzip ./src/

# Deflate (maximum compatibility)
neozip --compression deflate output.nzip ./src/

# Store only (no compression)
neozip -0 output.nzip ./src/

Encryption

AES-256 is the recommended default. Legacy PKZIP encryption is available for compatibility only. Extraction auto-detects the encryption method.

Encryption examples

# AES-256 encrypted archive (prompts for password)
neozip -e secure.nzip file.txt

# With password on the command line
neozip -e -P "mypassword" secure.nzip file.txt

# Extract (auto-detects AES-256 or PKZIP)
neounzip -P "mypassword" secure.nzip tests/extracted/

Blockchain

Tokenize archives, add OpenTimestamps or Zipstamp proofs, and upgrade pending timestamps. Run neozip init before using blockchain features (see Configuration).

Blockchain examples

# Tokenize archive on Base Sepolia (default network)
neozip -b tokenized.nzip file.txt

# OpenTimestamp proof (Bitcoin)
neozip -ots timestamped.nzip file.txt

# Zipstamp timestamp (Ethereum)
neozip -ts zipstamp.nzip file.txt

# Upgrade pending Zipstamp to confirmed
neozip upgrade zipstamp.nzip [output.nzip] [--wait]

Configuration

Wallet and network settings are stored in ~/.neozip/wallet.json after running the setup wizard. You can also set environment variables for automation.

Setup

# Interactive wallet setup
neozip init

# Show or manage configuration
neozip config

# Environment variables (optional)
export NEOZIP_WALLET_PASSKEY="your-wallet-key"
export NEOZIP_NETWORK="base-sepolia"
export ZIPSTAMP_SERVER_URL="https://zipstamp-dev.neozip.io"
export NEOZIP_TIMESTAMP_EMAIL="your@email.com"

Command reference

Summary of the main commands and flags. For the complete list, run neozip -h2, neounzip -h2, or neolist -h2.

neozip

Create, update, and manage ZIP archives. Supports recursion, encryption, compression levels, and blockchain features.

Syntax: neozip [options] <archive> [files...]

FlagDescription
-r, --recurseInclude subdirectories recursively
-0 … -9, --levelCompression level (0 = store, 9 = best)
--compression zstd|deflateCompression method (default: zstd)
-e, --encryptEncrypt with AES-256 (prompts for password)
-P, --password <pwd>Encrypt with the given password
--aes256Use AES-256 encryption (recommended default)
--pkzipLegacy PKZIP encryption (compatibility only)
-b, --blockchainEnable blockchain tokenization
-ots, --opentimestampOpenTimestamp proof (Bitcoin)
-ts, --timestampZipstamp timestamp (Ethereum)
-x, --exclude <pattern>Exclude files matching pattern
-i, --include <pattern>Include only matching files
-u, --updateUpdate existing entries in archive
-T, --test-integrityTest archive after creation
-@ Read file paths from stdin
-h / -h2Help / extended help
-V, --versionShow version

Subcommands

  • neozip init

    Interactive wallet setup wizard → ~/.neozip/wallet.json

  • neozip config

    Show or manage configuration (interactive menu)

  • neozip upgrade <archive> [output] [--wait]

    Upgrade pending Zipstamp timestamp to confirmed

  • neozip mint <archive> [output] [-w key] [-n network]

    Mint TimestampProofNFT from a confirmed timestamped archive

  • neozip verify-email [--email <email>] [--set-default]

    Configure or verify email for Zipstamp server

Examples

# Recursive archive with exclusions
neozip -r -x "*.log" archive.nzip ./project/

# Compress paths from stdin
find . -name "*.txt" | neozip -@ archive.nzip

# Update existing archive
neozip -u archive.nzip ./src/

neounzip

Extract, test, or list archive contents. Auto-detects AES-256 and PKZIP encryption on extract.

Syntax: neounzip [options] <archive> [destination] [file_patterns...]

FlagDescription
-d, --exdir <dir>Extract to a specific directory
-o, --overwriteOverwrite files without prompting
-t, --testTest archive integrity (no extract)
-l, --listList contents without extracting
-P, --password [pwd]Password for encrypted archives
-j, --junk-pathsExtract without directory structure
-x, --exclude <pattern>Exclude files from extraction
-i, --include <pattern>Include only matching files
--skip-blockchainSkip blockchain verification steps
-h / -h2Help / extended help
-V, --versionShow version

Examples

# Extract to a directory
neounzip archive.nzip tests/extracted/

# Test integrity
neounzip -t archive.nzip

# Extract encrypted archive
neounzip -P "mypassword" secure.nzip tests/extracted/

neolist

List and inspect ZIP archive contents in several output formats.

Syntax: neolist [options] <archive> [file_patterns...]

FlagDescription
-v, --verboseDetailed listing
-s, --shortShort format
-j, --jsonOutput as JSON
-u, --unixUnix-style listing
-b, --basicBasic listing
-1Filenames only
-2Filenames with header and totals
-i, --include <pattern>Include only matching files
-x, --exclude <pattern>Exclude matching files
-S, --sort name|size|dateSort output
-h / -h2Help / extended help
-V, --versionShow version

Examples

# Basic listing
neolist archive.nzip

# Verbose listing
neolist -v archive.nzip

# JSON output
neolist -j archive.nzip

Building apps with NeoZipKit or NeoZip-blockchain? See the Developers hub for SDK installation and library documentation.