Skip to content

Getting Started

pikpaktui is a terminal client for PikPak cloud storage, offering both an interactive TUI and a full CLI with 27 subcommands. Written in pure Rust — no OpenSSL, no C dependencies.

Requirements

  • A PikPak account (sign up)
  • macOS (Intel or Apple Silicon), Linux (x86_64 or ARM64), Windows (x86_64 or ARM64), or FreeBSD

Installation

bash
brew install Bengerthelorf/tap/pikpaktui
bash
cargo install pikpaktui
bash
git clone https://github.com/Bengerthelorf/pikpaktui.git
cd pikpaktui
cargo build --release
# Binary at: ./target/release/pikpaktui

Pre-built binaries are available for macOS (Intel & Apple Silicon), Linux (x86_64 & ARM64, including musl static), Windows (x86_64 & ARM64), and FreeBSD on the Releases page.

First Launch — TUI

Run with no arguments to open the interactive TUI:

bash
pikpaktui

On first run, a login form appears. Enter your PikPak email and password. After a successful login, credentials are saved to ~/.config/pikpaktui/login.yaml and the session to ~/.config/pikpaktui/session.json — you won't need to log in again.

TUI main view

Quick keys to know

  • , — open Settings
  • h — show the full help sheet
  • q — quit

The TUI is a three-column Miller layout:

PaneContent
LeftParent directory
CenterCurrent directory (active)
RightPreview (thumbnail / text / folder listing)

Basic navigation

KeyAction
j / k or / Move cursor up/down
EnterOpen folder or play video
BackspaceGo to parent directory
g / HomeJump to top
G / EndJump to bottom
Ctrl+U / Ctrl+DHalf-page scroll
rRefresh current directory
:Jump to a path by typing it

File operations

KeyAction
mMove (folder picker or text input)
cCopy
nRename
dDelete (prompts: y → trash, p → permanent)
fNew folder
sStar / unstar
yCopy direct download URL to clipboard

Views & features

KeyAction
aToggle file in/out of cart
AOpen cart view (batch download/move/copy)
uUpload a local file to current folder
wStream video — opens quality picker
oOffline download (enter URL or magnet)
OOffline tasks view
DDownloads view
tTrash view
MMy shares view
SpaceFile/folder info popup
pText preview or fetch preview content
lToggle log overlay

See the TUI Guide for the complete keybinding reference.

CLI Quick Start

All CLI subcommands require a valid session (run pikpaktui first to log in, or use pikpaktui login).

bash
# List files
pikpaktui ls /
pikpaktui ls -l "/My Pack"        # long format with size and date
pikpaktui ls --tree --depth=2 /   # recursive tree view

# File operations
pikpaktui mv "/My Pack/file.txt" /Archive
pikpaktui cp "/My Pack/video.mp4" /Backup
pikpaktui rename "/My Pack/old.txt" new.txt
pikpaktui rm "/My Pack/file.txt"           # moves to trash
pikpaktui rm -rf "/My Pack/old-folder"    # permanently deletes

# Transfer
pikpaktui download "/My Pack/video.mp4"
pikpaktui download -j4 -t ./videos/ /a.mp4 /b.mp4  # 4 concurrent
pikpaktui upload ./notes.txt "/My Pack"

# Offline download
pikpaktui offline "magnet:?xt=urn:btih:..."
pikpaktui offline --to "/Downloads" "https://example.com/file.zip"

Dry run

All commands that modify data accept -n / --dry-run — resolves paths and shows what would happen, without making any changes.

Login via CLI

You can also log in non-interactively (useful for scripts or CI):

bash
pikpaktui login -u you@example.com -p yourpassword

# Or via environment variables:
PIKPAK_USER=you@example.com PIKPAK_PASS=yourpassword pikpaktui login

Environment Variables

VariableDescription
PIKPAK_USERAccount email (used by login command)
PIKPAK_PASSAccount password (used by login command)
PIKPAK_DRIVE_BASE_URLOverride PikPak drive API endpoint
PIKPAK_AUTH_BASE_URLOverride PikPak auth API endpoint
PIKPAK_CLIENT_IDOverride OAuth client ID
PIKPAK_CLIENT_SECRETOverride OAuth client secret
PIKPAK_CAPTCHA_TOKENProvide CAPTCHA token if login is challenged

Next Steps

Released under the Apache-2.0 License.