pinme 2.0.2-beta.1 → 2.0.2-beta.11
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/README.md +233 -47
- package/dist/index.js +5935 -6286
- package/package.json +1 -1
- package/dist/utils/getDeviceId.js +0 -61
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# PinMe
|
|
15
15
|
|
|
16
16
|
[PinMe](https://pinme.eth.limo/) is a zero-config frontend deployment tool.
|
|
17
|
-
No servers
|
|
17
|
+
No servers to manage. Minimal setup.
|
|
18
18
|
|
|
19
19
|
Build a static site, generate a page with AI, export your frontend, or import CAR files — then deploy instantly with a single command.
|
|
20
20
|
|
|
@@ -33,9 +33,10 @@ Website: [https://pinme.eth.limo/](https://pinme.eth.limo/)
|
|
|
33
33
|
- [For AI](#for-ai)
|
|
34
34
|
- [Installation](#installation)
|
|
35
35
|
- [Usage](#usage)
|
|
36
|
-
- [Bind Domain](#bind-domain-requires-
|
|
36
|
+
- [Bind Domain](#bind-domain-requires-wallet-balance)
|
|
37
|
+
- [Full-Stack Projects](#full-stack-projects)
|
|
37
38
|
- [Command Details](#command-details)
|
|
38
|
-
- [
|
|
39
|
+
- [Wallet Billing](#wallet-billing)
|
|
39
40
|
- [Common Static File Directories](#common-static-file-directories)
|
|
40
41
|
- [Error Handling](#error-handling)
|
|
41
42
|
- [Upload Limits](#upload-limits)
|
|
@@ -54,14 +55,23 @@ Website: [https://pinme.eth.limo/](https://pinme.eth.limo/)
|
|
|
54
55
|
node --version
|
|
55
56
|
```
|
|
56
57
|
|
|
57
|
-
###
|
|
58
|
+
### Four Steps to Deploy
|
|
58
59
|
|
|
59
60
|
1. **Install PinMe**
|
|
60
61
|
```bash
|
|
61
62
|
npm install -g pinme
|
|
62
63
|
```
|
|
63
64
|
|
|
64
|
-
2. **
|
|
65
|
+
2. **Login or set AppKey**
|
|
66
|
+
```bash
|
|
67
|
+
# Recommended: browser login
|
|
68
|
+
pinme login
|
|
69
|
+
|
|
70
|
+
# Or use an AppKey in CLI/CI environments
|
|
71
|
+
pinme set-appkey <AppKey>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
3. **Build your project** (if not already built)
|
|
65
75
|
```bash
|
|
66
76
|
# For Vite/React/Vue projects
|
|
67
77
|
npm run build
|
|
@@ -70,7 +80,7 @@ npm run build
|
|
|
70
80
|
npm run build
|
|
71
81
|
```
|
|
72
82
|
|
|
73
|
-
|
|
83
|
+
4. **Upload to PinMe**
|
|
74
84
|
```bash
|
|
75
85
|
# Upload the dist directory (most common)
|
|
76
86
|
pinme upload dist
|
|
@@ -79,7 +89,7 @@ pinme upload dist
|
|
|
79
89
|
pinme upload build
|
|
80
90
|
```
|
|
81
91
|
|
|
82
|
-
That's it!
|
|
92
|
+
That's it! PinMe prints the best available public URL. If no domain is available, it falls back to a preview URL like `https://pinme.eth.limo/#/preview/*`.
|
|
83
93
|
|
|
84
94
|
---
|
|
85
95
|
|
|
@@ -89,7 +99,7 @@ This section provides AI-specific instructions for deploying websites using PinM
|
|
|
89
99
|
|
|
90
100
|
### AI Execution Protocol
|
|
91
101
|
|
|
92
|
-
**Goal:** Use PinMe CLI to upload static files to
|
|
102
|
+
**Goal:** Use PinMe CLI to upload static files to PinMe/IPFS and return the final public URL.
|
|
93
103
|
|
|
94
104
|
#### Required Steps
|
|
95
105
|
|
|
@@ -104,7 +114,16 @@ This section provides AI-specific instructions for deploying websites using PinM
|
|
|
104
114
|
npm install -g pinme
|
|
105
115
|
```
|
|
106
116
|
|
|
107
|
-
3. **
|
|
117
|
+
3. **Authenticate before upload**
|
|
118
|
+
```bash
|
|
119
|
+
# Recommended
|
|
120
|
+
pinme login
|
|
121
|
+
|
|
122
|
+
# Or for automation / non-browser environments
|
|
123
|
+
pinme set-appkey <AppKey>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
4. **Identify the Static File Directory**
|
|
108
127
|
Priority order to check:
|
|
109
128
|
- `dist/` - Default output directory for Vue/React/Vite projects
|
|
110
129
|
- `build/` - Output directory for Create React App
|
|
@@ -130,7 +149,9 @@ This section provides AI-specific instructions for deploying websites using PinM
|
|
|
130
149
|
```
|
|
131
150
|
|
|
132
151
|
6. **Return Result**
|
|
133
|
-
- Only return final
|
|
152
|
+
- Only return the final URL printed by PinMe
|
|
153
|
+
- URL priority is: DNS domain > Pinme subdomain > short URL > hash preview URL
|
|
154
|
+
- Hash fallback format: `https://pinme.eth.limo/#/preview/*`
|
|
134
155
|
- Do not output additional logs or intermediate steps
|
|
135
156
|
|
|
136
157
|
#### Prohibited Operations
|
|
@@ -151,8 +172,12 @@ For easy AI tool parsing:
|
|
|
151
172
|
"node_version": ">=16.13.0"
|
|
152
173
|
},
|
|
153
174
|
"install": "npm install -g pinme",
|
|
175
|
+
"login": "pinme login",
|
|
176
|
+
"set_appkey": "pinme set-appkey <AppKey>",
|
|
177
|
+
"auth_required_for_upload": true,
|
|
154
178
|
"upload": "pinme upload {{directory}}",
|
|
155
179
|
"upload_with_domain": "pinme upload {{directory}} --domain {{domain}}",
|
|
180
|
+
"upload_with_dns": "pinme upload {{directory}} --domain {{domain}} --dns",
|
|
156
181
|
"validDirectories": ["dist", "build", "out", "public"],
|
|
157
182
|
"requiredFiles": ["index.html"],
|
|
158
183
|
"excludePatterns": ["node_modules", ".env", ".git", "src"],
|
|
@@ -160,9 +185,11 @@ For easy AI tool parsing:
|
|
|
160
185
|
"single_file": "200MB",
|
|
161
186
|
"total_directory": "1GB"
|
|
162
187
|
},
|
|
163
|
-
"output": "
|
|
188
|
+
"output": "public_url",
|
|
189
|
+
"url_priority": ["dns_domain", "pinme_domain", "short_url", "hash_preview_url"],
|
|
164
190
|
"preview_url_format": "https://pinme.eth.limo/#/preview/*",
|
|
165
|
-
"
|
|
191
|
+
"pinme_domain_format": "https://<name>.<root-domain>",
|
|
192
|
+
"dns_domain_format": "https://<your-domain>",
|
|
166
193
|
"other_commands": {
|
|
167
194
|
"version": "pinme --version",
|
|
168
195
|
"list": "pinme list",
|
|
@@ -171,6 +198,14 @@ For easy AI tool parsing:
|
|
|
171
198
|
"set_appkey": "pinme set-appkey",
|
|
172
199
|
"show_appkey": "pinme show-appkey",
|
|
173
200
|
"my_domains": "pinme my-domains",
|
|
201
|
+
"wallet": "pinme wallet",
|
|
202
|
+
"bind": "pinme bind <path> --domain <domain>",
|
|
203
|
+
"create": "pinme create <project-name>",
|
|
204
|
+
"save": "pinme save",
|
|
205
|
+
"update_db": "pinme update-db",
|
|
206
|
+
"update_worker": "pinme update-worker",
|
|
207
|
+
"update_web": "pinme update-web",
|
|
208
|
+
"delete": "pinme delete <project-name>",
|
|
174
209
|
"remove": "pinme rm <hash>",
|
|
175
210
|
"logout": "pinme logout",
|
|
176
211
|
"help": "pinme help"
|
|
@@ -181,14 +216,15 @@ For easy AI tool parsing:
|
|
|
181
216
|
### AI Usage Template
|
|
182
217
|
|
|
183
218
|
> **Deployment Request:**
|
|
184
|
-
> Please read the PinMe documentation, then use PinMe CLI to deploy the specified website
|
|
219
|
+
> Please read the PinMe documentation, then use PinMe CLI to deploy the specified website by uploading static files to PinMe/IPFS.
|
|
185
220
|
>
|
|
186
221
|
> **Operation Steps:**
|
|
187
222
|
> 1. Check Node.js version (requires 16.13.0+)
|
|
188
223
|
> 2. Check if pinme is installed, install if not
|
|
189
|
-
> 3.
|
|
190
|
-
> 4.
|
|
191
|
-
> 5.
|
|
224
|
+
> 3. Authenticate with `pinme login` or `pinme set-appkey <AppKey>`
|
|
225
|
+
> 4. Identify the static file directory for the website to deploy
|
|
226
|
+
> 5. Execute deployment command
|
|
227
|
+
> 6. Return the final public URL printed by PinMe. If no custom URL is available, return the preview page link: `https://pinme.eth.limo/#/preview/*`
|
|
192
228
|
|
|
193
229
|
---
|
|
194
230
|
|
|
@@ -220,6 +256,9 @@ pinme --version
|
|
|
220
256
|
### Upload Files or Directories
|
|
221
257
|
|
|
222
258
|
```bash
|
|
259
|
+
# Login is required before upload
|
|
260
|
+
pinme login
|
|
261
|
+
|
|
223
262
|
# Interactive upload
|
|
224
263
|
pinme upload
|
|
225
264
|
|
|
@@ -227,7 +266,9 @@ pinme upload
|
|
|
227
266
|
pinme upload /path/to/file-or-directory
|
|
228
267
|
```
|
|
229
268
|
|
|
230
|
-
|
|
269
|
+
**Authentication requirement:** `pinme upload` and `pinme import` require a valid login session or AppKey. Use `pinme login` for browser login, or `pinme set-appkey <AppKey>` for CLI/CI environments.
|
|
270
|
+
|
|
271
|
+
### Bind Domain (requires wallet balance)
|
|
231
272
|
|
|
232
273
|
```bash
|
|
233
274
|
# Upload and bind to a domain (auto-detected: Pinme subdomain or DNS domain)
|
|
@@ -251,9 +292,54 @@ pinme upload ./dist --domain example.com
|
|
|
251
292
|
pinme upload ./dist --domain my-site --dns
|
|
252
293
|
```
|
|
253
294
|
|
|
295
|
+
### Full-Stack Projects
|
|
296
|
+
|
|
297
|
+
PinMe can also create and deploy a full-stack project template with frontend, Worker backend, and database migrations.
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
# Login with the browser-based flow
|
|
301
|
+
pinme login
|
|
302
|
+
|
|
303
|
+
# Create a new project from the PinMe worker template
|
|
304
|
+
pinme create my-app
|
|
305
|
+
|
|
306
|
+
# Enter the project and deploy frontend + backend + database
|
|
307
|
+
cd my-app
|
|
308
|
+
pinme save
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
Use targeted update commands when only one layer changed:
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
# Deploy frontend only
|
|
315
|
+
pinme update-web
|
|
316
|
+
|
|
317
|
+
# Deploy backend Worker only
|
|
318
|
+
pinme update-worker
|
|
319
|
+
|
|
320
|
+
# Run database SQL migrations only
|
|
321
|
+
pinme update-db
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
Delete a platform project when needed:
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
# From a PinMe project directory
|
|
328
|
+
pinme delete
|
|
329
|
+
|
|
330
|
+
# Or specify a project name
|
|
331
|
+
pinme delete my-app
|
|
332
|
+
|
|
333
|
+
# Skip confirmation
|
|
334
|
+
pinme delete my-app --force
|
|
335
|
+
```
|
|
336
|
+
|
|
254
337
|
### Import CAR files
|
|
255
338
|
|
|
256
339
|
```bash
|
|
340
|
+
# Login is required before import
|
|
341
|
+
pinme login
|
|
342
|
+
|
|
257
343
|
# Interactive CAR import
|
|
258
344
|
pinme import
|
|
259
345
|
|
|
@@ -310,6 +396,12 @@ pinme rm <IPFS_hash>
|
|
|
310
396
|
### Authentication (AppKey)
|
|
311
397
|
|
|
312
398
|
```bash
|
|
399
|
+
# Browser login, recommended for full-stack project commands
|
|
400
|
+
pinme login
|
|
401
|
+
|
|
402
|
+
# Use a specific environment when needed
|
|
403
|
+
pinme login --env test
|
|
404
|
+
|
|
313
405
|
# Set AppKey for login and domain binding
|
|
314
406
|
pinme set-appkey
|
|
315
407
|
|
|
@@ -323,6 +415,11 @@ pinme logout
|
|
|
323
415
|
# View your domains
|
|
324
416
|
pinme my-domains
|
|
325
417
|
pinme domain
|
|
418
|
+
|
|
419
|
+
# View wallet balance
|
|
420
|
+
pinme wallet
|
|
421
|
+
pinme wallet-balance
|
|
422
|
+
pinme balance
|
|
326
423
|
```
|
|
327
424
|
|
|
328
425
|
### Get Help
|
|
@@ -368,10 +465,10 @@ The selected directory must meet:
|
|
|
368
465
|
|
|
369
466
|
### `bind`
|
|
370
467
|
|
|
371
|
-
Upload files and bind them to a custom domain. **Domain binding
|
|
468
|
+
Upload files and bind them to a custom domain. **Domain binding deducts from your wallet balance.**
|
|
372
469
|
|
|
373
470
|
```bash
|
|
374
|
-
pinme
|
|
471
|
+
pinme bind [path] [options]
|
|
375
472
|
```
|
|
376
473
|
|
|
377
474
|
**Options:**
|
|
@@ -384,6 +481,9 @@ pinme upload <path> [options]
|
|
|
384
481
|
# Interactive mode (will prompt for path and domain)
|
|
385
482
|
pinme bind
|
|
386
483
|
|
|
484
|
+
# Bind a path with the dedicated bind command
|
|
485
|
+
pinme bind ./dist --domain my-site
|
|
486
|
+
|
|
387
487
|
# Bind to a Pinme subdomain (auto-detected: no dot in domain)
|
|
388
488
|
pinme upload ./dist --domain my-site
|
|
389
489
|
|
|
@@ -400,12 +500,13 @@ pinme upload ./dist --domain my-site --dns
|
|
|
400
500
|
- Use `--dns` or `-D` flag to force DNS domain mode when needed
|
|
401
501
|
|
|
402
502
|
**Requirements:**
|
|
403
|
-
-
|
|
503
|
+
- Login or AppKey authentication is required before upload/bind
|
|
504
|
+
- Sufficient wallet balance is required for domain binding
|
|
404
505
|
- Valid AppKey must be set (run: `pinme set-appkey <AppKey>`)
|
|
405
506
|
- For DNS domains, you must own the domain
|
|
406
507
|
|
|
407
508
|
**URL Formats:**
|
|
408
|
-
- Pinme subdomain: `https://<name
|
|
509
|
+
- Pinme subdomain: `https://<name>.<root-domain>`
|
|
409
510
|
- DNS domain: `https://<your-domain>`
|
|
410
511
|
|
|
411
512
|
**DNS Setup:**
|
|
@@ -421,7 +522,10 @@ pinme upload [path] [--domain <name>]
|
|
|
421
522
|
|
|
422
523
|
**Options:**
|
|
423
524
|
- `path`: Path to the file or directory to upload (optional, interactive if not provided)
|
|
424
|
-
- `-d, --domain <name>`: Pinme subdomain to bind after upload (optional, requires
|
|
525
|
+
- `-d, --domain <name>`: Pinme subdomain or DNS domain to bind after upload (optional, requires wallet balance)
|
|
526
|
+
- `--dns`, `-D`: Force DNS domain mode
|
|
527
|
+
|
|
528
|
+
**Authentication:** This command requires login. Run `pinme login` first, or configure `pinme set-appkey <AppKey>`.
|
|
425
529
|
|
|
426
530
|
**Examples:**
|
|
427
531
|
```bash
|
|
@@ -435,7 +539,15 @@ pinme upload dist
|
|
|
435
539
|
pinme upload ./example.jpg
|
|
436
540
|
```
|
|
437
541
|
|
|
438
|
-
**Note:** Domain binding during upload requires
|
|
542
|
+
**Note:** Domain binding during upload requires available wallet balance. Use the `bind` command for domain binding.
|
|
543
|
+
|
|
544
|
+
**Printed URL priority:** PinMe displays the best available final URL in this order:
|
|
545
|
+
1. DNS domain, for example `https://example.com`
|
|
546
|
+
2. Pinme subdomain, for example `https://my-site.<root-domain>`
|
|
547
|
+
3. Short URL returned by the upload service
|
|
548
|
+
4. Hash preview URL, for example `https://pinme.eth.limo/#/preview/*`
|
|
549
|
+
|
|
550
|
+
When the backend returns a Pinme subdomain without the root domain, the CLI automatically appends the current root domain before printing it.
|
|
439
551
|
|
|
440
552
|
### `import`
|
|
441
553
|
|
|
@@ -449,6 +561,8 @@ pinme import [path] [--domain <name>]
|
|
|
449
561
|
- `path`: Path to the CAR file to import (optional, if not provided, interactive mode will be entered)
|
|
450
562
|
- `-d, --domain <name>`: Pinme subdomain to bind after import (optional)
|
|
451
563
|
|
|
564
|
+
**Authentication:** This command requires login. Run `pinme login` first, or configure `pinme set-appkey <AppKey>`.
|
|
565
|
+
|
|
452
566
|
**Examples:**
|
|
453
567
|
```bash
|
|
454
568
|
# Interactive CAR import
|
|
@@ -535,7 +649,16 @@ Set AppKey for authentication and automatically merge anonymous upload history t
|
|
|
535
649
|
pinme set-appkey [AppKey]
|
|
536
650
|
```
|
|
537
651
|
|
|
538
|
-
**Note:**
|
|
652
|
+
**Note:** Domain binding requires authentication and sufficient wallet balance. Get your AppKey from [PinMe website](https://pinme.eth.limo/) or use `pinme login`.
|
|
653
|
+
|
|
654
|
+
### `login`
|
|
655
|
+
|
|
656
|
+
Start the browser-based login flow. After login, anonymous upload history is merged into the logged-in account.
|
|
657
|
+
|
|
658
|
+
```bash
|
|
659
|
+
pinme login
|
|
660
|
+
pinme login --env test
|
|
661
|
+
```
|
|
539
662
|
|
|
540
663
|
### `show-appkey` / `appkey`
|
|
541
664
|
|
|
@@ -549,32 +672,92 @@ Log out and clear authentication information from local storage.
|
|
|
549
672
|
|
|
550
673
|
List all domains owned by the current account.
|
|
551
674
|
|
|
552
|
-
|
|
675
|
+
### `wallet` / `wallet-balance` / `balance`
|
|
553
676
|
|
|
554
|
-
|
|
677
|
+
Show the current wallet balance for the logged-in account.
|
|
555
678
|
|
|
556
|
-
|
|
679
|
+
```bash
|
|
680
|
+
pinme wallet
|
|
681
|
+
pinme wallet-balance
|
|
682
|
+
pinme balance
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
### `create`
|
|
686
|
+
|
|
687
|
+
Create a new full-stack project from the PinMe Worker template. This creates the platform Worker/database, downloads the template, installs dependencies, injects API configuration, builds the frontend, uploads it, and writes project settings to `pinme.toml`.
|
|
688
|
+
|
|
689
|
+
```bash
|
|
690
|
+
pinme create [name]
|
|
691
|
+
pinme create my-app
|
|
692
|
+
pinme create my-app --force
|
|
693
|
+
```
|
|
557
694
|
|
|
558
|
-
|
|
695
|
+
**Project layout:**
|
|
696
|
+
- `frontend/`: Static frontend application
|
|
697
|
+
- `backend/`: Worker backend source and metadata
|
|
698
|
+
- `db/`: SQL migration files
|
|
699
|
+
- `pinme.toml`: Project name and deployed frontend URL
|
|
700
|
+
|
|
701
|
+
### `save`
|
|
702
|
+
|
|
703
|
+
Deploy the current full-stack project from its root directory. It installs dependencies, builds and saves the Worker, applies SQL files from `db/`, builds `frontend/`, uploads `frontend/dist`, and updates `pinme.toml` with the final frontend URL.
|
|
704
|
+
|
|
705
|
+
```bash
|
|
706
|
+
pinme save
|
|
707
|
+
pinme save --domain my-site
|
|
708
|
+
pinme save --domain example.com
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
### `update-web`
|
|
712
|
+
|
|
713
|
+
Build and deploy only the frontend from `frontend/`.
|
|
714
|
+
|
|
715
|
+
```bash
|
|
716
|
+
pinme update-web
|
|
717
|
+
```
|
|
559
718
|
|
|
560
|
-
###
|
|
719
|
+
### `update-worker`
|
|
561
720
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
721
|
+
Build and deploy only the Worker from `backend/`. SQL files and frontend assets are not processed.
|
|
722
|
+
|
|
723
|
+
```bash
|
|
724
|
+
pinme update-worker
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
### `update-db`
|
|
728
|
+
|
|
729
|
+
Upload and execute SQL migrations from the `db/` directory. The total SQL payload is limited to 10MB per run.
|
|
730
|
+
|
|
731
|
+
```bash
|
|
732
|
+
pinme update-db
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
### `delete`
|
|
736
|
+
|
|
737
|
+
Delete a platform project, including Worker, domain binding, and D1 database. Local files are kept unchanged.
|
|
738
|
+
|
|
739
|
+
```bash
|
|
740
|
+
pinme delete
|
|
741
|
+
pinme delete my-app
|
|
742
|
+
pinme delete my-app --force
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
---
|
|
746
|
+
|
|
747
|
+
## Wallet Billing
|
|
748
|
+
|
|
749
|
+
### Overview
|
|
750
|
+
|
|
751
|
+
PinMe now uses wallet balance for paid capabilities such as domain binding and custom DNS support.
|
|
569
752
|
|
|
570
753
|
### Domain Binding Requirements
|
|
571
754
|
|
|
572
|
-
Domain binding (both Pinme subdomains and custom DNS domains) requires
|
|
755
|
+
Domain binding (both Pinme subdomains and custom DNS domains) requires sufficient wallet balance.
|
|
573
756
|
|
|
574
757
|
**Before using domain binding:**
|
|
575
758
|
|
|
576
|
-
1. **
|
|
577
|
-
- Visit [PinMe website](https://pinme.eth.limo/) to
|
|
759
|
+
1. **Recharge your wallet**
|
|
760
|
+
- Visit [PinMe website](https://pinme.eth.limo/) to top up your balance
|
|
578
761
|
|
|
579
762
|
2. **Set AppKey**
|
|
580
763
|
```bash
|
|
@@ -590,9 +773,9 @@ Domain binding (both Pinme subdomains and custom DNS domains) requires VIP membe
|
|
|
590
773
|
pinme upload ./dist --domain example.com --dns
|
|
591
774
|
```
|
|
592
775
|
|
|
593
|
-
### Checking
|
|
776
|
+
### Checking Wallet Balance
|
|
594
777
|
|
|
595
|
-
If you attempt to bind a domain without
|
|
778
|
+
If you attempt to bind a domain without enough balance, you'll see an error message. You can check or recharge your wallet on the [PinMe website](https://pinme.eth.limo/).
|
|
596
779
|
|
|
597
780
|
---
|
|
598
781
|
|
|
@@ -649,8 +832,8 @@ Uploaded files are stored on the IPFS network and accessible through the Glitter
|
|
|
649
832
|
|
|
650
833
|
**After successful upload, you receive:**
|
|
651
834
|
1. IPFS content hash
|
|
652
|
-
2.
|
|
653
|
-
3.
|
|
835
|
+
2. Final public URL, selected by priority: DNS domain > Pinme subdomain > short URL > hash preview URL
|
|
836
|
+
3. Hash preview fallback: `https://pinme.eth.limo/#/preview/*`
|
|
654
837
|
|
|
655
838
|
### Log Locations
|
|
656
839
|
|
|
@@ -663,17 +846,18 @@ Uploaded files are stored on the IPFS network and accessible through the Glitter
|
|
|
663
846
|
|
|
664
847
|
### Preview Page
|
|
665
848
|
- Access uploaded website via preview link: `https://pinme.eth.limo/#/preview/*`
|
|
666
|
-
- Get
|
|
849
|
+
- Get a Pinme subdomain: `https://<name>.<root-domain>`
|
|
850
|
+
- Use a custom DNS domain: `https://<your-domain>`
|
|
667
851
|
|
|
668
852
|
### Login and Management
|
|
669
|
-
- Support
|
|
853
|
+
- Support browser login and AppKey-based authentication
|
|
670
854
|
- View historical upload records
|
|
671
855
|
- Manage uploaded files
|
|
672
856
|
|
|
673
857
|
### Address Binding
|
|
674
|
-
- Bind uploads to fixed addresses (requires
|
|
858
|
+
- Bind uploads to fixed addresses (requires authentication and wallet balance)
|
|
675
859
|
- Convenient for long-term maintenance and access
|
|
676
|
-
- Requires
|
|
860
|
+
- Requires `pinme login` or AppKey setup
|
|
677
861
|
|
|
678
862
|
---
|
|
679
863
|
|
|
@@ -795,6 +979,8 @@ jobs:
|
|
|
795
979
|
- run: pinme upload dist --domain "${{ secrets.PINME_DOMAIN }}"
|
|
796
980
|
```
|
|
797
981
|
|
|
982
|
+
`pinme set-appkey` satisfies the authentication requirement for `pinme upload` in CI.
|
|
983
|
+
|
|
798
984
|
### Supported Build Tools
|
|
799
985
|
|
|
800
986
|
- **Vite**: Builds to `dist/`
|