htx-cli
htx-cli is a command-line client for the Disk backend API. It supports:
- SSO-based login by exchanging an authorization
codefor the backend JWT token - Listing remote Disk directories
- Switching into a remote working directory with
cd - Uploading a local file into a remote Disk directory
- Uploading a local directory recursively while recreating its folder structure remotely
- Resumable multipart uploads with real remote-part progress
Install
pip install htx-cli
For local development:
pip install -e .
Commands
Print the SSO authorization URL:
htx login --print-url
Interactive login:
htx login
You can also paste the full callback URL directly:
htx login --code 'https://d.6-79.cn/oauth/qtb/callback?code=...'
Show the authenticated user:
htx whoami
Change into a remote directory:
htx cd @Ab12Cd
htx cd Projects
htx cd ../Archive
Print the current remote directory:
htx pwd
List the current remote directory:
htx ls
List the remote root directory explicitly:
htx ls /
List a nested remote directory by relative path:
htx ls Photos/2024
List a remote resource directly by resource ID:
htx ls id:Ab12Cd
The shorter @资源ID form works too:
htx ls @Ab12Cd
Upload a local file into a remote directory:
htx upload ./report.pdf
Upload a local directory recursively. The local directory name is created or reused under the target remote directory:
htx upload ./albums
Only upload selected extensions:
htx upload ./albums /Photos --include-ext jpg --include-ext png
Exclude specific extensions:
htx upload ./albums /Photos --exclude-ext tmp --exclude-ext log
You can combine both flags. --exclude-ext takes precedence when both match the same file.
Create a directory under the remote root:
htx mkdir Projects
htx cd Projects
htx mkdir 2026
Create a directory under a specific remote folder:
htx mkdir 2026 /Photos
htx mkdir Archive @Ab12Cd
Rename a remote resource:
htx rename /Photos/old-name.jpg new-name.jpg
Move a remote resource into another remote directory:
htx mv new-name.jpg ../Archive
Delete a remote file:
htx rm new-name.jpg
Delete a non-empty remote directory recursively:
htx rm --recursive Archive
Download a remote file to the current directory:
htx download report.pdf
Download a remote file into a chosen local path:
htx download @Ab12Cd ./downloads/report.pdf
Download a remote directory recursively:
htx download @Ab12Cd ./downloads/Archive
Create a remote link resource:
htx link Search https://www.google.com
State File
The CLI stores the backend JWT token and the last fetched user payload in:
~/.config/htx-cli/state.json
Use --config to point to a different state file.
Multipart upload resume records are stored under:
~/.config/htx-cli/upload-records/
Metadata
Release files for htx-cli 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| htx_cli-0.1.7.tar.gz | 16.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| htx_cli-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.2 kB
Release files / htx_cli-0.1.7.tar.gz
| Download URL | htx_cli-0.1.7.tar.gz |
|---|---|
| Size | 16.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8276d55c9637b6782b605110b7e1b77007e9f58ed7b7af24bf893d8fb6351a29
|
|
BLAKE2b-256 checksum How to use checksums |
c7ac52006fefe8c13062ef799043c78d1f0da303c709c78264e8418ec81e7493
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / htx_cli-0.1.7-py3-none-any.whl
| Download URL | htx_cli-0.1.7-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
156102f263b623be7fdf291a2eba5071ddf148eb5e8cf2e139451d5808066502
|
|
BLAKE2b-256 checksum How to use checksums |
6d5ff2b9214909dcdf09f5a2796f1cfad83ce5cb53655521826d6b72d447fe82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|