Skip to main content

htx-cli

htx-cli is a command-line client for the Disk backend API. It supports:

  • SSO-based login by exchanging an authorization code for 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/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

htx_cli-0.1.7.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

htx_cli-0.1.7-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file htx_cli-0.1.7.tar.gz.

File metadata

  • Download URL: htx_cli-0.1.7.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for htx_cli-0.1.7.tar.gz
Algorithm Hash digest
SHA256 8276d55c9637b6782b605110b7e1b77007e9f58ed7b7af24bf893d8fb6351a29
MD5 fbe1ed031b4a2df2cc0488cad24733ba
BLAKE2b-256 c7ac52006fefe8c13062ef799043c78d1f0da303c709c78264e8418ec81e7493

See more details on using hashes here.

File details

Details for the file htx_cli-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: htx_cli-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for htx_cli-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 156102f263b623be7fdf291a2eba5071ddf148eb5e8cf2e139451d5808066502
MD5 9775f7f34f847f8a16f9a0d558aec1d6
BLAKE2b-256 6d5ff2b9214909dcdf09f5a2796f1cfad83ce5cb53655521826d6b72d447fe82

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page