neozip-cli 0.70.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/DOCUMENTATION.md +194 -0
- package/LICENSE +22 -0
- package/README.md +504 -0
- package/WHY_NEOZIP.md +212 -0
- package/bin/neolist +16 -0
- package/bin/neounzip +16 -0
- package/bin/neozip +15 -0
- package/dist/neozipkit-bundles/blockchain.js +13091 -0
- package/dist/neozipkit-bundles/browser.js +5733 -0
- package/dist/neozipkit-bundles/core.js +3766 -0
- package/dist/neozipkit-bundles/server.js +14996 -0
- package/dist/neozipkit-wrappers/blockchain/core/contracts.js +16 -0
- package/dist/neozipkit-wrappers/blockchain/index.js +2 -0
- package/dist/neozipkit-wrappers/core/ZipDecompress.js +2 -0
- package/dist/neozipkit-wrappers/core/components/HashCalculator.js +2 -0
- package/dist/neozipkit-wrappers/core/components/Logger.js +2 -0
- package/dist/neozipkit-wrappers/core/constants/Errors.js +2 -0
- package/dist/neozipkit-wrappers/core/constants/Headers.js +2 -0
- package/dist/neozipkit-wrappers/core/encryption/ZipCrypto.js +7 -0
- package/dist/neozipkit-wrappers/core/index.js +3 -0
- package/dist/neozipkit-wrappers/index.js +13 -0
- package/dist/neozipkit-wrappers/server/index.js +2 -0
- package/dist/src/config/ConfigSetup.js +455 -0
- package/dist/src/config/ConfigStore.js +373 -0
- package/dist/src/config/ConfigWizard.js +453 -0
- package/dist/src/config/WalletConfig.js +372 -0
- package/dist/src/exit-codes.js +210 -0
- package/dist/src/index.js +141 -0
- package/dist/src/neolist.js +1194 -0
- package/dist/src/neounzip.js +2177 -0
- package/dist/src/neozip/CommentManager.js +240 -0
- package/dist/src/neozip/blockchain.js +383 -0
- package/dist/src/neozip/createZip.js +2273 -0
- package/dist/src/neozip/file-operations.js +920 -0
- package/dist/src/neozip/types.js +6 -0
- package/dist/src/neozip/user-interaction.js +256 -0
- package/dist/src/neozip/utils.js +96 -0
- package/dist/src/neozip.js +785 -0
- package/dist/src/server/CommentManager.js +240 -0
- package/dist/src/version.js +59 -0
- package/env.example +101 -0
- package/package.json +175 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.70.0-alpha] - 2025-11-21
|
|
9
|
+
|
|
10
|
+
### ⚠️ Alpha Release Notice
|
|
11
|
+
|
|
12
|
+
This is the first alpha release of NeoZip CLI. This software is in early development and may contain bugs, incomplete features, or breaking changes. Use at your own risk.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
#### Core Commands
|
|
17
|
+
- **`neozip`** - Create and manage ZIP archives
|
|
18
|
+
- Multiple compression methods: Zstd (default), Deflate, Store
|
|
19
|
+
- Compression levels 0-9
|
|
20
|
+
- Recursive directory processing
|
|
21
|
+
- Pattern-based file inclusion/exclusion
|
|
22
|
+
- Archive and file comments
|
|
23
|
+
- Update, freshen, move, and delete operations
|
|
24
|
+
|
|
25
|
+
- **`neounzip`** - Extract files from ZIP archives
|
|
26
|
+
- Selective extraction with patterns
|
|
27
|
+
- Archive integrity testing
|
|
28
|
+
- Progress reporting
|
|
29
|
+
- Overwrite control
|
|
30
|
+
|
|
31
|
+
- **`neolist`** - List archive contents
|
|
32
|
+
- Multiple output formats (verbose, short, JSON, Unix-style)
|
|
33
|
+
- Detailed metadata display
|
|
34
|
+
|
|
35
|
+
#### Compression & Encryption
|
|
36
|
+
- Zstd compression (default) with streaming support
|
|
37
|
+
- Deflate compression for maximum compatibility
|
|
38
|
+
- Store method for already-compressed files
|
|
39
|
+
- PKZIP legacy encryption support
|
|
40
|
+
|
|
41
|
+
#### Blockchain Features
|
|
42
|
+
- Archive tokenization (NFT creation) on Ethereum, Base and Arbitrum networks
|
|
43
|
+
- OpenTimestamp integration for Bitcoin blockchain timestamping
|
|
44
|
+
- Interactive wallet setup (`neozip init`)
|
|
45
|
+
- Configuration management (`neozip config`)
|
|
46
|
+
|
|
47
|
+
#### Advanced Features
|
|
48
|
+
- Symbolic and hard link handling
|
|
49
|
+
- File permission preservation
|
|
50
|
+
- Line ending conversion (CRLF/LF)
|
|
51
|
+
- Progress reporting
|
|
52
|
+
- ZIP64 support for large files
|
|
53
|
+
|
|
54
|
+
### Known Limitations
|
|
55
|
+
|
|
56
|
+
- **API Stability**: Command-line interface may change in future releases
|
|
57
|
+
- **Missing Features**: Archive repair, auto-convert, self-extracting archives, and pager support not yet implemented
|
|
58
|
+
- **Platform Testing**: Limited testing on Windows and some Linux distributions
|
|
59
|
+
- **Blockchain**: Requires wallet configuration; some RPC endpoints may timeout
|
|
60
|
+
|
|
61
|
+
### Documentation
|
|
62
|
+
|
|
63
|
+
- Comprehensive README with usage examples
|
|
64
|
+
- Distribution and NPM publishing guides
|
|
65
|
+
- Troubleshooting documentation
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
**For more information:**
|
|
70
|
+
- [README.md](README.md) - Usage guide and examples
|
|
71
|
+
- [WHY_NEOZIP.md](WHY_NEOZIP.md) - Project vision and use cases
|
|
72
|
+
- [Documentation Index](DOCUMENTATION.md) - Full documentation
|
package/DOCUMENTATION.md
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# NeoZip CLI Documentation
|
|
2
|
+
|
|
3
|
+
## 📚 Documentation Index
|
|
4
|
+
|
|
5
|
+
This document provides an overview of all available documentation for NeoZip CLI.
|
|
6
|
+
|
|
7
|
+
## 🚀 Quick Start
|
|
8
|
+
|
|
9
|
+
### Installation
|
|
10
|
+
```bash
|
|
11
|
+
npm install -g neozip-cli@alpha
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### Basic Usage
|
|
15
|
+
```bash
|
|
16
|
+
# Create a ZIP archive
|
|
17
|
+
neozip archive.nzip file1.txt file2.txt folder/
|
|
18
|
+
|
|
19
|
+
# Extract files from archive
|
|
20
|
+
neounzip archive.nzip extracted/
|
|
21
|
+
|
|
22
|
+
# List archive contents
|
|
23
|
+
neolist archive.nzip
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Help Commands
|
|
27
|
+
```bash
|
|
28
|
+
neozip --help # Show ZIP creation help
|
|
29
|
+
neounzip --help # Show extraction help
|
|
30
|
+
neolist --help # Show listing help
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 📖 Core Documentation
|
|
34
|
+
|
|
35
|
+
### User Documentation
|
|
36
|
+
|
|
37
|
+
- **[README.md](README.md)** - Main project documentation
|
|
38
|
+
- Installation instructions
|
|
39
|
+
- Feature overview
|
|
40
|
+
- Command reference
|
|
41
|
+
- Usage examples
|
|
42
|
+
- Troubleshooting guide
|
|
43
|
+
|
|
44
|
+
- **[WHY_NEOZIP.md](WHY_NEOZIP.md)** - Project vision and use cases
|
|
45
|
+
- Introduction to blockchain-enabled archives
|
|
46
|
+
- Use cases and applications
|
|
47
|
+
- NeoZip ecosystem overview
|
|
48
|
+
- Technical innovations
|
|
49
|
+
|
|
50
|
+
- **[CHANGELOG.md](CHANGELOG.md)** - Version history
|
|
51
|
+
- Release notes
|
|
52
|
+
- Feature additions
|
|
53
|
+
- Known limitations
|
|
54
|
+
- Breaking changes
|
|
55
|
+
|
|
56
|
+
- **[env.example](env.example)** - Environment variable configuration
|
|
57
|
+
- Wallet configuration
|
|
58
|
+
- Network settings
|
|
59
|
+
- RPC endpoint configuration
|
|
60
|
+
- Debug and gas settings
|
|
61
|
+
|
|
62
|
+
## 🎯 Key Features
|
|
63
|
+
|
|
64
|
+
### Core Commands
|
|
65
|
+
|
|
66
|
+
- **`neozip`** - Create and manage ZIP archives
|
|
67
|
+
- Multiple compression methods (Zstd, Deflate, Store)
|
|
68
|
+
- Compression levels 0-9
|
|
69
|
+
- Recursive directory processing
|
|
70
|
+
- Pattern-based file inclusion/exclusion
|
|
71
|
+
- Archive and file comments
|
|
72
|
+
- Update, freshen, move, and delete operations
|
|
73
|
+
|
|
74
|
+
- **`neounzip`** - Extract files from ZIP archives
|
|
75
|
+
- Selective extraction with patterns
|
|
76
|
+
- Archive integrity testing
|
|
77
|
+
- Progress reporting
|
|
78
|
+
- Overwrite control
|
|
79
|
+
- Password-protected archive support
|
|
80
|
+
|
|
81
|
+
- **`neolist`** - List archive contents
|
|
82
|
+
- Multiple output formats (verbose, short, JSON, Unix-style)
|
|
83
|
+
- Detailed metadata display
|
|
84
|
+
- Filename-only output
|
|
85
|
+
|
|
86
|
+
### Compression & Encryption
|
|
87
|
+
|
|
88
|
+
- **Zstd Compression** (default)
|
|
89
|
+
- Modern, fast compression algorithm
|
|
90
|
+
- Better compression ratios than deflate
|
|
91
|
+
- Streaming support for large files
|
|
92
|
+
|
|
93
|
+
- **Deflate Compression**
|
|
94
|
+
- Standard ZIP compression method
|
|
95
|
+
- Maximum compatibility with other ZIP tools
|
|
96
|
+
|
|
97
|
+
- **Store Method**
|
|
98
|
+
- No compression (fastest)
|
|
99
|
+
- Useful for already-compressed files
|
|
100
|
+
|
|
101
|
+
- **PKZIP Encryption**
|
|
102
|
+
- Legacy encryption for maximum compatibility
|
|
103
|
+
- Password-protected archives
|
|
104
|
+
- InfoZip-compatible encrypted archives
|
|
105
|
+
|
|
106
|
+
### Blockchain Features
|
|
107
|
+
|
|
108
|
+
- **Archive Tokenization**
|
|
109
|
+
- Create on-chain tokens (NFTs) for archives
|
|
110
|
+
- Network support: Ethereum Sepolia, Base Sepolia, Base Mainnet, Arbitrum Sepolia, Arbitrum One
|
|
111
|
+
- Automatic token selection or force mint new tokens
|
|
112
|
+
- Archive integrity verification on-chain
|
|
113
|
+
|
|
114
|
+
- **OpenTimestamp**
|
|
115
|
+
- Bitcoin blockchain timestamping
|
|
116
|
+
- Cryptographic proof of archive existence
|
|
117
|
+
- Timestamp verification
|
|
118
|
+
|
|
119
|
+
- **Wallet Integration**
|
|
120
|
+
- Interactive wallet setup wizard (`neozip init`)
|
|
121
|
+
- Configuration management (`neozip config`)
|
|
122
|
+
- Environment variable support
|
|
123
|
+
- Secure wallet key storage
|
|
124
|
+
|
|
125
|
+
### Advanced Features
|
|
126
|
+
|
|
127
|
+
- Symbolic and hard link handling
|
|
128
|
+
- File permission preservation
|
|
129
|
+
- Line ending conversion (CRLF/LF)
|
|
130
|
+
- Progress reporting
|
|
131
|
+
- ZIP64 support for large files (>4GB)
|
|
132
|
+
- Stdin filename input
|
|
133
|
+
- Archive and file comments
|
|
134
|
+
|
|
135
|
+
## 🔧 Configuration
|
|
136
|
+
|
|
137
|
+
### Wallet Setup
|
|
138
|
+
|
|
139
|
+
For blockchain features, configure your wallet:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Interactive setup wizard
|
|
143
|
+
neozip init
|
|
144
|
+
|
|
145
|
+
# View or modify configuration
|
|
146
|
+
neozip config
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Configuration is stored in `~/.neozip/wallet.json` and supports:
|
|
150
|
+
- Wallet private key
|
|
151
|
+
- Network selection (testnet/mainnet)
|
|
152
|
+
- Custom RPC endpoints
|
|
153
|
+
- Gas settings
|
|
154
|
+
- Debug options
|
|
155
|
+
|
|
156
|
+
### Environment Variables
|
|
157
|
+
|
|
158
|
+
You can also configure via environment variables (see [env.example](env.example)):
|
|
159
|
+
- `NEOZIP_WALLET_PASSKEY` - Wallet private key
|
|
160
|
+
- `NEOZIP_NETWORK` - Blockchain network
|
|
161
|
+
- `NEOZIP_BASE_SEPOLIA_RPC_URL` - Custom RPC endpoints
|
|
162
|
+
- `NEOZIP_VERBOSE` - Enable verbose logging
|
|
163
|
+
- `NEOZIP_DEBUG` - Enable debug mode
|
|
164
|
+
|
|
165
|
+
## 📚 Reading Order
|
|
166
|
+
|
|
167
|
+
1. **Start with** [README.md](README.md) for installation and basic usage
|
|
168
|
+
2. **Read** [WHY_NEOZIP.md](WHY_NEOZIP.md) to understand the project vision
|
|
169
|
+
3. **Review** [CHANGELOG.md](CHANGELOG.md) for version history and known issues
|
|
170
|
+
4. **Configure** wallet using `neozip init` for blockchain features
|
|
171
|
+
5. **Reference** [env.example](env.example) for environment variable configuration
|
|
172
|
+
|
|
173
|
+
## 🔗 Related Links
|
|
174
|
+
|
|
175
|
+
- [ZIP Specification](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) - Official ZIP format documentation
|
|
176
|
+
- [NeoZip Website](https://neozip.io) - Project website and information
|
|
177
|
+
|
|
178
|
+
## 📞 Support
|
|
179
|
+
|
|
180
|
+
For issues or questions:
|
|
181
|
+
|
|
182
|
+
1. **Check** the troubleshooting sections in [README.md](README.md)
|
|
183
|
+
2. **Review** [CHANGELOG.md](CHANGELOG.md) for known issues
|
|
184
|
+
3. **Test** with the provided examples
|
|
185
|
+
4. **Verify** your command syntax with `--help` flags
|
|
186
|
+
5. **Report** issues via:
|
|
187
|
+
- Email: [support@neozip.io](mailto:support@neozip.io)
|
|
188
|
+
- GitHub: [NeoZip Support Repository](https://github.com/NeoWareInc/neozip-support/issues) (public issue tracker)
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
**Version**: 0.70.0-alpha
|
|
193
|
+
**Status**: Alpha Release
|
|
194
|
+
**Last Updated**: 2025-11-21
|
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 NeoWare, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|