diff --git a/static/popups/cli.html b/static/popups/cli.html index 131216b..00ee69c 100644 --- a/static/popups/cli.html +++ b/static/popups/cli.html @@ -1,19 +1,26 @@ -

Upload from a terminal

-

WarpBox accepts normal multipart uploads at /upload. The server returns JSON with a box_url you can open or share.

-
curl \
-  -F 'files=@./my-file.zip' \
-  -F 'retention=1h' \
-  {{ origin }}/upload
-
+

Upload Files from Terminal

-

Reusable shell wrapper

-

This version is small, portable, and works well as a personal warpbox command.

-
#!/usr/bin/env bash
+

WarpBox accepts normal multipart uploads at /upload. The server returns JSON with a box_url you can open or share.

+ +
+

> Quick Upload: Use this command to upload a single file:

+
curl \
+    -F 'files=@./my-file.zip' \
+    -F 'retention=1h' \
+    {{ origin }}/upload
+
+ +

Reusable Shell Wrapper

+

This version is small, portable, and works well as a personal warpbox command.

+ +
+

> Save this as a file called warpbox and make it executable to use it as a command:

+
#!/usr/bin/env bash
 set -euo pipefail
 
 if [ "$#" -lt 1 ]; then
-  echo "Usage: warpbox FILE [FILE ...]" >&2
-  exit 64
+    echo "Usage: warpbox FILE [FILE ...]" >&2
+    exit 64
 fi
 
 endpoint="${WARPBOX_URL:-{{ origin }}}/upload"
@@ -21,42 +28,55 @@ retention="${WARPBOX_RETENTION:-1h}"
 
 args=(-F "retention=${retention}")
 for file in "$@"; do
-  args+=(-F "files=@${file}")
+    args+=(-F "files=@${file}")
 done
 
-curl --fail-with-body "${args[@]}" "${endpoint}"
-
+curl --fail-with-body "${args[@]}" "${endpoint}"
+ -

Install it

+

Install the Command

Put the wrapper somewhere on your PATH, then call it with one or more files.

-
chmod +x ./warpbox
-sudo install -m 755 ./warpbox /usr/local/bin/warpbox
-warpbox ./photo.png ./archive.zip
-
-

Print only the share URL

-

If jq is installed, this variant extracts the returned link and expands it to a full URL.

-
warpbox() {
-  local endpoint="${WARPBOX_URL:-{{ origin }}}/upload"
-  local retention="${WARPBOX_RETENTION:-1h}"
-  local args=(-F "retention=${retention}")
+
+

> Install Steps:

+
    +
  1. Make the script executable: chmod +x ./warpbox
  2. +
  3. Install to system path: sudo install -m 755 ./warpbox /usr/local/bin/warpbox
  4. +
  5. Use it: warpbox ./photo.png ./archive.zip
  6. +
+
- for file in "$@"; do - args+=(-F "files=@${file}") - done +

Print Only the Share URL

+

If jq is installed, this variant extracts the returned link and expands it to a full URL.

- curl --fail-with-body -sS "${args[@]}" "${endpoint}" | - jq -r --arg origin "${WARPBOX_URL:-{{ origin }}}" '"\($origin)\(.box_url)"' -} -
+
+

> Function Version: Add this function to your shell profile (like ~/.bashrc or ~/.zshrc):

+
warpbox() {
+    local endpoint="${WARPBOX_URL:-{{ origin }}}/upload"
+    local retention="${WARPBOX_RETENTION:-1h}"
+    local args=(-F "retention=${retention}")
 
-

Add password or retention

-

You can keep the wrapper simple and pass fixed options through environment variables or extra form fields.

-
WARPBOX_RETENTION=24h warpbox ./release.tar.gz
+    for file in "$@"; do
+        args+=(-F "files=@${file}")
+    done
 
-curl \
-  -F 'files=@./private.zip' \
-  -F 'retention=1h' \
-  -F 'password=correct-horse-battery-staple' \
-  {{ origin }}/upload
-
+ curl --fail-with-body -sS "${args[@]}" "${endpoint}" | + jq -r --arg origin "${WARPBOX_URL:-{{ origin }}}" '"\($origin)\(.box_url)"' +}
+
+ +

