Feature: Extract archives and create ZIPs for external apps Supported Formats: ZIP, RAR, 7Z, TAR, TAR.GZ, TAR.BZ2 Compression: STORE (fastest) | DEFLATE | BZIP2 | LZMA (maximum) Use Case: Handle compressed galleries and multi-host uploads
Archive support in BBDrop provides two key features:
This guide covers how to use both features effectively.
BBDrop can extract and process the following compressed archive formats:
| Format | Extension | Best For | Notes |
|---|---|---|---|
| ZIP | .zip |
Universal | Most common, wide compatibility |
| RAR | .rar |
Large files | Excellent compression, requires WinRAR |
| 7-Zip | .7z |
High compression | Best compression ratio, slower |
| TAR | .tar |
Unix/Linux | Uncompressed archive |
| TAR.GZ | .tar.gz |
Unix/Linux | Compressed with gzip |
| TAR.BZ2 | .tar.bz2 |
Unix/Linux | Compressed with bzip2 |
When BBDrop creates archives automatically, it supports these compression modes:
| Mode | Type | Speed | Size | Recommended Use |
|---|---|---|---|---|
| STORE | No compression | 0.5-2x faster | Original size + 1-2% | Images (already compressed) |
| DEFLATE | Standard | Normal | 5-15% smaller | Mixed content |
| BZIP2 | High compression | Slower | 10-20% smaller | Archive storage |
| LZMA | Maximum compression | Slowest | 15-25% smaller | Final archival |
Recommendation: Use STORE mode for image galleries since images (JPG, PNG) are already compressed and ZIP compression provides minimal benefit while wasting CPU time.
You can add an archive file to BBDrop in three ways:
python bbdrop.py vacation.zip --gui
When you add an archive, BBDrop will:
/tmp on Linux, %TEMP% on Windows)The Archive Folder Selector appears after extraction:
+--- Select Folders to Upload ---+
| Archive: vacation_photos.zip |
| Extracted to: /tmp/bbdrop_xyz |
| |
| Found 3 image folders: |
| [x] Day1_Beach (127 images) |
| [x] Day2_City (84 images) |
| [ ] Day3_Mountain (95 images) |
| |
| [Select All] [Upload] [Cancel] |
+---------------------------------+
Actions:
After selection:
You have a single ZIP file containing photos from a 3-day event, organized by day:
vacation_photos.zip
+-- Day1_Beach/
| +-- IMG_0001.jpg
| +-- IMG_0002.jpg
| +-- ... (127 total)
+-- Day2_City/
| +-- IMG_0128.jpg
| +-- IMG_0129.jpg
| +-- ... (84 total)
+-- Day3_Mountain/
+-- IMG_0212.jpg
+-- IMG_0213.jpg
+-- ... (95 total)
Steps:
vacation_photos.zip into BBDropWhen you use external apps (hooks) to upload to additional hosts, BBDrop can automatically create temporary ZIP archives. This is useful for:
In Settings -> External Apps, set up an app with the %z parameter:
{
"name": "Upload to Gofile",
"command": "python",
"arguments": ["hooks/muh.py", "gofile", "%z"],
"execute_on": "completed",
"capture_output": true
}
The %z parameter tells BBDrop to create a ZIP file.
After your gallery finishes uploading to the image host:
bbdrop_<gallery_id>_<gallery_name>.zipbbdrop_abc123_Summer_Vacation.zip (245 MB)BBDrop runs the external app and passes the ZIP path:
python hooks/muh.py gofile /tmp/bbdrop_abc123_Summer_Vacation.zip
After the external app completes (success or failure):
Scenario: Upload to both your image host and Gofile
Name: Upload to Gofile
Command: python
Arguments: hooks/muh.py gofile %z
Execute on: completed
python hooks/muh.py gofile /tmp/bbdrop_abc123_Summer_Vacation.zipext1 field| Archive Type | Size | Extraction Time | Notes |
|---|---|---|---|
| ZIP (STORE) | 250 MB | 1-2 sec | Fastest, no decompression |
| ZIP (DEFLATE) | 200 MB | 3-5 sec | Standard compression |
| 7Z | 150 MB | 5-8 sec | High compression, slower |
| RAR | 180 MB | 4-6 sec | Depends on compression |
| Compression | Speed | Output Size | Time (250 MB) |
|---|---|---|---|
| STORE | Fastest | 250 MB | 0.5 sec |
| DEFLATE | Normal | 230 MB | 3-4 sec |
| BZIP2 | Slower | 210 MB | 6-8 sec |
| LZMA | Slowest | 190 MB | 10-15 sec |
BBDrop uses STORE mode by default for ZIP creation because:
Temporary Extraction:
Windows: C:\Users\[username]\AppData\Local\Temp\bbdrop_extract_*
Linux: /tmp/bbdrop_extract_*
Temporary ZIP Creation:
Windows: C:\Users\[username]\AppData\Local\Temp\bbdrop_[id]_[name].zip
Linux: /tmp/bbdrop_[id]_[name].zip
These directories are automatically cleaned up:
For multi-location photo events:
vacation_2025.zip
+-- Day1_Beach/
| +-- Morning/
| | +-- IMG_*.jpg
| +-- Sunset/
| +-- IMG_*.jpg
+-- Day2_City/
| +-- Downtown/
| | +-- IMG_*.jpg
| +-- Museum/
| +-- IMG_*.jpg
+-- Day3_Mountain/
+-- Summit/
| +-- IMG_*.jpg
+-- Base/
+-- IMG_*.jpg
Benefits:
Don’t do this:
all_vacation_photos.zip
+-- IMG_0001.jpg
+-- IMG_0002.jpg
+-- IMG_0003.jpg
+-- ... (300+ files)
Problems:
Error: “Failed to extract archive”
Solutions:
Problem: “Found 0 image folders” but archive contains images
Solutions:
Photos/ -> IMG_*.jpgProblem: External app ZIP creation takes 30+ seconds
Solutions:
Problem: C:\Users\[user]\AppData\Local\Temp\bbdrop_* files remain
Solutions:
# Windows
rmdir /s /q %TEMP%\bbdrop_*
# Linux
rm -rf /tmp/bbdrop_*
The muh.py script is a multi-host uploader that works great with BBDrop-created ZIPs:
# Upload ZIP to Gofile
python hooks/muh.py gofile /tmp/bbdrop_abc123_Summer_Vacation.zip
# Upload ZIP to Pixeldrain
python hooks/muh.py pixeldrain /tmp/bbdrop_abc123_Summer_Vacation.zip
# Upload ZIP with authentication (Rapidgator)
python hooks/muh.py rapidgator /tmp/bbdrop_abc123_Summer_Vacation.zip username:password
Upload same gallery to multiple hosts:
App 1: Gofile
{
"name": "Upload ZIP to Gofile",
"command": "python",
"arguments": ["hooks/muh.py", "gofile", "%z"],
"execute_on": "completed",
"output_mapping": {"ext1": "$.download_link"}
}
App 2: Pixeldrain
{
"name": "Upload ZIP to Pixeldrain",
"command": "python",
"arguments": ["hooks/muh.py", "pixeldrain", "%z"],
"execute_on": "completed",
"output_mapping": {"ext2": "$.download_link"}
}
Both execute after gallery upload completes, and results are stored in ext1 and ext2 fields.
Available parameters for external apps:
| Parameter | Description | Example |
|---|---|---|
%z |
ZIP path (auto-created) | /tmp/bbdrop_abc123_vacation.zip |
%N |
Gallery name | Summer Vacation |
%p |
Gallery path | /home/user/images/vacation |
%C |
Image count | 127 |
%g |
Gallery ID | abc123xyz |
%j |
JSON artifact path | ~/.bbdrop/artifacts/abc123.json |
Archive support in BBDrop is designed to be intuitive and automatic:
Use archives to handle complex gallery structures, multi-host uploads, and external application workflows efficiently.