| Crates.io | pic-od |
| lib.rs | pic-od |
| version | 0.1.2 |
| created_at | 2025-12-22 11:14:22.326091+00 |
| updated_at | 2025-12-23 03:45:57.797873+00 |
| description | A CLI tool for uploading images using OpenDAL |
| homepage | |
| repository | https://github.com/frostming/pic-opendal |
| max_upload_size | |
| id | 1999566 |
| size | 89,189 |
A CLI tool for uploading images to various cloud storage services using Apache OpenDAL.
cargo install pic-od
Create a configuration file at ~/.config/pic-od/config.toml:
current_profile = "default"
[profiles.default]
type = "s3"
bucket = "my-bucket"
region = "us-east-1"
access_key_id = "YOUR_ACCESS_KEY"
secret_access_key = "YOUR_SECRET_KEY"
root = "/images"
base_url = "https://cdn.example.com"
filename_format = "{date}/{name}"
[profiles.backup]
type = "gcs"
bucket = "backup-bucket"
credential_path = "/path/to/credentials.json"
base_url = "https://storage.googleapis.com/backup-bucket"
s3 - Amazon S3 and compatible servicesgcs - Google Cloud Storageazblob - Azure Blob Storageoss - Aliyun OSScos - Tencent COSobs - Huawei OBSfs - Local filesystemwebdav - WebDAV{name} - Original filename with extension{stem} - Original filename without extension{ext} - File extension{date} - Current date (YYYYMMDD){year} - Current year (YYYY){month} - Current month (MM){day} - Current day (DD){uuid} - UUIDv7 string# Upload single image
pic-od upload image.png
# Upload multiple images
pic-od upload image1.png image2.jpg image3.gif
# Use a specific profile
pic-od upload -t backup image.png
pic-od upload --profile backup image.png
# Use environment variable
PIC_OD_PROFILE=backup pic-od upload image.png
# List all profiles (* indicates current)
pic-od list
# Set current profile
pic-od profile backup
pic-od uploadNow when you insert an image, Typora will use pic-od to upload it and insert the URL.
Install the Pic OpenDAL extension from the VSCode marketplace.
Apache-2.0