Add Password or Retention

+

You can keep the wrapper simple and pass fixed options through environment variables or extra form fields.

+ +
+

> Examples:

+

Set retention period for one upload:

+
WARPBOX_RETENTION=24h warpbox ./release.tar.gz
+ +

Add password protection to a specific upload:

+
curl \
+    -F 'files=@./private.zip' \
+    -F 'retention=1h' \
+    -F 'password=correct-horse-battery-staple' \
+    {{ origin }}/upload
+
\ No newline at end of file diff --git a/static/popups/faq.html b/static/popups/faq.html index 8cf2ff1..684b3c1 100644 --- a/static/popups/faq.html +++ b/static/popups/faq.html @@ -1,17 +1,79 @@ -

Help & FAQ

+

Help & FAQ

+ +
+

> Fast path: Add files, choose any Box Options you need, then start the upload. WarpBox creates one share link for the whole box.

+
    +
  1. Add files: drag files onto the window or use Ctrl + O.
  2. +
  3. Check options: set expiry, password, ZIP download, or one-time download before uploading.
  4. +
  5. Upload: press Ctrl + U or use the Upload button.
  6. +
  7. Share: copy the returned link with Ctrl + L.
  8. +
+
+
-

Keyboard shortcuts

+

Keyboard Shortcuts

+ +

Common Questions

-

Can I password protect uploads?

Yes. Set a password in Box Options before starting the upload.

-

What happens if one file fails?

The failed row stays red, successful files remain available, and WarpBox marks the failed file in the manifest.

-

Are all options server-backed?

Expiry, password, ZIP download, and one-time download are sent to the backend. Notes like box name, custom slug, and API key mode are saved locally until backend support exists.

+
+

What is a box?

+

A box is the temporary share page WarpBox creates after upload. It can contain one file or many files, plus the manifest that records upload status.

+
+
+

Can I password protect uploads?

+

Yes. Set a password in Box Options before starting the upload. Anyone opening the box must enter that password before downloading protected files.

+
+
+

How does expiry work?

+

The expiry value is sent with the upload as retention. After that period, the server may delete the box and its files according to the running WarpBox configuration.

+
+
+

What does one-time download do?

+

One-time download tells the backend to treat a file or box as burn-after-read. After a successful download, the link should no longer be reusable.

+
+
+

Can people download everything at once?

+

Enable ZIP download before uploading. When supported by the backend, the share page offers a single archive for the box.

+
+
+

What happens if one file fails?

+

The failed row stays red, successful files remain available, and WarpBox marks the failed file in the manifest so you can tell what needs another attempt.

+
+
+

Can I upload from terminal or automation?

+

Yes. Use the CLI help window for ready-made curl, shell, Node.js, Go, and Java examples. Copy command with Ctrl + K.

+
+
+

Are all options server-backed?

+

Expiry, password, ZIP download, and one-time download are sent to the backend. Box name, custom slug, and API key mode are saved locally until backend support exists.

+
+
+ +

Troubleshooting

+
+
+

Upload button is disabled.

+

Add at least one file, remove duplicates if prompted, and check Upload Limits for configured box and single-file limits.

+
+
+

Copy failed.

+

Some browsers block clipboard access outside secure contexts or direct user gestures. WarpBox shows a fallback text box so the link or command can be selected manually.

+
+
+

Shared link opens but download fails.

+

The box may be expired, consumed by one-time download, password-protected, or removed by server cleanup. Re-upload the file if the box is no longer available.

+
+
+

Large file fails early.

+

Check Upload Limits first. If the file is inside limits, retry on a stable connection or use the terminal upload flow so the exact server error is visible.

+