้ซๆง่ฝ ยท ๅพฎๅ ๆ ธๆถๆ ยท ๅค็ฝ็็ปไธๆฅๅฃ ยท ่ทจ็ๅๆญฅไผ ่พ
High-Performance ยท Microkernel Architecture ยท Universal Cloud Storage CLI ยท Cross-Cloud Sync
| ็นๆง / Feature | cloud-cli | rclone | ๅ็ฝ็ CLI / Single-Provider CLI |
|---|---|---|---|
| ้็จๆฅๅฃ + ไธๅฑ่ฝๅ | โ ๅๅฑๆถๆ๏ผ้็จๅบๅบง+ๆฉๅฑๆฅๅฃ | โ ๅ่ฝไธฐๅฏไฝ้ ็ฝฎๅคๆ | โ ๅ่ฝ็ปๅฎ็นๅฎ็ฝ็ |
| ๅคธๅ ็ฝ็ๆฏๆ | โ ๅฎๆดๆฏๆ๏ผ็งไผ ใๅ็ใๆญ็น๏ผ | โ ไธๆฏๆ | โ ไป ๅคธๅ |
| ๆญ็น็ปญไผ | โ ๅดฉๆบ่ชๅจๆขๅค | โ | โ ้ๅธธไธๆฏๆ |
| ็งไผ ๆฃๆต | โ ่ชๅจ SHA1 ้ขๆฃ | โ | โ |
| ่ทจ็ๅฏนๆท | โ ๅคธๅ โ ็พๅบฆ โ ๆฌๅฐ | โ | โ |
| ็ฎๅฝๅๆญฅ | โ
--dry-run + --delete |
โ ๅ่ฝๅคไฝๅญฆไน ๆๆฌ้ซ | โ |
| ้ ็ฝฎๅคๆๅบฆ | ๐ข ๆ็ฎ๏ผไธๆกๅฝไปค็ปๅฝ | ๐ด ้้ ็ฝฎๅคไธช remote | ๐ข ็ฎๅ |
| ๅค่ดฆๆท็ฎก็ | โ YAML ็ปไธ็ฎก็ | โ ้ ็ฝฎๆไปถไธญ็ฎก็ | โ ้ๅธธๅ่ดฆๆท |
| CI/CD ๅๅธ | โ Goreleaser ่ชๅจๆๅปบๅคๅนณๅฐ | โ | โ |
- ๐ ๆไปถๅ้ฉฑๅจๆถๆ โ ๆฏไธช็ฝ็ๅช้ๅฎ็ฐๆฅๅฃๅณๅฏๆฅๅ ฅ๏ผๆชๆฅๅฏๆฉๅฑ็พๅบฆใ115ใ้ฟ้ใOneDrive ็ญใ
- ๐ง ๆบ่ฝ่ฝๅๆฃๆต โ CLI ่ชๅจๆฃๆตๅฝๅ็ฝ็ๆฏๆ็ๅ่ฝ๏ผไธๆฏๆ็ๅ่ฝไผ้ ้็บง๏ผไธๆฅ้ใ
- ๐ ่ทจ็ๅๆญฅๅผๆ โ ๅบไบๆตๅผ I/O ็ๅๆญฅๅผๆ๏ผๆฌๅฐไธไบ็ซฏใไบ็ซฏไธไบ็ซฏไน้ดๆ ็ผไผ ่พใ
- โก ็ไบง็บงไธไผ โ ๅนถๅๅ็ + ๆญ็น็ปญไผ + ็งไผ ๆฃๆต + SSRF ้ฒๆค๏ผไธไธบๅคงๆไปถไผๅใ
- ๐ ๆ็ฎ้ ็ฝฎ โ ๆซ็ ็ปๅฝ / Cookie ๅฏผๅ ฅ๏ผไธๆกๅฝไปคๅฎๆ๏ผๆ ้ๅคๆ้ ็ฝฎๆไปถใ
ๅๅพ Releases ไธ่ฝฝๅฏนๅบๅนณๅฐ็ไบ่ฟๅถๆไปถ๏ผ
# Linux amd64
curl -LO https://github.com/Ab-code520/cloud-cli/releases/download/v1.4.0/cloud-cli_1.4.0_linux_amd64.tar.gz
tar -xzf cloud-cli_1.4.0_linux_amd64.tar.gz
sudo mv cloud-cli /usr/local/bin/git clone https://github.com/Ab-code520/cloud-cli.git
cd cloud-cli
go build -o cloud-cli .
sudo mv cloud-cli /usr/local/bin/go install github.com/Ab-code520/cloud-cli@latest# ๆซ็ ็ปๅฝๅคธๅ
๏ผๆจ่๏ผ/ QR Scan Login (Recommended)
cloud-cli login quark
# ๆไฝฟ็จ Cookie ็ปๅฝ / Login with Cookie
cloud-cli login quark --cookie "your_cookie_string_here"# ๅๅบๆ น็ฎๅฝ / List root directory
cloud-cli ls
# ๅๅบๆๅฎ็ฎๅฝ / List specific directory
cloud-cli ls folder_id
# ้ๅฝๅๅบ / List recursively (future)# ไธไผ ๅไธชๆไปถ๏ผ่ชๅจ็งไผ ๆฃๆต + ๆญ็น็ปญไผ ๏ผ
cloud-cli upload ./movie.mp4 /videos/
# ไฝฟ็จๆๅฎ็ญ็ฅ / With upload policy
cloud-cli upload ./movie.mp4 /videos/ --policy overwrite # ่ฆ็ๅทฒๆๆไปถ
cloud-cli upload ./movie.mp4 /videos/ --policy skip # ่ทณ่ฟๅทฒๅญๅจ๏ผ้ป่ฎค๏ผ
cloud-cli upload ./movie.mp4 /videos/ --policy rsync # ไป
ๅจไฟฎๆนๅไธไผ # ไธ่ฝฝๆไปถ / Download file
cloud-cli download /videos/movie.mp4 ./local_movie.mp4
# ๆญ็น็ปญไผ ไธ่ฝฝ๏ผไธญๆญๅ้ๆฐ่ฟ่กๅณๅฏๆขๅค๏ผ/ Resume on interrupt
cloud-cli download /videos/big_movie.mp4 ./big.mp4# ๆฌๅฐ โ ๅคธๅ
๏ผไป
ๅๆญฅๆฐๅข/ไฟฎๆน็ๆไปถ๏ผ
cloud-cli sync ./photos quark:/backup/photos
# ้ข่งๅๆญฅๅ
ๅฎน๏ผไธไผๅฎ้
ๆง่ก๏ผ/ Dry Run
cloud-cli sync ./data quark:/backup --dry-run
# ๅๆญฅๅนถๅ ้ค็ฎๆ ็ซฏๅคไฝๆไปถ / Sync + Delete Extra
cloud-cli sync ./important quark:/important --delete# ๆไปถๆไฝ / File Operations
cloud-cli copy <file_id> <dest_id> # ๅคๅถๆไปถ
cloud-cli move <file_id> <dest_id> # ็งปๅจๆไปถ
cloud-cli rename <file_id> "ๆฐๅ็งฐ" # ้ๅฝๅ
cloud-cli info <file_id> # ๆฅ็ๆไปถ่ฏฆๆ
cloud-cli delete <file_id> # ๅ ้คๆไปถ
cloud-cli mkdir <path> # ๅๅปบ็ฎๅฝ
# ้ซ็บงๅ่ฝ / Advanced Features
cloud-cli search "ๅ
ณ้ฎ่ฏ" # ๆ็ดขๆไปถ
cloud-cli share create <id1> <id2> # ๅๅปบๅไบซ
cloud-cli share list # ๆฅ็ๅไบซๅ่กจ
cloud-cli share delete <share_id> # ๅ ้คๅไบซ
cloud-cli quota # ๆฅ็็ฉบ้ดไฝฟ็จๆ
ๅต
cloud-cli recycle list # ๆฅ็ๅๆถ็ซ
cloud-cli recycle restore <fid> # ๆขๅคๆไปถ
cloud-cli recycle delete <fid> # ๅฝปๅบๅ ้ค
# ่ดฆๆท็ฎก็ / Account Management
cloud-cli user # ๆฅ็ๅฝๅ่ดฆๆทไฟกๆฏโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ CLI Commands โ
โ login ls upload download sync copy move search ... โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ้็จๅผๆ / Core Engines โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Sync Engine โ โ Transfer โ โ Config Manager โ โ
โ โ (ๅๆญฅๅผๆ) โ โ (ไผ ่พๅผๆ) โ โ (้
็ฝฎ็ฎก็ๅจ) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ้็จๅบๅบงๆฅๅฃ / Base Storage Interface โ
โ Name() Init() List() Open() Put() Delete() ... โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๆฉๅฑ่ฝๅๆฅๅฃ / Extension Interfaces โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โ
โ โ Sharable โ โSearchableโ โQuotaProv. โ โ RecycleBin โ โ
โ โ (ๅไบซ) โ โ (ๆ็ดข) โ โ (็ฉบ้ด) โ โ (ๅๆถ็ซ) โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ้ฉฑๅจๅฎ็ฐ / Driver Backends โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Quark Drive โ โ Local FS โ โ Baidu / 115 / Ali... โ โ
โ โ (ๅคธๅ
็ฝ็) โ โ (ๆฌๅฐๆไปถ็ณป็ป) โ โ (ๆชๆฅๆฉๅฑ) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
cloud-cli/
โโโ core/ # ๅพฎๅ
ๆ ธๆ ธๅฟ
โ โโโ fs.go # ๅบ็กๆฅๅฃ + ๆฉๅฑๆฅๅฃๅฎไน
โ โโโ config.go # YAML ๅค่ดฆๆท้
็ฝฎ็ฎก็
โ โโโ sync.go # ็ฎๅฝๅๆญฅๅผๆ
โ โโโ transfer.go # ่ทจ็ๆตๅผไผ ่พๅผๆ
โ โโโ registry.go # ้ฉฑๅจๆณจๅ่กจ
โโโ backends/ # ็ฝ็้ฉฑๅจ
โ โโโ quark/ # ๅคธๅ
็ฝ็๏ผๅฎๆดๅฎ็ฐ๏ผ
โ โโโ local/ # ๆฌๅฐๆไปถ็ณป็ป
โโโ cmd/ # CLI ๅฝไปค๏ผCobra๏ผ
โโโ utils/ # ๅทฅๅ
ทๅบ
โ โโโ pool.go # ๅนถๅๅทฅไฝๆฑ ๏ผๅธฆ็ๆญ๏ผ
โ โโโ hash.go # ๆตๅผ SHA1 ่ฎก็ฎ
โโโ .github/workflows/ # CI/CD
โ โโโ release.yml # Goreleaser ่ชๅจๆๅปบ
โโโ main.go # ๅ
ฅๅฃ๏ผๅฏผๅ
ฅๆๆ้ฉฑๅจ๏ผ
- โ
loginโ ๆซ็ ็ปๅฝ / Cookie ็ปๅฝ - โ
lsโ ๅๅบ็ฎๅฝ - โ
uploadโ ไธไผ ๆไปถ๏ผๅ็ๅนถๅ + ๆญ็น็ปญไผ + ็งไผ ๏ผ - โ
downloadโ ไธ่ฝฝๆไปถ๏ผๆฏๆๆญ็น็ปญไผ ๏ผ - โ
deleteโ ๅ ้คๆไปถ/ๆไปถๅคน - โ
mkdirโ ๅๅปบ็ฎๅฝ
- โ
copyโ ๅคๅถๆไปถ - โ
moveโ ็งปๅจๆไปถ - โ
renameโ ้ๅฝๅ - โ
infoโ ๆฅ็ๆไปถ่ฏฆๆ ๏ผๅคงๅฐใ็ฑปๅใHashใๆถ้ด๏ผ
- โ
searchโ ็ฝ็ๅ ๆไปถๆ็ดข - โ
shareโ ๅไบซ็ฎก็๏ผๅๅปบ/ๅ่กจ/ๅ ้ค๏ผ - โ
quotaโ ็ฉบ้ดไฝฟ็จๆ ๅต๏ผๅซๅฏ่งๅ่ฟๅบฆๆก๏ผ - โ
recycleโ ๅๆถ็ซ็ฎก็๏ผๅ่กจ/ๆขๅค/ๅฝปๅบๅ ้ค๏ผ
- โ
syncโ ็ฎๅฝๅๆญฅ๏ผๆฏๆ--dry-runๅ--delete๏ผ - โ ๆฌๅฐ โ ไบ็ซฏๅๆญฅ
- โ ่ทจ็ๆตๅผไผ ่พๅผๆ๏ผ้ข็๏ผ
- โ YAML ๅค่ดฆๆท้ ็ฝฎ
- โ Goreleaser ่ทจๅนณๅฐๆๅปบ๏ผLinux/macOS/Windows ร amd64/arm64๏ผ
- โ GitHub Actions CI/CD
- โ SSRF ๅฎๅ จ้ฒๆค
# ่ทณ่ฟๅทฒๅญๅจๆไปถ๏ผ้ป่ฎค๏ผ/ Skip existing
cloud-cli upload ./file.txt /dest/ --policy skip
# ่ฆ็ๅทฒๅญๅจๆไปถ / Overwrite existing
cloud-cli upload ./file.txt /dest/ --policy overwrite
# ไป
ๅจๆไปถๆๅๅๆถไธไผ / Upload only if modified
cloud-cli upload ./file.txt /dest/ --policy rsyncๆๆๅ่กจๅๆฅ่ฏขๅฝไปค้ฝๆฏๆ --output json (ๆ -o json) ๅๆฐ๏ผๆนไพฟไธๅ
ถไป่ๆฌๆๅทฅๅ
ท้ๆ๏ผ
# ไปฅ JSON ๆ ผๅผๅๅบๆไปถ / List files as JSON
cloud-cli ls -o json
# ่พๅบ็คบไพ๏ผ
# [
# {
# "id": "file_id_1",
# "name": "document.pdf",
# "size": 1048576,
# "is_dir": false,
# "mod_time": "2026-01-01T12:00:00Z",
# "path": "/document.pdf"
# }
# ]
# ็ปๅ jq ไฝฟ็จ / Pipe to jq
cloud-cli ls -o json | jq '.[].name'
# ๆฅ็็ฉบ้ดไฝฟ็จๆ
ๅต / Check quota as JSON
cloud-cli quota -o jsonๅจๆง่กๅฎ้ ๅๆญฅไนๅ๏ผๅฏไปฅๅ ้ข่งไผๅไปไนๆไฝ๏ผ
cloud-cli sync ./photos quark:/backup/photos --dry-run่พๅบ็คบไพ๏ผ
๐ Syncing ./photos -> quark:/backup/photos ...
๐ This is a dry run, no files will be modified.
โฌ๏ธ upload IMG_001.jpg [DRY RUN]
โฌ๏ธ upload IMG_002.jpg [DRY RUN]
๐ update edited_photo.png [DRY RUN]
โ
Sync completed.
้
็ฝฎๆไปถไฝไบ ~/.config/cloud-cli/config.yaml๏ผ
default: quark-default
accounts:
quark-default:
type: quark
cookie:
cookie: "your_cookie_here"
settings:
speed_limit: "0"
retries: 3
timeout: 60| ๅนณๅฐ / OS | amd64 | arm64 |
|---|---|---|
| Linux | โ | โ |
| macOS | โ | โ |
| Windows | โ | โ |
- ๅๅปบ้ฉฑๅจ็ฎๅฝ๏ผ
backends/<provider>/driver.go+api.go - ๅฎ็ฐ
core.Storageๆฅๅฃ๏ผ่ณๅฐๅฎ็ฐ CRUD ๆนๆณ๏ผ - ๅฏ้๏ผๅฎ็ฐๆฉๅฑๆฅๅฃ๏ผ
SharableใSearchable็ญ๏ผ - ๅจ
init()ไธญๆณจๅ๏ผcore.Register("provider", NewDriver) - ๅจ
main.goไธญๆทปๅ ็ฉบ็ฝๅฏผๅ ฅ๏ผ_ "github.com/Ab-code520/cloud-cli/backends/<provider>"
ๅฐฑๆฏ่ฟไน็ฎๅ๏ผ ้ฉฑๅจๆฅๅ ฅๅๅณๅฏไบซๅ๏ผๅๆญฅๅผๆใไผ ่พๅผๆใCLI ๅฝไปค็ญๅ จ้จๅบ็ก่ฎพๆฝใ
ๆฌ้กน็ฎ้็จ MIT ่ฎธๅฏ่ฏใ่ฏฆ่ง LICENSE ๆไปถใ
This project is licensed under the MIT License. See the LICENSE file for details.
ๆฌข่ฟๆไบค Issue ๅ Pull Request๏ผ
Issues and Pull Requests are welcome!
Made with โค๏ธ by Abu
โญ Star this repo ยท ๐ Report Bug ยท ๐ก Request Feature