Skip to content

Quick start ​

Connect to a bucket and transfer your first file. A bucket is an OSS storage container; an object key is a file's full name in that bucket, including its folder prefix.

1. Prepare your connection ​

Follow Get the app to choose a build or run the development preview. Have your bucket's region and one of these ready:

Sign-in methodWhat you need
AccessKeyAccessKey ID and Secret for an identity allowed to access the bucket
STSAccessKey ID, Secret and the temporary security token
Authorization codeA directory-scoped code from a compatible OSS Browser; check its expiry and read-only scope

Use a test bucket or a dedicated test folder for your first transfer. Your RAM policy determines which operations are allowed.

2. Connect to OSS ​

Enter a connection name and region (for example, cn-hangzhou), then your credentials. For authorization codes, switch to that sign-in tab and paste the code. Under advanced options, enter a specific bucket if your identity cannot list all buckets. A folder prefix must end in /.

Choose Connect. You should see the bucket list or the bucket and folder you specified. Credentials remain in memory unless you opt in to the system keyring. See troubleshooting if the connection fails.

3. Find a file ​

Open a bucket, then a folder. Select a file to see its size, storage class and details. Search matches an object-key prefix; sorting applies to the rows already loaded. Load more results if the object is not visible.

4. Transfer one file ​

Choose Upload and select a small local file, or select a remote file and choose Download with a local destination. Review the plan and choose how to handle existing files. For a first test, report conflicts so an existing file is not deliberately replaced.

Open Transfers to follow progress. After completion, refresh the object list for uploads or open your chosen local folder for downloads. Closing the app or disconnecting stops active transfers; reconnect with the same profile and AccessKey ID and retry unfinished records manually.

5. Preview or share ​

Select one file and choose Preview. Text changes default to an edited copy. Use Share to create an expiring link; anyone holding a valid signed link can use its granted access, so treat it as a credential.

Continue with the reference below, settings, or troubleshooting.

Connections and browsing ​

Enter a connection name, region, AccessKey ID and Secret; STS also needs a token. Alternatively select Authorization code and paste an upstream OSS Browser base64 JSON code. Directory-scoped STS codes apply their bucket/prefix, expiry and read-only restriction. RAM policies remain authoritative. Codes for a single file are not supported as directory connections.

Advanced options select the endpoint mode. CNAME and PrivateLink require an HTTPS endpoint and a bucket. Internal mode derives the regional internal endpoint unless an explicit endpoint is supplied. Credentials stay in memory by default. Save in system keyring is opt-in; Load saved and Forget credentials explicitly access the OS store. No credentials are written to settings or transfer records.

Open buckets/folders, navigate history, search a remote prefix and load more results. Sorting covers loaded rows. The bookmark button adds/removes the current folder; saved bookmarks appear in the sidebar for the same profile. Cmd/Ctrl + K opens all commands.

Transfers ​

Choose files or a folder to upload, or select remote files/folders to download. Review the plan and select Report conflict, Skip existing or Replace existing. Local symlinks and special files are rejected. Download paths preserve the relative tree and reject traversal, reserved names, case collisions and symlinked subdirectories. Empty upload folders become directory markers.

Upload and download task concurrency is configurable independently (default two each). Upload parts default to 8 MiB with three parts in parallel; download part concurrency defaults to three. Upload part size grows automatically for very large files. Failed transient file transfers retry with bounded backoff. Retry reuses valid SDK checkpoints. Downloads verify resumed data, length and OSS CRC64, constrain ETags when available, and publish only after completion.

Closing/disconnecting cancels the active queue. Reconnect with the same profile and AccessKey ID, then retry restored unfinished entries; nothing resumes automatically. Records, checkpoints and download partials live beside settings under transfers/. Publishing copies the verified data into a private temporary file in the selected destination before an atomic rename or link; allow space for both copies. The selected download root is persisted and enforced during retry and cleanup. Older destination-side partials are downloaded again; if an older job cannot safely resolve its destination, queue it again. Cancellation preserves checkpoints and remote multipart parts for recovery; remove abandoned multipart uploads through OSS lifecycle rules/console when no longer needed. Refresh the listing after writes.

Object tools ​

Select one file and use its details panel, or use the command palette for batch actions. Preview displays bounded UTF-8 text or raster images. Text edits can be reviewed as a diff and saved to a different key. Metadata uses a JSON object with string values; ACL changes show their public-access effect. Share links allow 15 minutes, 1 hour, 1 day or 7 days, capped by known STS expiry. Links can be copied or opened; they are not persisted.

Copy/move accept a full destination prefix ending in /. Rename accepts a full object key. Review the listed objects before applying mutations. Each batch item reports its own result in the queue; retry targets the failed item. Move copies before deleting; if deletion fails, both objects remain and retry does not copy again. New-folder creation is available in the command palette.

Current limits ​

This is a development build. Real-account OSS acceptance, Windows/Linux desktop integration, production signing/notarization and release publication require the environments that will be provided later. Software-rendered snapshots and cross-compilation do not establish native acceptance.

Text editing supports UTF-8 up to 5 MiB; remote preview reads are limited to 8 MiB and image decoding to 20 megapixels. Edited copies are the default. Explicit original replacement preserves headers, tags, metadata, ACL and storage class after an ETag preflight; this check and the write are not atomic. Images support zoom; audio/video use the native WebView; documents, FLV and unsupported codecs offer external-open/download fallback. Metadata replacement supports objects up to 1 GiB. Recursive plans are bounded to 100,000 keys and copy/move/delete queues are session-only. MyGo signed installation/restart is wired, but requires a publisher key and update feed; development builds provide manual release downloads.

OSS does not enforce x-oss-forbid-overwrite on versioned or versioning-suspended buckets. Upload and copy preflight checks detect existing objects, but a concurrent creation can still add a newer version. Delete/move use a final ETag check followed by deletion; OSS does not make those two requests atomic. Avoid concurrent source writes during these operations.

Bucket, access and sharing tools ​

Bucket menus create/delete buckets, edit ACLs and list/abort multipart uploads. Public ACL changes require confirmation. Object menus support recursive folder operations, HTTP headers and batch metadata, symlink creation, and Archive/Cold Archive/Deep Cold Archive restoration. Restore requests enter the queue; acceptance is not the same as completed restoration.

Copy or move records a source snapshot; navigate to the destination and choose Paste. Single-file paste accepts a new name; recursive operations preserve relative paths. Same-region cross-bucket copies use OSS server-side copy. Each result is independently retryable. Multiple selected objects can be granted through a policy to an existing RAM user, group or role, or to a newly created user. The RAM dialog manages user profiles and AccessKeys; the temporary-code dialog uses STS AssumeRole.

Public links require a public ACL. Private links support expiry, custom HTTPS domains and acceleration; signed URLs are generated against the chosen host. QR codes encode the exact URL. SMTP sharing and authorization-code mail require confirmation; SMTP uses TLS/STARTTLS and optional system-keyring secrets.

Settings now contain Transfer, System, SMTP, Logs and Other tabs. Upload/download concurrency, part sizes, timeout, retries and listing size are validated and applied to new connections. Thumbnails, automatic update checks and local diagnostic logs are opt-in. Keep signed in reloads credentials from the system store; disconnect clears the auto-login preference.

See the 110-scene implementation ledger for source and acceptance evidence.

An independent rebuild of OSS Browser.