# nextcloud/desktop

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nextcloud-desktop).**

3,613 stars · 917 forks · C++ · gpl-2.0

## Links

- GitHub: https://github.com/nextcloud/desktop
- Homepage: https://nextcloud.com/install/#install-clients
- awesome-repositories: https://awesome-repositories.com/repository/nextcloud-desktop.md

## Topics

`c-plus-plus` `cpp` `desktop` `hacktoberfest` `nextcloud` `nextcloud-desktop-client`

## Description

This project is a multi-device synchronization tool and remote storage manager that maintains a mirrored state of data between a local machine and a remote server. It provides cloud file synchronization and cross-device data access, allowing local files and folders to be consistent across multiple computers.

The client utilizes WebDAV for file management and synchronization, while employing the Open Collaboration Services API for account and session management. It integrates a cross-platform native wrapper to provide OS-level file system integration and includes a command line interface for managing server connectivity and synchronization tasks.

Security is handled through token-based session authentication and multi-factor identity verification. The system includes remote device administration capabilities, such as the ability to trigger a remote data wipe to protect sensitive information on compromised hardware.

The project further supports extensible functionality through a metadata-driven framework for third-party extensions, background task scheduling for maintenance, and activity stream tracking to monitor file and folder modifications.

## Tags

### Data & Databases

