pal-explorer-cli 0.4.5 → 0.4.6

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.
Files changed (2) hide show
  1. package/README.md +63 -218
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Pal Explorer (`pe`)
1
+ # Pal Explorer (`pe`)
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/pal-explorer-cli)](https://www.npmjs.com/package/pal-explorer-cli)
4
4
  [![license](https://img.shields.io/badge/license-proprietary-red)](LICENSE)
@@ -8,87 +8,7 @@
8
8
 
9
9
  Pal Explorer lets you share files directly with friends using P2P protocols. Files are encrypted before leaving your device, transferred via WebTorrent, and only decryptable by intended recipients.
10
10
 
11
- ## Features
12
-
13
- ### File Sharing
14
- - Share files, folders, or entire drives via WebTorrent
15
- - Private shares with per-recipient E2EE (XChaCha20-Poly1305)
16
- - Public shares with global magnet links
17
- - Non-recursive folder sharing (top-level only)
18
- - Web share links with expiry and download limits
19
- - Share invites sent automatically via discovery server inbox
20
-
21
- ### Groups
22
- - Create named groups and organize pals
23
- - Share with entire groups in one command (`--with-group`)
24
- - Broadcast messages to all group members
25
- - Pro limits on group count and member count
26
-
27
- ### Comments
28
- - Per-share comment threads
29
- - Add, list, and delete comments on any share
30
- - Comments linked to author identity
31
-
32
- ### Sync
33
- - Push/pull directory sync between pals
34
- - SHA-256 manifest-based delta sync
35
- - Watch mode for automatic sync on file changes
36
- - Conflict detection with `.sync-conflict` copies
37
- - Sync history tracking
38
-
39
- ### File Explorer
40
- - Browse, search, and manage files with permission checks
41
- - Directory tree visualization
42
- - File info with share status
43
- - Copy, move, rename, delete operations
44
- - Audit log for all file operations
45
-
46
- ### Remote Browsing
47
- - Browse pals' shares without downloading
48
- - List files in remote shares
49
- - Selective file download from remote shares
50
- - Server signature verification
51
-
52
- ### Chat
53
- - Real-time encrypted messaging between pals
54
- - Chat history with conversation list
55
- - Fetch new messages from the server
56
-
57
- ### Security
58
- - **Ed25519 identities** with private keys stored in OS credential manager (keytar)
59
- - **XChaCha20-Poly1305** authenticated encryption for all private shares
60
- - **Per-recipient key wrapping** -- each recipient gets a uniquely encrypted share key
61
- - **Key rotation on revocation** -- removing a recipient triggers re-encryption
62
- - **BIP-39 recovery** -- 24-word mnemonic phrase for identity backup
63
- - **Challenge-response registration** -- server never sees your private key
64
- - **Signed server responses** -- clients verify discovery server authenticity
65
- - **Encrypted messages** -- inbox payloads encrypted end-to-end
66
- - **Metadata protection** -- opaque filenames and encrypted manifests in torrents
67
- - **TOFU server key pinning** -- federated servers pinned on first contact
68
- - **Config integrity** -- HMAC-SHA256 signing for critical config sections
69
- - **PIN lock** -- protect the GUI with a PIN code
70
-
71
- ### Pro Features
72
- - Multi-user profiles with role-based access (owner, admin, member)
73
- - Encrypted backup and restore
74
- - API keys for programmatic access
75
- - Web share links
76
- - Scheduled tasks (shares, downloads, auto-revokes)
77
- - Extended inbox and transfer analytics
78
- - Ad-free experience
79
-
80
- ### Multi-User
81
- - Multiple identity profiles on one device
82
- - Owner/admin/member role hierarchy
83
- - Login switching between profiles
84
- - Profile promotion and demotion
85
-
86
- ### Discovery & Presence
87
- - LAN peer discovery via mDNS (Bonjour)
88
- - Federated handle system (`alice@server.com`)
89
- - DHT-based decentralized fallback
90
- - Online/offline presence status for pals
91
- - Multi-device support with per-device registration
11
+ **All features free during beta.** Download at [palexplorer.com](https://palexplorer.com).
92
12
 
93
13
  ## Quick Start
94
14
 
@@ -96,7 +16,6 @@ Pal Explorer lets you share files directly with friends using P2P protocols. Fil
96
16
  # Install CLI globally
97
17
  npm install -g pal-explorer-cli
98
18
 
99
-
100
19
  # Create your identity
101
20
  pe init "YourName"
102
21
  # Save the 24-word recovery phrase!
@@ -120,9 +39,49 @@ pe pal add pal://eyJ... # Add by invite link
120
39
  pe nearby --add # Auto-discover on LAN
121
40
  ```
122
41
 
123
- ## CLI Reference
42
+ ## Features
124
43
 
125
- The `pe` CLI includes 100+ subcommands. See [docs/CLI.md](docs/CLI.md) for the complete reference.
44
+ ### File Sharing
45
+ - Share files, folders, or entire drives via WebTorrent
46
+ - Private shares with per-recipient E2EE (XChaCha20-Poly1305)
47
+ - Public shares with global magnet links
48
+ - Web share links with expiry and download limits
49
+
50
+ ### Sync
51
+ - Push/pull directory sync between pals
52
+ - SHA-256 manifest-based delta sync
53
+ - Watch mode for automatic sync on file changes
54
+ - Conflict detection
55
+
56
+ ### Chat
57
+ - Real-time encrypted messaging between pals
58
+ - Chat history with conversation list
59
+
60
+ ### Groups
61
+ - Create named groups and organize pals
62
+ - Share with entire groups in one command (`--with-group`)
63
+ - Broadcast messages to all group members
64
+
65
+ ### Discovery & Presence
66
+ - LAN peer discovery via mDNS
67
+ - Federated handle system (`@alice@server.com`)
68
+ - DHT-based decentralized fallback
69
+ - Online/offline presence status
70
+
71
+ ### Security
72
+ - **Ed25519 identities** with private keys stored in OS credential manager
73
+ - **XChaCha20-Poly1305** authenticated encryption for all private shares
74
+ - **Per-recipient key wrapping** -- each recipient gets a uniquely encrypted share key
75
+ - **Key rotation on revocation** -- removing a recipient triggers re-encryption
76
+ - **BIP-39 recovery** -- 24-word mnemonic phrase for identity backup
77
+ - **Zero-knowledge server** -- discovery server never sees your private key or files
78
+ - **Signed server responses** -- clients verify server authenticity
79
+ - **Encrypted inbox** -- message payloads encrypted end-to-end
80
+ - **PIN lock** -- protect the desktop app with a PIN code
81
+
82
+ ## CLI
83
+
84
+ The `pe` CLI includes 100+ subcommands.
126
85
 
127
86
  ### Key Commands
128
87
 
@@ -135,6 +94,7 @@ pe download <magnet> # Download from magnet link
135
94
  pe pal add @alice # Add a pal by handle
136
95
  pe sync push ./project alice # Push sync to a pal
137
96
  pe status # System health dashboard
97
+ pe ext list # List available extensions
138
98
  ```
139
99
 
140
100
  ### Global Flags
@@ -145,29 +105,26 @@ pe status # System health dashboard
145
105
  | `--verbose` | Verbose logging |
146
106
  | `--quiet` | Suppress non-essential output |
147
107
 
148
- ## GUI
108
+ Run `pe --help` or `pe <command> --help` for full usage.
149
109
 
150
- The Electron desktop app lives in the `gui/` directory:
110
+ ## Desktop App
151
111
 
152
- ```bash
153
- cd gui
154
- npm install
155
- npm run electron
156
- ```
112
+ Download the desktop app at [palexplorer.com/download](https://palexplorer.com/download).
113
+
114
+ Features: setup wizard, dark/light themes, system tray, drag-and-drop sharing, P2P chat, PIN lock, media streaming, extensions, file explorer, command palette (Ctrl+K), and workspaces.
157
115
 
158
- Features: setup wizard, splash screen with startup progress, dark/light themes, system tray, drag-and-drop sharing, P2P chat, PIN lock, media streaming, workspaces, extensions, file explorer with favorites, command palette, and sidebar grouped into Content/Social/System sections.
116
+ ## Extensions
159
117
 
160
- ## Web Dashboard
118
+ 14 built-in extensions including virtual drive (WebDAV), folder sync, chat, groups, discovery, OAuth login, email notifications, and more. All free during beta.
161
119
 
162
- Start the web dashboard alongside the seeder:
120
+ Browse extensions at [palexplorer.com/extensions](https://palexplorer.com/extensions).
163
121
 
164
122
  ```bash
165
- pe serve --web
166
- pe web # Opens in browser
123
+ pe ext list # List all extensions
124
+ pe ext enable @palexplorer/vfs # Enable an extension
125
+ pe ext config @palexplorer/vfs port 1900 # Configure
167
126
  ```
168
127
 
169
- REST API + WebSocket for real-time transfer monitoring, chat, and Pro/billing management.
170
-
171
128
  ## Configuration
172
129
 
173
130
  | Key | Default | Description |
@@ -176,129 +133,17 @@ REST API + WebSocket for real-time transfer monitoring, chat, and Pro/billing ma
176
133
  | `storage_path` | `./downloads` | Default download directory |
177
134
  | `max_connections` | `50` | Max P2P connections |
178
135
  | `bandwidth_cap` | `0` | Upload cap in KB/s (0 = unlimited) |
179
- | `discovery_servers` | `https://discovery-1.palexplorer.com, https://discovery-2.palexplorer.com` | Discovery server URLs (comma-separated) |
180
- | `announce_interval` | -- | DHT announce interval in seconds |
181
-
182
- Config file location: `~/.config/palexplorer-cli/config.json`
183
-
184
- Override the discovery server URL with the `PAL_DISCOVERY_URL` environment variable.
185
136
 
186
- ## Free vs Pro
137
+ Config file: `~/.config/palexplorer-cli/config.json`
187
138
 
188
- | Feature | Free | Pro |
189
- |:---|:---:|:---:|
190
- | File sharing, E2EE, chat | Yes | Yes |
191
- | Groups (max 3, 5 members each) | Yes | Unlimited |
192
- | Comments (max 10 per share) | Yes | Unlimited |
193
- | Share recipients (max 5) | Yes | Unlimited |
194
- | Ad-free experience | No | Yes |
195
- | Multi-user profiles | No | Yes |
196
- | Vanity handles | No | Yes |
197
- | Extended inbox (1000 msgs) | No | Yes |
198
- | Transfer analytics | No | Yes |
199
- | Encrypted backup/restore | No | Yes |
200
- | API keys | No | Yes |
201
- | Scheduled tasks | No | Yes |
202
-
203
- **Pricing:** Pro $2.99/mo | Pro Annual $29.99/yr | Enterprise $9.99/seat/mo
204
-
205
- See [docs/MONETIZATION.md](docs/MONETIZATION.md) for full comparison, enforcement architecture, and details.
206
-
207
- ## Architecture
208
-
209
- ```
210
- +------------------+ +------------------+ +--------------------+
211
- | CLI (pe) | | Electron GUI | | Web Dashboard |
212
- | bin/pal.js | | gui/ | | web/ |
213
- +--------+---------+ +--------+---------+ +--------+-----------+
214
- | | |
215
- +------------------------+------------------------+
216
- | Core Libraries |
217
- | lib/core/ - identity, shares, groups, sync |
218
- | lib/crypto/ - E2EE, key exchange |
219
- | lib/utils/ - config, logging |
220
- +-------------------------+-----------------------+
221
- |
222
- +--------------+--------------+
223
- | Discovery Server |
224
- | palexplorer-server (repo) |
225
- | LevelDB + Express |
226
- | OAuth + Lemon Squeezy billing |
227
- +------------------------------+
228
- ```
139
+ ## Links
229
140
 
230
- **CLI** -- 100+ subcommands, shell completion (bash/zsh), JSON output.
231
-
232
- **GUI** -- Electron desktop app with command palette, setup wizard, splash screen, dark/light themes, media streaming, extensions, workspaces, file explorer, P2P chat, PIN lock.
233
-
234
- **Web Dashboard** -- Browser-based node management. REST API + WebSocket, OAuth login, chat, billing.
235
-
236
- **Discovery Server** -- Separate repo: [palexplorer-server](../palexplorer-server). Identity resolution, message relay, OAuth, Lemon Squeezy billing, self-update server. Self-hostable via Docker.
237
-
238
- **PAL/1.0 Protocol** -- Proprietary control protocol on top of BitTorrent/DHT/mDNS. 27 message types, policy engine, smart routing.
239
-
240
- ## Ecosystem
241
-
242
- | Project | Description |
243
- |:---|:---|
244
- | [palexplorer](.) | Desktop app (Electron + React + CLI) |
245
- | [palexplorer-server](../palexplorer-server) | Discovery server (Express 5 + LevelDB) |
246
- | [palexplorer-www](../palexplorer-www) | Web dashboard (React + Express) |
247
- | [palexplorer-mobile](../palexplorer-mobile) | Mobile app (React Native) |
248
- | [palexplorer-sdk](../palexplorer-sdk) | JavaScript SDK for integrations |
249
-
250
- ## Repo Review
251
-
252
- A focused architecture and product review was added on 2026-03-23.
253
-
254
- Executive summary:
255
- - `palexplorer` is the core desktop product, not just a thin client.
256
- - Do not rename `palexplorer` to `palexplorer-client`.
257
- - Keep `palexplorer-mobile` as a separate app, but treat it as a companion surface with shared core packages.
258
- - Highest-priority fixes are packaged CLI installation, cross-platform packaging parity, startup page loading order, and stale GUI audit documentation.
259
-
260
- See:
261
- - [docs/REPO-REVIEW-2026-03-23.md](docs/REPO-REVIEW-2026-03-23.md)
262
- - [docs/REPO-REVIEW-ACTION-PLAN-2026-03-23.md](docs/REPO-REVIEW-ACTION-PLAN-2026-03-23.md)
263
-
264
- ## Development
265
-
266
- ```bash
267
- cd palexplorer
268
- npm install
269
- npm link
270
-
271
- # Run tests
272
- npm test
273
-
274
- # Start the discovery server (separate repo)
275
- cd ../palexplorer-server
276
- npm install
277
- npm start
278
- ```
279
-
280
- ### Project Structure
281
-
282
- ```
283
- bin/ CLI entry point
284
- lib/commands/ One file per command group (63 files)
285
- lib/core/ Core logic (identity, shares, groups, sync, transfers, users, backup, extensions, billing, vfs, streaming)
286
- lib/crypto/ Encryption (stream cipher, share key wrapping)
287
- lib/protocol/ PAL/1.0 protocol (envelope, messages, policy, router, negotiation, sync, handler)
288
- lib/utils/ Config, logging, config integrity
289
- gui/ Electron desktop app (React + Vite)
290
- web/ Web dashboard (HTML/JS)
291
- extensions/ Bundled extensions (@palexplorer/vfs, explorer-integration, transfer-analytics, media-streaming)
292
- test/ Test suite (node:test, incl. stress tests)
293
- scripts/ Build and publish scripts
294
- docs/ Documentation
295
- ```
296
-
297
- ## Security
298
-
299
- For full details, see [SECURITY.md](docs/SECURITY.md).
141
+ - [Website](https://palexplorer.com)
142
+ - [Download](https://palexplorer.com/download)
143
+ - [Extensions](https://palexplorer.com/extensions)
144
+ - [Marketplace](https://palexplorer.com/marketplace)
145
+ - [Discord](https://discord.gg/VrCcGmNJ8Q)
300
146
 
301
147
  ## License
302
148
 
303
149
  Proprietary. All rights reserved. See [LICENSE.md](LICENSE.md).
304
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pal-explorer-cli",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "description": "P2P encrypted file sharing CLI — share files directly with friends, not with the cloud",
5
5
  "main": "bin/pal.js",
6
6
  "bin": {