CLI de stockage d'objets compatible S3 multi-cloud pour lister, exporter et télécharger des buckets sur AWS, Aliyun, Tencent, Huawei et plus encore, avec navigation anonyme et analyse de découverte de buckets.
中文 | English
Outil en ligne de commande de stockage d'objets multi-cloud basé sur le protocole S3. Un seul binaire pour manipuler le stockage d'objets des principaux fournisseurs cloud : AWS S3, Alibaba Cloud OSS, Tencent Cloud COS, Huawei Cloud OBS, Baidu Cloud BOS, Kingsoft Cloud KS3, UCloud US3, JD Cloud OSS, Google Cloud Storage, Cloudflare R2, Scaleway, Wasabi, DigitalOcean Spaces, Backblaze B2, MinIO et autres services compatibles S3.
https://..., identification des domaines de chaque fournisseur et résolution du nom de bucket/de la région ;
les paramètres de requête d'URL (prefix, delimiter, max-keys, continuation-token, marker, start-after)
servent directement de filtres, à l'image de aws-s3-bucket-browserhttps://files.example.com/mybucket/), analyse automatique en path-style, le passthrough de l'API S3 suffit pour lister et télécharger?token=abc pour une passerelle d'authentification) sont automatiquement injectés dans
chaque requête API (listage/téléchargement/upload/présignature), et ce avant la signature SigV4-d sont accélérés de plusieurs centaines de fois)txt / csv / xlsx / yaml / markdown (--export)cp -r télécharge tous les fichiers correspondant à --include/--exclude/--prefix, en conservant la structure de répertoires des clésfind détecte en lot (plusieurs en ligne de commande/entrée standard) à quel stockage cloud appartient un bucket,
prise en charge du nom de bucket et de l'URL complète du bucket ; détection anonyme identifiant simultanément la possibilité de lister le répertoire en anonyme, les buckets listables en anonyme
sont mis en évidence en vert vif ★ dans la ligne de commande, --export exporte en txt/csv/xlsx/yaml/md avec un champ dédié listable_urloss serve fournit sur un seul port une API REST + documentation OpenAPI 3 + point d'accès d'outils MCP,
oss mcp stdio|http|sse expose ls/stat/cat/presign/find comme outils MCP pour des clients tels que Claude--color auto|always|never)OSS_LANG=zh|en).part-x, en-têtes personnalisés -H (UA / Cookie …), -k pour ignorer la vérification du certificatMéthode 1 : Homebrew (macOS / Linux, recommandé)```bash brew install ejfkdev/tap/oss
**Méthode 2 : go install** (nécessite Go 1.24+)```bash
go install github.com/ejfkdev/oss@latest
Méthode trois : binaire précompilé
Téléchargez l'archive correspondant à votre plateforme depuis GitHub Releases
(linux/darwin/windows × amd64/arm64), décompressez et utilisez directement. Les artefacts de Release sont déjà dépouillés de leur table de symboles,
les versions Linux/Windows sont compressées avec UPX (la version macOS ne l'est pas : un Mach-O empaqueté avec UPX serait bloqué par le noyau).
Chaque version est accompagnée d'un fichier de somme de contrôle SHA256.
Méthode quatre : compilation depuis les sources (nécessite Go 1.24+) :```bash git clone https://github.com/ejfkdev/oss && cd oss make build # 产物为 ./oss make install # 安装到 $GOPATH/bin make release # 本地交叉编译全部平台到 dist/
## Démarrage rapide```bash
# 匿名浏览公共桶(无需凭证)
oss ls https://noaa-nwm-pds.s3.amazonaws.com/?delimiter=/
oss ls "https://noaa-nwm-pds.s3.amazonaws.com/?prefix=nwm.20250101/&delimiter=/&max-keys=20"
oss cp -r https://noaa-nwm-pds.s3.amazonaws.com/nwm.20250101/ ./nwm/ --jobs 32
# 阿里云 OSS
oss ls oss://mybucket/logs/ --ak <AK> --sk <SK> --region cn-hangzhou
export OSS_ACCESS_KEY_ID=xxx OSS_SECRET_ACCESS_KEY=yyy # 或者用环境变量
oss ls mybucket --provider aliyun # 裸桶名写法
# 腾讯云 COS / 华为云 OBS
oss ls s3://bucket-1250000000 --provider tencent --region ap-guangzhou
oss ls https://bucket.obs.cn-north-4.myhuaweicloud.com/prefix/
# Yandex / Exoscale / Arvan
oss ls s3://mybucket --provider yandex
oss ls s3://mybucket --provider exoscale --region ch-gva-2
# MinIO / 自建 S3
oss ls s3://mybucket -e http://127.0.0.1:9000 --ak minioadmin --sk minioadmin
oss ls http://127.0.0.1:9000/mybucket/prefix/ # IP/端口自动识别为 path-style
# 走代理、自定义 UA / Cookie
oss ls s3://mybucket -x http://127.0.0.1:7890 \
-H "User-Agent: my-agent/1.0" -H "Cookie: session=abc"
# 目录形式转发的桶(反代把桶挂在路径下,S3 API 透传)
oss ls "https://files.example.com/mybucket/?prefix=2026/&max-keys=10"
oss cp "https://files.example.com/mybucket/<key>" ./
# 附带额外参数的访问(token 等会自动带到每个请求)
oss ls "http://gateway.example.com/bucket?token=abc"
oss cp "http://gateway.example.com/bucket/file.bin?token=abc" ./
| Forme | Exemple |
|---|---|
| scheme | s3://bucket/prefix、oss://、cos://、obs:// |
| nom de bucket nu | mybucket/prefix(avec --provider / -e) |
| URL HTTP | https://bucket.s3.us-east-1.amazonaws.com/prefix?prefix=logs/ |
Domaines des fournisseurs reconnus automatiquement par URL (résolution de l'endpoint / region / bucket) :