nuwax-sync-0.1.0 is not a library.
nuwax-sync
A command-line tool to sync GitHub Release assets to Alibaba Cloud OSS.
Features
- ✅ Automatically fetch the latest or specific GitHub Release
- ✅ Concurrent file downloads (default: 3 concurrent)
- ✅ SHA256 integrity verification
- ✅ Automatic multipart upload for large files (>5MB)
- ✅ Smart skip of existing files
- ✅ Read OSS configuration from config file
- ✅ Detailed progress logging
Installation
Quick Start
Using Environment Variables
# Set required environment variables
# Sync the latest release
Using Configuration File
Create a config.toml file:
[]
= "oss-rg-china-mainland.aliyuncs.com"
= "your-bucket"
= "" # optional
= "" # optional
= 1800 # optional
Then run:
Usage
)
Examples
Sync Latest Release
Sync Specific Version
Custom OSS Directory
Force Re-upload
Environment Variables
| Variable | Required | Description | Default |
|---|---|---|---|
OSS_ACCESS_KEY_ID |
✅ | Alibaba Cloud Access Key ID | - |
OSS_ACCESS_KEY_SECRET |
✅ | Alibaba Cloud Access Key Secret | - |
OSS_ENDPOINT |
❌ | OSS Endpoint | From config file |
OSS_BUCKET_NAME |
❌ | Bucket name | From config file |
OSS_CDN_DOMAIN |
❌ | CDN domain | "" |
OSS_PATH_PREFIX |
❌ | Global path prefix | "" |
OSS_UPLOAD_TIMEOUT |
❌ | Upload timeout (seconds) | 3600 |
GITHUB_TOKEN |
❌ | GitHub token | "" |
Note: Environment variables have higher priority than config file values.
OSS Directory Structure
After syncing, files are organized as:
{bucket_name}/
└── {repo_name}/
└── {version_tag}/
├── file1.zip
├── file2.tar.gz
└── ...
Example: syncing https://github.com/nuwax-ai/mcp-proxy v0.1.28:
nuwa-packages/
└── mcp-proxy/
└── v0.1.28/
├── source.tar.gz
├── mcp-proxy-aarch64-apple-darwin
└── ...
Download URLs
Files can be accessed via:
https://{bucket_name}.{endpoint}/{repo_name}/{version_tag}/{filename}
Example:
https://nuwa-packages.oss-rg-china-mainland.aliyuncs.com/mcp-proxy/v0.1.28/source.tar.gz
License
Apache License 2.0