Overview
GitHub NetDisk is a cross-platform desktop cloud-drive client built with Fluent Design. It stores file content in GitHub Releases and keeps the directory structure in a lightweight netdisk.json file on the selected branch.
Disclaimer
This software is not an official GitHub product and is not affiliated with or subordinate to GitHub in any way.
All storage services are provided by GitHub. Users are responsible for ensuring that the content they publish complies with the laws of their jurisdiction, GitHub's Terms of Service, Acceptable Use Policies, and other GitHub site policies. Contributors to this software accept no responsibility for consequences arising from its use.
GitHub Release storage, bandwidth, and API requests remain subject to GitHub's terms and quotas. This software does not bypass those limits and must not be used for infringement or service abuse.
How storage works
A compatible repository contains netdisk.json at the root of the selected branch. The index records its format version and a nested file tree. Each file entry points to a Release tag and its ordered assets, and records the original size and SHA-256 hash.
This separates file content from the Git history:
- Git stores the small, readable directory index.
- GitHub Releases store the actual file bytes.
Repository and file management
The desktop client provides the familiar operations expected from a file manager:
- Browse compatible public repositories without signing in.
- Access authorized private repositories after signing in.
- Create, add, and manage cloud-drive repositories.
- Upload, download, rename, and delete files.
- Create folders and download them recursively.
- Switch branches and quickly reopen recently used repositories.
- Save a file under a different local name.
- Generate a shareable web download link for a file.
- Generate an original Release link for an unsplit file smaller than 1.9 GiB.
Reliable transfers
Files larger than 1.9 GiB are split into ordered Release assets automatically. The client rejoins the parts after download and verifies the result with SHA-256.
Transfers appear in the Tasks page and can be paused, resumed, or cancelled. When an upload resumes, assets already present in its Release can be reused instead of uploaded again.
For public-repository downloads, the optional GitHub-mirror setting measures the available nodes before each transfer and uses the fastest one. Private repositories always download through the GitHub API. When aria2 is enabled, the client launches aria2c command-line processes directly for the Release assets; if aria2c is unavailable, it falls back to the built-in requests downloader.
Access and credentials
GitHub NetDisk offers three access modes:
- GitHub App authorization (recommended): enter a one-time code in the browser, install the GitHub App, and choose which repositories it may access.
- Read-only mode: browse compatible public repositories without signing in.
- Personal Access Token (advanced): a compatibility option for environments where GitHub App authorization is unavailable.
Credentials are stored in the operating-system credential vault. Repository access still depends on the selected GitHub App installation or the permissions granted to the token.
Desktop integration
GitHub NetDisk uses PyQt and Fluent Design components to provide:
- Light and dark themes.
- Mica-style surfaces where supported.
- Adjustable interface scaling and HiDPI support.
- English, Simplified Chinese, and Traditional Chinese interfaces.
- System-tray behavior and native window integration.
- A configurable default download location, folders-first sorting, aria2, and GitHub download mirrors.
- Startup update checks that can download and launch the matching installer.
Installed builds register the github-netdisk:// protocol. Supported links can open a repository or prepare an upload or download task; the app shows the decoded values for confirmation before starting it.
Open source
GitHub NetDisk is licensed under GPL-3.0. Its main dependencies include PyQt5, PyQt-Fluent-Widgets, and PyGithub; see Acknowledgements for the full list.