← Desktop tools

Panda Storage Tool

A cross-platform desktop tool that turns a GitHub repository into cloud storage

By Kite

  • Version: v1.0.4
  • Platforms: Windows / macOS / Linux

Download

v1.0.4 Latest Released

Seven platform packages — win-x64 / win-x86 / win-arm64, linux-x64 / linux-arm64 and osx-x64 / osx-arm64. All are self-contained and need no runtime installed. Use the SHA256 values in checksums.txt to verify a download.

Overview

panda-storage-tool turns a GitHub repository into cloud storage: drop files or whole folders onto the window to upload them, then browse level by level, download, rename and delete in batches like a file manager — copying shareable links (raw / jsDelivr) as you go.

Any file type works: images, documents, archives, audio & video, code. The only visual difference is that images get thumbnails while everything else gets a type badge (extension + document outline). .gitkeep is the single special case: it is the placeholder that keeps empty folders alive in the repository, so it never shows up in the list.

Runs on Windows, macOS and Linux with a bilingual UI and light & dark themes. Release packages are self-contained single files — no .NET runtime needed: unzip and run.

Screenshots

Files (English): folders and files are first-class, and each folder shows how many files it holds

File list

Transfer log: every upload and download is recorded, failures come with a reason

Transfers

Features

  • Drag & drop / paste upload: drop files or folders onto the list to upload them into the current folder; Ctrl + V uploads a bitmap from the clipboard (screenshots, images copied from a web page) or files copied in your file manager.
  • Upload a whole folder: the local folder tree is recreated under the current folder, every level gets a .gitkeep, and sub-folders that contain no file at all are created too — so the structure stays intact in the repository.
  • Cloud-drive browsing: double-click to enter a folder, breadcrumbs to jump back; each folder shows the number of files it contains (nested ones included). The drive root is the "root directory" configured in settings (empty = the whole repository).
  • Download: right-click a file for "Download to…", right-click a folder for "Download to folder…" (the folder itself and all nested folders are recreated), or tick several items and download them in one go.
  • Shareable links: right-click → "Copy" gives you URL / Markdown / HTML (images as ![](...), other files as [](...)); the link format is raw.githubusercontent.com, jsDelivr or your own template.
  • Rename & delete: right-click or press F2 to rename (the file keeps its content, links and references follow); delete single files, whole folders, or a multi-selection with live progress.
  • Transfer log: every upload and download is recorded (direction, name and repository path, size, time, success or failure) with an upload-only / download-only filter, a "locate" button per row and a way to drop a single entry.
  • View images large: click a thumbnail to open the preview window; zoom with + / -, fit to window or Ctrl + wheel, close with Esc.
  • Theme & language: light / dark / follow system, and English / Simplified Chinese / Traditional Chinese / follow system — applied immediately and saved.
  • Update check: "About" can query the latest release on demand, and the app also checks silently once a day. Only packages built for your platform count, so releases for other platforms never trigger a false update.

Download & run

File Platform
PandaStorageTool-win-x64-<版本>.zip Windows 64-bit (Intel / AMD)
PandaStorageTool-win-x86-<版本>.zip Windows 32-bit
PandaStorageTool-win-arm64-<版本>.zip Windows on ARM
PandaStorageTool-linux-x64-<版本>.tar.gz Linux 64-bit (Intel / AMD)
PandaStorageTool-linux-arm64-<版本>.tar.gz Linux ARM64
PandaStorageTool-osx-x64-<版本>.tar.gz macOS (Intel)
PandaStorageTool-osx-arm64-<版本>.tar.gz macOS (Apple silicon)
  • Every package is a self-contained single file — no .NET runtime required. On Windows unzip and run PandaStorageTool.exe; on Linux / macOS run chmod +x PandaStorageTool first.
  • On Windows the first launch may trigger SmartScreen ("Windows protected your PC") because the binaries are not code-signed — that is expected: click "More info" → "Run anyway", or right-click PandaStorageTool.exe → Properties → tick "Unblock".
  • On macOS the first launch may be blocked by Gatekeeper: allow it under System Settings → Privacy & Security.
  • checksums.txt holds the SHA256 checksums of all packages (sha256sum -c checksums.txt).

Before you start

  1. Prepare a repository to store files in — a fresh empty one or an existing one. A public repository is recommended: only then are raw / jsDelivr links readable by anyone (a private repository accepts uploads but others cannot open the links).
  2. Create a Personal Access Token: GitHub → Settings → Developer settings → Personal access tokens with read & write access to repository contents (classic: repo or public_repo; fine-grained: Contents: Read and write).
  3. Open the app → "Settings" → "Storage": fill in the token, owner, repository and branch, hit "Test connection" and save. Saving runs the connection test again first: if it fails nothing is written.

The token is stored on your machine only (%LOCALAPPDATA%\PandaStorageTool\appdata.json) and is never sent anywhere except GitHub.

Known limitations

  • The GitHub Contents API recommends files ≤ 100 MB; use Git LFS or the Git Data API for anything larger.
  • Uploading a folder commits one file at a time (plus one placeholder commit per empty folder), so large folders are slow and can hit GitHub's API rate limit (5000 requests per hour).
  • Non-image files only get a type badge, not a content preview — use "Open link" to view them.
  • Empty folders are tracked locally: folders deleted elsewhere (web UI, command line) disappear only after a "Refresh" or "Fetch repository".
  • "Factory reset" wipes local data only (settings, thumbnail cache, upload staging) — nothing in the repository is touched.

Released · Last updated