- [State Mirroring](https://awesome-repositories.com/f/data-databases/entity-modeling/entity-table-synchronizers/remote-to-local-database-synchronizers/state-mirroring.md) — Tracks changes on both the local disk and remote server to resolve conflicts and synchronize file hierarchies.
- [File Synchronization](https://awesome-repositories.com/f/data-databases/file-synchronization.md) — Synchronizes files and folders between local computers and remote servers to maintain data consistency. ([source](https://docs.nextcloud.com/server/30/developer_manual/))

### Development Tools & Productivity

- [Cloud File Sync](https://awesome-repositories.com/f/development-tools-productivity/cloud-file-sync.md) — Maintains consistent files and folders between local computers and remote cloud servers for multi-device access.
- [Background Task Schedulers](https://awesome-repositories.com/f/development-tools-productivity/background-task-schedulers.md) — Executes recurring maintenance and synchronization jobs via a background cron system to prevent UI blocking.
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Provides a terminal interface to perform synchronization tasks and manage server connectivity. ([source](https://docs.nextcloud.com/server/latest/user_manual/en/desktop/index.html))
- [Server Module Development](https://awesome-repositories.com/f/development-tools-productivity/development-extensions/server-module-development.md) — Supports the development of extensible software modules that integrate with a defined request lifecycle and storage drivers. ([source](https://docs.nextcloud.com/server/16/developer_manual/))
- [Extensible Application Frameworks](https://awesome-repositories.com/f/development-tools-productivity/extensible-application-frameworks.md) — Allows the creation of modular extensions using design guidelines, predefined UI elements, and structured navigation. ([source](https://docs.nextcloud.com/server/14/developer_manual/))

### Business & Productivity Software

- [Multi-Device Synchronization Clients](https://awesome-repositories.com/f/business-productivity-software/multi-device-synchronization-clients.md) — Maintains a mirrored state of data between a local machine and a remote server across multiple devices.
- [Remote State Mirroring](https://awesome-repositories.com/f/business-productivity-software/remote-state-mirroring.md) — Creates a local copy of remote server directories that updates in real time as changes are made.
- [Shared File Spaces](https://awesome-repositories.com/f/business-productivity-software/team-collaboration-events/collaboration-communication-tools/collaboration-software/team-collaboration-platforms/shared-file-spaces.md) — Distributes access to local files or directories through a server for other users to view or edit. ([source](https://docs.nextcloud.com/server/12/user_manual/))

### Networking & Communication

- [Collaboration APIs](https://awesome-repositories.com/f/networking-communication/collaboration-apis.md) — Interacts with the Open Collaboration Services API to manage account settings and trigger remote administrative actions.
- [Cross-Device Data Availability](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/data-synchronization-consistency/distributed-file-synchronization/cross-device-data-availability.md) — Enables seamless access to the same data across multiple independent hardware devices via a central server.
- [External Service Connectivity](https://awesome-repositories.com/f/networking-communication/external-service-connectivity.md) — Enables data exchange and remote action triggering via REST, OCS, and WebDAV protocols. ([source](https://docs.nextcloud.com/server/16/developer_manual/))
- [WebDAV Remote File Management](https://awesome-repositories.com/f/networking-communication/webdav-remote-file-management.md) — Provides capabilities to manage and organize server files using the WebDAV protocol. ([source](https://docs.nextcloud.com/server/12/developer_manual/))
- [Synchronization Applications](https://awesome-repositories.com/f/networking-communication/webdav-remote-file-management/synchronization-applications.md) — Synchronizes local files and folders with a remote server using the WebDAV protocol via a desktop application.
- [Synchronization Protocols](https://awesome-repositories.com/f/networking-communication/webdav-remote-file-management/synchronization-protocols.md) — Transfers files and folders between remote servers and local storage specifically using the WebDAV protocol. ([source](https://docs.nextcloud.com/server/23/developer_manual/))

### Security & Cryptography

- [User Identity Verification](https://awesome-repositories.com/f/security-cryptography/identity-authentication/user-identity-verification.md) — Verifies user credentials and manages multi-factor authentication providers to secure account access. ([source](https://docs.nextcloud.com/server/21/developer_manual/))
- [Token-Based Authentication](https://awesome-repositories.com/f/security-cryptography/token-based-authentication.md) — Manages secure access to remote resources using session tokens and multi-factor authentication providers.
- [Session Management](https://awesome-repositories.com/f/security-cryptography/two-factor-authentication/session-management.md) — Handles authentication and session configuration through standardized server communication interfaces. ([source](https://docs.nextcloud.com/server/23/developer_manual/))
- [User Identity Management](https://awesome-repositories.com/f/security-cryptography/user-identity-management.md) — Controls account creation and authentication flows using two-factor provider integrations. ([source](https://docs.nextcloud.com/server/15/developer_manual/))
- [Remote Access Security](https://awesome-repositories.com/f/security-cryptography/remote-access-security.md) — Protects sensitive information through secure authentication and remote data erasure on compromised devices.
- [Remote Data Protection Clients](https://awesome-repositories.com/f/security-cryptography/remote-data-protection-clients.md) — Supports remote wipe commands and secure authentication to protect sensitive local data.

### System Administration & Monitoring

- [Remote File Managers](https://awesome-repositories.com/f/system-administration-monitoring/remote-file-managers.md) — Provides an interface for browsing, editing, and organizing files and account data on a remote server.
- [Remote Agent Administration](https://awesome-repositories.com/f/system-administration-monitoring/remote-agent-administration.md) — Performs administrative actions on connected clients, including the ability to trigger remote data wipes. ([source](https://docs.nextcloud.com/server/21/developer_manual/))

### User Interface & Experience

- [Native Application Wrappers](https://awesome-repositories.com/f/user-interface-experience/native-application-wrappers.md) — Compiles shared core logic into native desktop applications to provide OS-level file system integration.

### Software Engineering & Architecture

- [Remote Device Data Erasure](https://awesome-repositories.com/f/software-engineering-architecture/instance-management/cloud-instance-lifecycle/local-instance-lifecycles/data-wipe-commands/remote-device-data-erasure.md) — Removes local data from a device remotely to protect sensitive information from compromised hardware. ([source](https://docs.nextcloud.com/server/24/developer_manual/))
- [Metadata-Driven Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/metadata-driven-frameworks.md) — Integrates third-party modules through a standardized metadata system and hooks to extend core client functionality.

### Web Development

- [Third Party Integrations](https://awesome-repositories.com/f/web-development/third-party-integrations.md) — Provides a standardized API and flexible extension framework for integrating external software into the core system. ([source](https://docs.nextcloud.com/server/stable/developer_manual/))
