
क्रॉस-क्लाउड S3-संगत ऑब्जेक्ट स्टोरेज CLI, जो AWS, Aliyun, Tencent, Huawei और अन्य में बकेट को सूचीबद्ध, निर्यात और डाउनलोड करने के लिए है, साथ ही अनाम ब्राउज़िंग और बकेट डिस्कवरी स्कैनिंग के साथ।
中文 | English
S3 प्रोटोकॉल आधारित क्रॉस-क्लाउड ऑब्जेक्ट स्टोरेज कमांड-लाइन टूल। एक ही बाइनरी से प्रमुख क्लाउड प्रदाताओं के ऑब्जेक्ट स्टोरेज को संचालित करें: AWS S3, अलीबाबा क्लाउड OSS, टेनसेंट क्लाउड COS, हुआवेई क्लाउड OBS, बायडू क्लाउड BOS, किंगसॉफ्ट क्लाउड KS3, UCloud US3, जेडी क्लाउड OSS, Google Cloud Storage, Cloudflare R2, Scaleway, Wasabi, DigitalOcean Spaces, Backblaze B2, MinIO तथा अन्य S3-संगत सेवाएँ।
https://... URL एक्सेस का समर्थन, विभिन्न प्रदाताओं के डोमेन की पहचान कर बकेट नाम/क्षेत्र का विश्लेषण;
URL क्वेरी पैरामीटर (prefix, delimiter, max-keys, continuation-token, marker, start-after)
सीधे फ़िल्टर शर्तों के रूप में कार्य करते हैं, aws-s3-bucket-browser के समानhttps://files.example.com/mybucket/), स्वतः path-style में विश्लेषण, S3 API पासथ्रू से सूचीबद्ध और डाउनलोड करें?token=abc प्रमाणीकरण गेटवे) स्वतः
प्रत्येक API अनुरोध (सूचीबद्ध/डाउनलोड/अपलोड/प्रीसाइन) में इंजेक्ट होते हैं, और SigV4 हस्ताक्षर से पहले इंजेक्ट होते हैं-d जैसे पूर्ण स्कैन वाले परिदृश्यों में सैकड़ों गुना तेज़)txt / csv / xlsx / yaml / markdown में निर्यात (--export)cp -r द्वारा --include/--exclude/--prefix के अनुसार सभी मेल खाती फ़ाइलें डाउनलोड करें, key डायरेक्टरी संरचना बनाए रखेंfind बैच (कमांड-लाइन पर कई/मानक इनपुट) में पता लगाएँ कि बकेट किस क्लाउड स्टोरेज में है,
बकेट नाम और पूर्ण बकेट URL का समर्थन; अनाम रूप से खोजें और साथ ही पहचानें कि अनाम रूप से डायरेक्टरी सूचीबद्ध की जा सकती है या नहीं, अनाम रूप से सूचीबद्ध होने वाले बकेट
कमांड-लाइन पर चमकीले हरे ★ से हाइलाइट, --export में विशेष listable_url फ़ील्ड सहित txt/csv/xlsx/yaml/md निर्यातoss serve एक पोर्ट पर REST API + OpenAPI 3 दस्तावेज़ + MCP टूल एंडपॉइंट प्रदान करता है,
oss mcp stdio|http|sse द्वारा ls/stat/cat/presign/find को MCP टूल के रूप में Claude आदि क्लाइंट के लिए उपलब्ध कराएँ--color auto|always|never)OSS_LANG=zh|en से बाध्य करें).part परमाणु डिस्क राइट-x प्रॉक्सी, -H कस्टम हेडर (UA / Cookie …), -k प्रमाणपत्र सत्यापन छोड़ेंविधि एक: Homebrew (macOS / Linux, अनुशंसित)```bash brew install ejfkdev/tap/oss
**तरीका दो: go install** (Go 1.24+ आवश्यक है)```bash
go install github.com/ejfkdev/oss@latest
तरीका तीन: पूर्व-संकलित बाइनरी
GitHub Releases से संबंधित प्लेटफ़ॉर्म का संपीड़ित पैकेज डाउनलोड करें
(linux/darwin/windows × amd64/arm64), अनज़िप करके सीधे उपयोग करें। Release उत्पादों से सिंबल टेबल हटा दी गई है,
Linux/Windows संस्करण UPX से संपीड़ित हैं (macOS संस्करण संपीड़ित नहीं है: UPX द्वारा पैक किए गए Mach-O को कर्नेल द्वारा अवरुद्ध कर दिया जाएगा)।
प्रत्येक संस्करण के साथ SHA256 चेकसम फ़ाइल संलग्न है।
तरीका चार: स्रोत कोड संकलन (Go 1.24+ की आवश्यकता है):```bash git clone https://github.com/ejfkdev/oss && cd oss make build # 产物为 ./oss make install # 安装到 $GOPATH/bin make release # 本地交叉编译全部平台到 dist/
## त्वरित शुरुआत```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" ./
| 形式 | 示例 |
|---|---|
| scheme | s3://bucket/prefix、oss://、cos://、obs:// |
| 裸桶名 | mybucket/prefix(配合 --provider / -e) |
| HTTP URL | https://bucket.s3.us-east-1.amazonaws.com/prefix?prefix=logs/ |
URL 自动识别的厂商域名(解析出 endpoint / region / bucket):
| 厂商 | 域名示例 |
|---|---|
| AWS | bucket.s3.region.amazonaws.com、s3.region.amazonaws.com/bucket |
| 阿里云 | bucket.oss-cn-hangzhou.aliyuncs.com(含 accelerate) |
| 腾讯云 | bucket-appid.cos.ap-guangzhou.myqcloud.com |
| 华为云 | bucket.obs.cn-north-4.myhuaweicloud.com |
| 百度云 BOS | bucket.s3.bj.bcebos.com、s3.bj.bcebos.com/bucket |
| 金山云 KS3 | bucket.ks3-cn-beijing.ksyuncs.com |
| UCloud US3 | bucket.s3-cn-sh2.ufileos.com |
| 京东云 OSS | s3.cn-north-1.jdcloud-oss.com/bucket(path-style) |
| 天翼云 OOS | bucket.oos-cn.ctyunapi.cn(含资源池与香港节点 endpoint) |
| 联通云 OSS | bucket.obs-helf.cucloud.cn(行业云地域) |
| 移动云 EOS | bucket.eos-wuxi-1.cmecloud.cn(30 个地域) |
| 青云 QStor | bucket.s3.pek3a.qsstor.com(S3 兼容域名 qsstor.com) |
| Scaleway | bucket.s3.fr-par.scw.cloud(fr-par/nl-ams/pl-waw) |
| Wasabi | bucket.s3.us-east-1.wasabisys.com(14 个地域) |
| DigitalOcean Spaces | nyc3.digitaloceanspaces.com/bucket(9 个地域) |
| Yandex | bucket.storage.yandexcloud.net |
| Exoscale SOS | bucket.ch-gva-2.sos.exoscale.com(6 个地域) |
| Arvan Cloud | bucket.s3.ir-thr-at1.arvanstorage.ir |
| Cloudflare R2 | bucket.<account_id>.r2.cloudflarestorage.com |
| GCS | storage.googleapis.com/bucket(HMAC 密钥) |
其它主机(MinIO、Ceph、反代转发桶、CNAME…)统一按 path-style 解析:
第一段路径作为桶名,其余为 key,例如
https://files.example.com/mybucket/sub/key.jpg → 桶 mybucket、key sub/key.jpg。
若主机直接指向桶(CNAME),用 --bucket NAME 显式指定。URL 为空时(oss ls)列举所有桶。
URL 查询参数分两类:
prefix delimiter max-keys continuation-token marker
start-after encoding-type list-type)→ 解释为列举过滤条件token=abc)→ 视为额外参数,透传到对该目标的每个请求
(ListObjects / GetObject / PutObject / Presign 等),适用于带鉴权参数的网关;
参数在 SigV4 签名前注入、参与签名,因此与 AK/SK 凭证可同时使用按以下顺序解析,命中即止: