What Cloud Storage Providers Does PicList Support? A Complete Technical Guide
PicList supports over 20 cloud storage providers including Alibaba Cloud OSS, Tencent Cloud COS, Amazon S3, Qiniu, Huawei Cloud OBS, DogeCloud, and self-hosted options like Alist, SFTP, WebDAV, and GitHub, all managed through a unified plugin architecture defined in src/renderer/utils/static.ts.
PicList, an open-source image hosting and management tool maintained by kuingsmile/piclist, provides extensive cloud storage integration through its modular PicBed system. Understanding what cloud storage providers PicList supports is essential for configuring your workflow, whether you need enterprise-grade object storage or self-hosted alternatives.
Complete List of Cloud Storage Providers Supported by PicList
The definitive registry of supported providers resides in src/renderer/utils/static.ts, specifically within the picBedsCanbeDeleted array that enumerates every back-end PicList can manage, synchronize, and delete files from.
Major Cloud Object Storage Services
PicList natively integrates with leading cloud object storage platforms:
- aliyun – Alibaba Cloud OSS, configured via access keys and bucket regions
- tcyun – Tencent Cloud COS, supporting standard and custom domains
- qiniu – Qiniu Cloud Object Storage with automatic zone detection
- huaweicloud-uploader – Huawei Cloud OBS for enterprise deployments
- aws-s3 / aws-s3-plist – Amazon S3 and variant configurations supporting signature v4
- dogecloud – DogeCloud OSS (Cloudflare-based) with temporary token support via
getTempTokeninsrc/main/manage/utils/dogeAPI.ts
Image Hosting and CDN Services
Beyond traditional object storage, PicList supports specialized image hosting platforms:
- smms – SM.MS image hosting
- imgur – Imgur cloud hosting with OAuth support
- upyun – Upyun Object Storage and CDN
- lskyplist – LskyPro image hosting integration
- github – GitHub repository storage via raw file URLs
Self-Hosted and Protocol-Based Storage
For users requiring on-premises or custom infrastructure:
- alist / alistplist – Self-hosted Alist file list service
- sftpplist – SFTP-based storage for secure file transfer
- webdavplist – WebDAV server compatibility
- local – Local filesystem storage for testing and offline workflows
- piclist – PicList's own built-in storage format
How PicList Manages Cloud Storage Providers
PicList implements a layered architecture to standardize operations across diverse storage back-ends.
Provider Registry in static.ts
The src/renderer/utils/static.ts file serves as the central registry. The picBedsCanbeDeleted array defines which providers support file deletion, while picBedManualUrlList maps each provider to its configuration documentation URL. For example, the Aliyun entry links to https://piclist.cn/en/configure.html#alibaba-cloud.
Provider-Specific API Implementations
Each cloud storage provider has a dedicated implementation under src/main/manage/apis/:
tcyun.ts– Tencent COS implementation with URL construction following the patternhttps://${bucket}.cos.${region}.myqcloud.coms3plist.ts– Generic S3 logic handling region-specific endpoints and signature calculationsdogeAPI.ts– DogeCloud-specific utilities includingdogecloudApiandgetTempTokenfor temporary credential generation
Unified CRUD and Sync Engine
PicList abstracts provider differences through unified interfaces:
- Deletion API –
src/main/apis/delete/allApi.tsimports provider-specific classes (e.g.,DogeCloudApi,HuaweicloudApi) and exposes a commondeletemethod used by the gallery view - Sync Engine –
src/main/utils/syncSettings.tscoordinates bidirectional synchronization, comparing local gallery metadata against remote storage and handling uploads or deletions based on user preferences
Configuration Examples for Popular Providers
Alibaba Cloud OSS Configuration
Configure Aliyun OSS by specifying credentials in the PicList settings:
{
"picBed": {
"aliyun": {
"accessKeyId": "<Your AccessKey ID>",
"accessKeySecret": "<Your AccessKey Secret>",
"bucket": "my-piclist-bucket",
"region": "cn-hangzhou",
"customUrl": ""
}
}
}
The configuration UI links to the official guide at https://piclist.cn/en/configure.html#alibaba-cloud as defined in picBedManualUrlList.en.aliyun.
DogeCloud Upload Script
For programmatic uploads using DogeCloud's temporary token system:
// Example script using PicList's scripting system
import { getTempToken, dogecloudApi } from '~/manage/utils/dogeAPI'
async function uploadFile(path, file) {
const token = await getTempToken('ACCESS_KEY', 'SECRET_KEY')
const res = await dogecloudApi('/oss/putObject', {
bucket: token.bucket,
region: token.region,
key: path,
body: file
}, true, token.accessKeyId, token.secretAccessKey)
return res
}
This utilizes the dogecloudApi and getTempToken functions defined in src/main/manage/utils/dogeAPI.ts.
Tencent Cloud COS File Deletion
To delete objects from Tencent COS programmatically:
import { deleteObject } from '~/manage/apis/tcyun'
await deleteObject({
bucketName: 'my-bucket',
region: 'ap-guangzhou',
key: 'images/photo.png'
})
The deleteObject function constructs the endpoint URL using the pattern https://${bucket}.cos.${region}.myqcloud.com as implemented in src/main/manage/apis/tcyun.ts.
Summary
- PicList supports over 20 cloud storage providers ranging from major object storage services (Alibaba Cloud, Tencent Cloud, AWS S3) to self-hosted solutions (Alist, SFTP, WebDAV).
- The
picBedsCanbeDeletedarray insrc/renderer/utils/static.tsserves as the definitive registry of supported providers. - Each provider has dedicated API implementations under
src/main/manage/apis/with standardized CRUD operations unified throughsrc/main/apis/delete/allApi.ts. - Configuration documentation URLs are mapped in
picBedManualUrlListwithinstatic.ts, linking to official setup guides at piclist.cn.
Frequently Asked Questions
Does PicList support Amazon S3-compatible storage?
Yes, PicList includes built-in support for Amazon S3 through the aws-s3 and aws-s3-plist providers. The implementation in src/main/manage/apis/s3plist.ts handles region-specific endpoints and signature v4 authentication, making it compatible with any S3-compatible service including MinIO, Wasabi, and DigitalOcean Spaces.
Can I use PicList with self-hosted storage solutions?
Absolutely. PicList supports several self-hosted options including Alist (alist/alistplist), SFTP (sftpplist), and WebDAV (webdavplist). These providers are implemented in dedicated modules under src/main/manage/apis/ and allow you to connect to private infrastructure without relying on commercial cloud services.
How does PicList handle file deletion across different providers?
PicList implements a unified deletion interface in src/main/apis/delete/allApi.ts that imports provider-specific classes such as DogeCloudApi and HuaweicloudApi. When you delete a file through the gallery view, the system dispatches to the appropriate provider's delete method, ensuring consistent behavior whether you're using Tencent COS, Alibaba OSS, or GitHub storage.
Where can I find configuration instructions for a specific provider?
Configuration documentation URLs are centralized in the picBedManualUrlList object within src/renderer/utils/static.ts. Each provider maps to a specific anchor link on piclist.cn, such as https://piclist.cn/en/configure.html#alibaba-cloud for Aliyun OSS. Clicking the "Configure" button in the PicList UI automatically opens the relevant documentation page.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →