CLI per object storage S3-compatibile cross-cloud per elencare, esportare e scaricare bucket su AWS, Aliyun, Tencent, Huawei e altri, con navigazione anonima e scansione per il rilevamento dei bucket.
中文 | English
Strumento da riga di comando per l'object storage cross-cloud basato sul protocollo S3. Un unico binario per operare sull'object storage dei principali provider 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 e altri servizi compatibili con S3.
https://..., riconosce i domini dei vari provider e risolve nome del bucket/regione;
i parametri di query dell'URL (prefix, delimiter, max-keys, continuation-token, marker, start-after)
vengono usati direttamente come filtri, in modo simile a aws-s3-bucket-browserhttps://files.example.com/mybucket/), con risoluzione automatica in stile path-style; basta il passthrough dell'API S3 per elencare e scaricare?token=abc per un gateway di autenticazione) vengono iniettati automaticamente
in ogni richiesta API (elenco/download/upload/presigned), e prima della firma SigV4-d che richiedono una scansione completa diventano centinaia di volte più veloci)txt / csv / xlsx / yaml / markdown (--export)cp -r scarica tutti i file corrispondenti in base a --include/--exclude/--prefix, mantenendo la struttura di directory delle keyfind rileva in batch (più bucket da riga di comando/standard input) su quale cloud storage si trova un bucket,
supporta sia il nome del bucket sia l'URL completo del bucket; esegue il rilevamento anonimo e identifica contemporaneamente se è possibile elencare le directory in modo anonimo; i bucket elencabili anonimamente vengono
evidenziati sulla riga di comando con una ★ verde brillante, e --export esporta in txt/csv/xlsx/yaml/md con un campo dedicato listable_urloss serve fornisce su una singola porta REST API + documentazione OpenAPI 3 + endpoint per strumenti MCP;
oss mcp stdio|http|sse espone ls/stat/cat/presign/find come strumenti MCP richiamabili da client come Claude--color auto|always|never)OSS_LANG=zh|en).part-x proxy, -H header personalizzati (UA / Cookie …), -k salta la verifica del certificatoMetodo uno: Homebrew (macOS / Linux, consigliato)```bash brew install ejfkdev/tap/oss
**Metodo due: go install** (richiede Go 1.24+)```bash
go install github.com/ejfkdev/oss@latest
Modalità tre: binari precompilati
Scarica l'archivio corrispondente alla tua piattaforma da GitHub Releases
(linux/darwin/windows × amd64/arm64), estrailo e usalo. Gli artefatti delle Release sono già privati della tabella dei simboli,
le versioni Linux/Windows sono compresse con UPX (la versione macOS non è compressa: i Mach-O impacchettati con UPX vengono bloccati dal kernel).
Ogni versione è accompagnata da un file di checksum SHA256.
Modalità quattro: compilazione dai sorgenti (richiede Go 1.24+):```bash git clone https://github.com/ejfkdev/oss && cd oss make build # 产物为 ./oss make install # 安装到 $GOPATH/bin make release # 本地交叉编译全部平台到 dist/
## Avvio rapido```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" ./
| Forma | Esempio |
|---|---|
| scheme | s3://bucket/prefix, oss://, cos://, obs:// |
| nome bucket nudo | mybucket/prefix (con --provider / -e) |
| URL HTTP | https://bucket.s3.us-east-1.amazonaws.com/prefix?prefix=logs/ |
Domini dei provider riconosciuti automaticamente dall'URL (con parsing di endpoint / region / bucket):