npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

azcryptor

v1.0.9

Published

Secure hybrid file encryption CLI tool using AES + RSA

Readme

    ___        ______                 __
   /   |____  / ____/______  ______  / /_____  _____
  / /| /_  / / /   / ___/ / / / __ \/ __/ __ \/ ___/
 / ___ |/ /_/ /___/ /  / /_/ / /_/ / /_/ /_/ / /
/_/  |_/___/\____/_/   \__, / .___/\__/\____/_/
                      /____/_/
([email protected])

AzCryptor

Hybrid AES-256 + RSA-2048 CLI for encrypting and decrypting files at rest.

Persian guide: README.fa.md

Features

  • Hybrid encryption: AES-256-CBC for file data, RSA-2048 for the session key
  • Streaming I/O for large files
  • Terminal progress bar with percent, speed, and ETA
  • Final report table with input, output, and meta paths
  • Optional meta directory for decrypt (-m)
  • base64ify helper for transfer/import formats

Install

Requires Node.js 18+.

npm install -g azcryptor

Security note

Every encrypt run generates a new key chain. Keep all meta files or recovery is impossible:

  • [output-name].key — AES key wrapped with RSA
  • [output-name].iv — initialization vector
  • [output-name].private.pem — RSA private key

Do not ship private keys with the encrypted file. AzCryptor encrypts file contents only, not names or paths.

Usage

Encrypt

azcryptor encrypt -i ./data.txt -o ./data.enc -m ./meta
# alias: azcryptor enc ...

Writes ./data.enc and meta files under ./meta:

  • data.enc.key
  • data.enc.iv
  • data.enc.private.pem

Decrypt

By default, meta files are read beside the encrypted file:

azcryptor decrypt -i ./data.enc -o ./data.txt
# alias: azcryptor dec ...

Or point to the meta directory used during encryption:

azcryptor decrypt -i ./data.enc -o ./data.txt -m ./meta

Base64 utility

azcryptor base64ify ./data.enc

Creates:

  • data.enc.b64
  • data.enc.import.csv
  • data.enc.import.json

CLI help

azcryptor --help
azcryptor encrypt --help
azcryptor decrypt --help
azcryptor base64ify --help

Running azcryptor with no arguments also prints help.

Output layout

input/
  myFile.rar

output/
  myFile.rar.enc

meta/
  myFile.rar.enc.key
  myFile.rar.enc.iv
  myFile.rar.enc.private.pem

decrypted/
  myFile_restored.rar

Command reference

| Command | Required | Optional | Description | | :--- | :--- | :--- | :--- | | encrypt / enc | -i, -o, -m | | Encrypt file and write meta | | decrypt / dec | -i, -o | -m | Decrypt file (meta beside input or from -m) | | base64ify | <file> | | Encode file to base64/CSV/JSON |

Install from Git (no npm package)

Install the global azcryptor CLI from the GitHub source instead of the npm registry package:

# Windows (PowerShell / CMD)
curl -L -o install-from-git.bat https://raw.githubusercontent.com/AliZolfaghar/AzCryptor/main/install-from-git.bat
install-from-git.bat

# Linux / macOS
curl -fsSL -o install-from-git.sh https://raw.githubusercontent.com/AliZolfaghar/AzCryptor/main/install-from-git.sh
chmod +x install-from-git.sh
./install-from-git.sh

Optional arguments:

# custom destination
install-from-git.bat D:\tools\AzCryptor
./install-from-git.sh ~/tools/AzCryptor

# custom destination + repo URL
install-from-git.bat D:\tools\AzCryptor https://github.com/AliZolfaghar/AzCryptor.git
./install-from-git.sh ~/tools/AzCryptor https://github.com/AliZolfaghar/AzCryptor.git

Default clone path: %USERPROFILE%\AzCryptor / ~/AzCryptor.
Requires: git, Node.js 18+, and the npm CLI (only for local dependencies — not for downloading the azcryptor package from the registry).

Local install and test (maintainers)

Install/update the global azcryptor CLI from this folder and run a quick smoke test:

# Windows
install-local.bat

# Linux / macOS
chmod +x install-local.sh
./install-local.sh

Publishing (maintainers)

Set the version in package.json, then:

# Windows
publish.bat

# Linux / macOS
chmod +x publish.sh
./publish.sh

Scripts run npm install, check login, dry-run pack, ask for confirmation, then npm publish.

License

Apache-2.0