From e9fddaabebd2676ac90a7c909f9026c93ae9caa6 Mon Sep 17 00:00:00 2001 From: jinkeyuu <44105232+jinkeyuu@users.noreply.github.com> Date: Tue, 31 Mar 2026 18:45:40 +0800 Subject: [PATCH] s3: add UCloud Object Storage provider (#9230) Co-authored-by: jinyu.han --- README.md | 1 + backend/s3/provider/us3.yaml | 44 +++++++++++ docs/content/_index.md | 1 + docs/content/s3.md | 137 +++++++++++++++++++++++++++++++++++ 4 files changed, 183 insertions(+) create mode 100644 backend/s3/provider/us3.yaml diff --git a/README.md b/README.md index b6ad61ce1..4cf53a9fc 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ directories to and from different cloud storage providers. - Synology C2 Object Storage [:page_facing_up:](https://rclone.org/s3/#synology-c2) - Tencent Cloud Object Storage (COS) [:page_facing_up:](https://rclone.org/s3/#tencent-cos) - Uloz.to [:page_facing_up:](https://rclone.org/ulozto/) +- US3 Object Storage [:page_facing_up:](https://rclone.org/s3/#us3) - Wasabi [:page_facing_up:](https://rclone.org/s3/#wasabi) - WebDAV [:page_facing_up:](https://rclone.org/webdav/) - Yandex Disk [:page_facing_up:](https://rclone.org/yandex/) diff --git a/backend/s3/provider/us3.yaml b/backend/s3/provider/us3.yaml new file mode 100644 index 000000000..9267c0552 --- /dev/null +++ b/backend/s3/provider/us3.yaml @@ -0,0 +1,44 @@ +name: US3 +description: US3 Object Storage +endpoint: + s3-cn-bj.ufileos.com: North China (Beijing 2) + s3-cn-wlcb.ufileos.com: North China (Ulanqab) + s3-cn-sh2.ufileos.com: Shanghai + s3-cn-gd.ufileos.com: South China (Guangzhou) + s3-hk.ufileos.com: Hongkong + s3-us-ca.ufileos.com: United States (Los Angeles) + s3-sg.ufileos.com: Singapore + s3-idn-jakarta.ufileos.com: Indonesia (Jakarta) + s3-tw-tp.ufileos.com: Taiwan (Taipei) + s3-afr-nigeria.ufileos.com: Nigeria (Lagos) + s3-bra-saopaulo.ufileos.com: Brazil (São Paulo) + s3-uae-dubai.ufileos.com: United Arab Emirates (Dubai) + s3-ge-fra.ufileos.com: Germany (Frankfurt) + s3-vn-sng.ufileos.com: Vietnam (Ho Chi Minh City) + s3-us-ws.ufileos.com: United States (Washington) + s3-ind-mumbai.ufileos.com: India (Mumbai) + s3-kr-seoul.ufileos.com: Seoul (South Korea) + s3-jpn-tky.ufileos.com: Japan (Tokyo) + s3-th-bkk.ufileos.com: Bangkok (Thailand) + s3-uk-london.ufileos.com: United Kingdom (London) + s3-rus-mosc.ufileos.com: Russia (Moscow) + s3-cn-guiyang1.ufileos.com: Guiyang 1 + s3-pk-khi.ufileos.com: Pakistan +acl: + private: |- + Owner gets FULL_CONTROL. + No one else has access rights (default). + public-read: |- + Owner gets FULL_CONTROL. + The AllUsers group gets READ access. +storage_class: + '': Default + STANDARD: Standard storage class + ARCHIVE: Archive storage mode + STANDARD_IA: Infrequent access storage mode +bucket_acl: true +quirks: + list_version: 1 + use_multipart_etag: false + use_already_exists: false + list_url_encode: true diff --git a/docs/content/_index.md b/docs/content/_index.md index d2c3591bb..3b845d72f 100644 --- a/docs/content/_index.md +++ b/docs/content/_index.md @@ -216,6 +216,7 @@ WebDAV or S3, that work out of the box.) {{< provider name="SugarSync" home="https://sugarsync.com/" config="/sugarsync/" >}} {{< provider name="Tencent Cloud Object Storage (COS)" home="https://intl.cloud.tencent.com/product/cos" config="/s3/#tencent-cos" >}} {{< provider name="Uloz.to" home="https://uloz.to" config="/ulozto/" >}} +{{< provider name="US3" home="https://www.ucloud.cn/site/product/ufile.html" config="/s3/#us3" >}} {{< provider name="Wasabi" home="https://wasabi.com/" config="/s3/#wasabi" >}} {{< provider name="WebDAV" home="https://en.wikipedia.org/wiki/WebDAV" config="/webdav/" >}} {{< provider name="Yandex Disk" home="https://disk.yandex.com/" config="/yandex/" >}} diff --git a/docs/content/s3.md b/docs/content/s3.md index 836509d95..ecc4a0db7 100644 --- a/docs/content/s3.md +++ b/docs/content/s3.md @@ -55,6 +55,7 @@ The S3 backend can be used with a number of different providers: {{< provider name="Storj" home="https://storj.io/" config="/s3/#storj" >}} {{< provider name="Synology C2 Object Storage" home="https://c2.synology.com/en-global/object-storage/overview" config="/s3/#synology-c2" >}} {{< provider name="Tencent Cloud Object Storage (COS)" home="https://intl.cloud.tencent.com/product/cos" config="/s3/#tencent-cos" >}} +{{< provider name="US3" home="https://www.ucloud.cn/site/product/ufile.html" config="/s3/#us3" >}} {{< provider name="Wasabi" home="https://wasabi.com/" config="/s3/#wasabi" >}} {{< provider name="Zadara Object Storage" home="https://www.zadara.com" config="/s3/#zadara" >}} {{< provider name="Zata" home="https://zata.ai/" config="/s3/#Zata" end="true" >}} @@ -9118,6 +9119,142 @@ To configure access to Tencent COS, follow the steps below: ==== ==== cos s3 ``` +### US3 {#us3} +[US3](https://www.ucloud.cn/site/product/ufile.html) Object Storage is a service that provides cloud storage for unstructured files for internet applications. + +To configure access to US3, follow the steps below: +1. First run: + ```console + rclone config + No remotes found, make a new one? + n) New remote + s) Set configuration password + q) Quit config + n/s/q> n + ``` +2. Give the name of the configuration. For example, name it 'US3'. + + ```text + name> US3 + ``` +3. Select `s3` storage. + + ```text + Choose a number from below, or type in your own value + [snip] + XX / Amazon S3 Compliant Storage Providers including AWS, ... + \ "s3" + [snip] + Storage> s3 + ``` +4. Select `US3` provider. + + ```text + Choose a number from below, or type in your own value. + XX / Amazon Web Services (AWS) S3 + \ (AWS) + [snip] + XX / UCloud Object Storage (US3) + \ (US3) + [snip] + provider> US3 + ``` +5. Enter your SecretId and SecretKey of US3. + + ```text + Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). + Only applies if access_key_id and secret_access_key is blank. + Choose a number from below, or type in your own boolean value (true or false). + Press Enter for the default (false). + Choose a number from below, or type in your own value + 1 / Enter AWS credentials in the next step + \ "false" + 2 / Get AWS credentials from the environment (env vars or IAM) + \ "true" + env_auth> 1 + Option access_key_id. + AWS Access Key ID. + Leave blank for anonymous access or runtime credentials. + Enter a value. Press Enter to leave empty. + access_key_id> AKIDxxxxxxxxxx + AWS Secret Access Key (password) + Leave blank for anonymous access or runtime credentials. + Enter a string value. Press Enter for the default (""). + secret_access_key> xxxxxxxxxxx + ``` + +6. Select endpoint. + ```text + Option endpoint. + Endpoint for S3 API. + Required when using an S3 clone. + Choose a number from below, or type in your own value. + Press Enter to leave empty. + 1 / North China (Beijing 2). + \ "s3-cn-bj.ufileos.com" + 2 / North China (Ulanqab). + \ "s3-cn-wlcb.ufileos.com" + 3 / Shanghai. + \ "s3-cn-sh2.ufileos.com" + 4 / South China (Guangzhou). + \ "s3-cn-gd.ufileos.com" + [snip] + endpoint> 1 + ``` + +7. Choose acl and storage class. + + ```text + Option acl. + Canned ACL used when creating buckets and storing or copying objects. + This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. + For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl + Note that this ACL is applied when server-side copying objects as S3 + doesn't copy the ACL from the source but rather writes a fresh one. + If the acl is an empty string then no X-Amz-Acl: header is added and + the default (private) will be used. + Choose a number from below, or type in your own value. + Press Enter to leave empty. + / Owner gets FULL_CONTROL. + 1 | No one else has access rights (default). + \ (private) + / Owner gets FULL_CONTROL. + 2 | The AllUsers group gets READ access. + \ (public-read) + acl> 1 + + The storage class to use when storing new objects in US3. + Enter a string value. Press Enter for the default (""). + Choose a number from below, or type in your own value + 1 / Default + \ "" + [snip] + storage_class> 1 + Edit advanced config? (y/n) + y) Yes + n) No (default) + y/n> n + + Configuration complete. + Options: + - type: s3 + - provider: US3 + - access_key_id: xx + - secret_access_key: xx + - endpoint: s3-cn-bj.ufileos.com + - acl: private + + Keep this "US3" remote? + y) Yes this is OK (default) + e) Edit this remote + d) Delete this remote + y/e/d> y + Current remotes: + + Name Type + ==== ==== + US3 s3 + ``` ### Wasabi