Object Storage TUI client (Cloudflare R2 / Aliyun OSS)
Project description
CyberStore - TUI client for object storage — supports Cloudflare R2 && Aliyun OSS.
Features
- Browse buckets and objects with a file-tree sidebar
- Upload / download files with progress bar
- Delete single or multiple objects (multi-select with
Space) - Generate presigned URLs and CDN links
- Create buckets
- Fuzzy search within a bucket
- Switch between Cloudflare R2 and Aliyun OSS
Installation
Option 1: Install via pipx (recommended)
pipx install cyberstore-tui
Option 2: Install via install script (downloads the latest release binary)
curl -fsSL https://raw.githubusercontent.com/amazingchow/cyberstore/master/scripts/install.sh | bash
Optional environment variables:
INSTALL_DIR— Directory to install the binary (default:/usr/local/bin). Example, install to your user bin:INSTALL_DIR=~/.local/bin bash -c "$(curl -fsSL https://raw.githubusercontent.com/amazingchow/cyberstore/master/scripts/install.sh)"CYBERSTORE_VERSION— Pin to a specific release (e.g.v1.2.0). Omit to install the latest.
Then run:
cyberstore
Configuration
On first launch, the Setup screen appears. Select your storage provider and fill in the credentials.
Cloudflare R2 (default)
| Field | Description |
|---|---|
| Account ID | Your Cloudflare account ID |
| Access Key ID | R2 API token access key ID |
| Secret Access Key | R2 API token secret access key |
Credentials are stored in ~/.config/cyberstore/config.toml under the [r2] section.
Aliyun OSS
| Field | Description |
|---|---|
| Endpoint | OSS endpoint, e.g. https://oss-cn-hangzhou.aliyuncs.com |
| Bucket | OSS bucket name |
| Access Key ID | Aliyun RAM access key ID |
| Access Key Secret | Aliyun RAM access key secret |
Credentials are stored under the [oss] section. The active provider is recorded as storage_provider = "oss".
CDN (optional, R2 only)
| Field | Description |
|---|---|
| Custom Domain | Your CDN domain, e.g. cdn.example.com |
| R2.dev Subdomain | R2 public bucket subdomain |
Example ~/.config/cyberstore/config.toml
storage_provider = "r2" # or "oss"
[r2]
account_id = "abc123"
access_key_id = "..."
secret_access_key = "..."
[oss]
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
bucket = "my-bucket"
access_key_id = "..."
access_key_secret = "..."
[cdn]
custom_domain = "cdn.example.com"
r2_dev_subdomain = ""
[preferences]
theme = "textual-dark"
download_path = "/Users/you/Downloads"
upload_path = "/Users/you"
presigned_expiry = 3600
Key Bindings
| Key | Action |
|---|---|
u |
Upload file |
d |
Download file |
x |
Delete object(s) |
l |
Get links |
i |
Object info |
c |
Copy object key |
r |
Refresh |
/ |
Search |
Escape |
Clear search |
Space |
Toggle select |
Backspace |
Go up one level |
n |
New bucket |
f |
New folder |
s |
Open setup |
Ctrl+T |
Cycle theme |
q |
Quit |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cyberstore_tui-0.1.0.tar.gz.
File metadata
- Download URL: cyberstore_tui-0.1.0.tar.gz
- Upload date:
- Size: 137.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
977e16a7fbf174b45fd4b2b74bbc62611250cb051ddce895e62482df00a1e287
|
|
| MD5 |
d5d4b1bd49db8e6da0b8a15b8ef0b67a
|
|
| BLAKE2b-256 |
127fb278308820c7b7b9cd82f444d4a5fed558588392b88847b852d60781f4d0
|
Provenance
The following attestation bundles were made for cyberstore_tui-0.1.0.tar.gz:
Publisher:
release.yml on amazingchow/cyberstore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cyberstore_tui-0.1.0.tar.gz -
Subject digest:
977e16a7fbf174b45fd4b2b74bbc62611250cb051ddce895e62482df00a1e287 - Sigstore transparency entry: 1006361564
- Sigstore integration time:
-
Permalink:
amazingchow/cyberstore@0631554887c5ff7c9d1fd387450f0899d540d430 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/amazingchow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0631554887c5ff7c9d1fd387450f0899d540d430 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cyberstore_tui-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cyberstore_tui-0.1.0-py3-none-any.whl
- Upload date:
- Size: 35.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
194f2814338898ae7b04a4fb527d7927b31b192cad60a832e9b6124f33bfe681
|
|
| MD5 |
c04e05f679269deba630b82ca4fd35eb
|
|
| BLAKE2b-256 |
fda8dc6d31bcf4bf6ad22ab5f0ce7128572b66386bd8e2386c701a10122553fe
|
Provenance
The following attestation bundles were made for cyberstore_tui-0.1.0-py3-none-any.whl:
Publisher:
release.yml on amazingchow/cyberstore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cyberstore_tui-0.1.0-py3-none-any.whl -
Subject digest:
194f2814338898ae7b04a4fb527d7927b31b192cad60a832e9b6124f33bfe681 - Sigstore transparency entry: 1006361567
- Sigstore integration time:
-
Permalink:
amazingchow/cyberstore@0631554887c5ff7c9d1fd387450f0899d540d430 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/amazingchow
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0631554887c5ff7c9d1fd387450f0899d540d430 -
Trigger Event:
push
-
Statement type: