Skip to content

Blduu/CloudPivot-MaterialDesign

Repository files navigation

Cloud Pivot

Material Design file manager for Android — local & remote storage, LAN transfer, embedded servers

开源 Material Design Android 文件管理器:本地/远程存储、局域网传输、内嵌 FTP 与 Web 服务、备份计划等

License Kotlin Android AGP GitHub

GitHub 仓库 · Documentation / 文档 · English docs · 中文文档


Overview

Cloud Pivot (云枢) is an open-source file manager that follows Material Design. It targets advanced users who need FTP, SFTP, SMB, and WebDAV, LAN device transfer, on-device FTP/Web servers, scheduled backups, archives, and optional root / Shizuku workflows.

Application ID com.bluesky.cloudpivot
Version 1.8.0 (versionCode 40) — see app/build.gradle
Repository github.com/Blduu/CloudPivot-MaterialDesign
Store copy fastlane/metadata/android/

Features

  • File operations — Browse, multi-select, copy/move/delete; breadcrumbs; Linux-aware paths (symlinks, permissions, SELinux context).
  • Remote storage — FTP, SFTP, SMB/CIFS, WebDAV (in-tree dav4jvm).
  • LAN transfer — Send/receive with trusted devices and foreground service.
  • Embedded servers — FTP server (incl. Quick Settings tile), HTTP/Web server (NanoHTTPD).
  • Archives — View/extract/create common formats via libarchive JNI.
  • Viewers — Image and text editor; document intents (OPEN_DOCUMENT, GET_CONTENT, etc.).
  • Backup — Scheduled backups with boot/alarm receivers and WorkManager.
  • Theming — Custom colors and night mode (optional true black).
  • TV — Leanback launcher entry (LEANBACK_LAUNCHER).

Tech stack (high level)

  • Language: Kotlin, coroutines
  • UI: AndroidX, Material Components, ViewBinding
  • Networking / protocols: SMBJ, jcifs-ng, sshj, Apache Ftpserver/MINA, WebDAV (:dav4jvm), NanoHTTPD, OkHttp (transitive)
  • Native: CMake — hiddenapi, syscall JNI (see app/CMakeLists.txt)
  • Quality: Android Lint, detekt, ktlint (see root build.gradle)

Project structure

Path Role
app/ Main Android application
fastscroll/ Fast-scroll list widget module
dav4jvm/ WebDAV client library module
docs/ Bilingual documentation (zh/, en/)
config/detekt/ detekt configuration
fastlane/metadata/ Store listing text (en-US, zh-CN)

Modules included in settings.gradle: :app, :fastscroll, :dav4jvm.

Requirements

  • Android Studio — version compatible with Android Gradle Plugin 8.11.x (see build.gradle).
  • JDK 17 — use Android Studio’s bundled JDK or an installed JDK 17.
  • Android SDKcompileSdk 36, Build-Tools 36.0.0 (see app/build.gradle).
  • NDK — version pinned in app/build.gradle (e.g. 28.1.13356709) for native builds.

Getting started

Clone the repository and open the project root in Android Studio, then sync Gradle.

# Example upstream (replace with your fork URL if needed)
git clone https://github.com/Blduu/CloudPivot-MaterialDesign.git
cd CloudPivot-MaterialDesign   # or the root folder name you cloned into

Debug APK

# Windows
gradlew.bat :app:assembleDebug

# Linux / macOS
./gradlew :app:assembleDebug

Output (typical): app/build/outputs/apk/debug/.

Release APK

  1. Copy signing.properties.example to signing.properties (do not commit), or set STORE_FILE, STORE_PASSWORD, KEY_ALIAS, KEY_PASSWORD (see signing.gradle).
  2. Run:
gradlew.bat :app:assembleRelease

Release builds use R8 / ProGuard and resource shrinking (see app/proguard-rules.pro).

Code quality

gradlew.bat :app:detekt :app:ktlintCheck :app:lintDebug

Documentation

Audience Entry
Bilingual hub docs/README.md
English docs/en/README.md
简体中文 docs/zh/README.md

Topics covered: product & requirements, design, development, testing, compliance & security.

Contributing

Contributions are welcome on GitHub via fork and pull request. Please:

  • Match existing code style; fix detekt / ktlint issues before submitting.
  • Update both docs/zh/ and docs/en/ when changing user-facing or architectural documentation.
  • Avoid committing secrets (signing.properties, keystores, google-services.json if applicable).

Security

Network and backup-related behavior is documented under Security / 安全. The app allows cleartext traffic and user CA trust by default for LAN and private servers — review app/src/main/res/xml/network_security_config.xml before hardening for your use case.

For vulnerability reports, use the repository Security tab (e.g. private Report a vulnerability) or maintainer contact.

License

Copyright — see notices in source files. Licensed under the Apache License, Version 2.0: see LICENSE. Third-party licenses are shown in-app (app/src/main/res/raw/licenses.xml) and in docs.

About

CloudPivot - 一个开源的 Material Design Android 文件管理器 ✨ 特性: - 轻量简洁且安全的开源文件管理器 - 遵循 Material Design 规范 - 面包屑导航栏快速访问 - Root 权限支持 - 压缩文件(查看/提取/创建) - NAS 支持(FTP/SFTP/SMB/WebDAV) - 可定制主题与纯黑夜间模式 - Linux 友好(符号链接/权限/SELinux) - 使用 Linux 系统调用和 Java NIO2 API 实现

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors