Multi-platform app that allows your devices to communicate

Related tags

kdeconnect-kde
Overview

KDE Connect - desktop app

KDE Connect is a multi-platform app that allows your devices to communicate (eg: your phone and your computer).

(Some) Features

  • Shared clipboard: copy and paste between your phone and your computer (or any other device).
  • Notification sync: Read and reply to your Android notifications from the desktop.
  • Share files and URLs instantly from one device to another including some filesystem integration.
  • Multimedia remote control: Use your phone as a remote for Linux media players.
  • Virtual touchpad: Use your phone screen as your computer's touchpad and keyboard.
  • Presentation remote: Advance your presentation slides straight from your phone.

All this is done completely wirelessly, utilising TLS encryption.

Supported platforms

  • Computers running Linux with Plasma 5, Gnome 3, Elementary OS... any distro with Qt5 support given a little work :)
  • Android, by installing the KDE Connect app from the Play Store or F-Droid.

How to install

These instructions explain how to install KDE Connect on your computer. You will also need to install it on your Android device and pair them together in the app before using this application. The Android app repository can be found here

On Linux

Look in your distribution repo for a package called kdeconnect-kde, kdeconnect-plasma, or just kdeconnect. If it's not there and you know how to build software from sources, you just found the repo :), instructions are here

On Mac or Windows

Platforms other than Linux are not officially supported, as there has yet to be an official release of KDE Connect for MacOS or Windows. However, most of the features have already been ported to windows so you can compile KDE Connect for Windows using Craft. It hasn't yet been completely tested on MacOS, contributions and feedback are welcome!

On BSD

It should work, but no promises :)

How does it work?

KDE Connect consists of a UI-agnostic "core" library that exposes a series of DBus interfaces, and several UI components that consume these DBus interfaces. This way, new UI components can be added to integrate better with specific platforms or desktops, without having to reimplement the protocol or any of the internals. The core KDE Connect library is also divided into 4 big blocks:

  • LinkProviders: Are in charge of discovering other KDE Connect-enabled devices in the network and establishing a Link to them.
  • Devices: Represent a remote device, abstracting the specific Link that is being used to reach it.
  • NetworkPackets: JSON-serializable and self-contained pieces of information to be sent by the plugins between devices.
  • Plugins: Independent pieces of code that implement a specific feature. Plugins will use NetworkPackets to exchange information through the network with other Plugins on a remote Device.

The basic structure of a NetworkPacket is the following:

{
  "id": 123456789,
  "type": "com.example.myplugin",
  "body": {  },
  "version": 5
}

The content of the "body" section is defined by each Plugin. Hence, only the emitter and receiver plugins of a given packet type need agree on the contents of the body.

NetworkPackets can also have binary data attached that can't be serialized to JSON. In this case, two new fields will be added:

"payloadSize": The size of the file, or -1 if it is a stream without known size. "payloadTransferInfo": Another JSON object where the specific Link can add information so the Link in the remote end can establish a connection and receive the payload (eg: IP and port in a local network). It's up to the Link implementation to decide how to use this field.

Contributing

To contribute patches, use KDE Connect's GitLab. There you can also find a task list with stuff to do and links to other relevant resources. It is a good idea to also subscribe to the KDE Connect mailing list. We can also be reached on IRC at #kdeconnect on freenode or on telegram, contributions and feedback are warmly welcomed.

For bug reporting, please use KDE's Bugzilla. Please do not use the issue tracker in GitLab since we want to keep everything in one place.

Please know that all translations for all KDE apps are handled by the localization team. If you would like to submit a translation, that should be done by working with the proper team for that language.

License

GNU GPL v2 and GNU GPL v3

If you are reading this from Github, you should know that this is just a mirror of the KDE Project repo.

Issues
Owner
KDE GitHub Mirror
Official read-only mirror of the KDE project. Please don't send pull requests; to contribute code see https://community.kde.org/Infrastructure/Github_Mirror
KDE GitHub Mirror
Multi-platform app that allows your devices to communicate

KDE Connect - desktop app KDE Connect is a multi-platform app that allows your devices to communicate (eg: your phone and your computer). (Some) Featu

KDE GitHub Mirror 1.1k Jun 7, 2021
Popcorn Time is a multi-platform, free software BitTorrent client that includes an integrated media player ( Windows / Mac / Linux ) A Butter-Project Fork

Popcorn Time A multi-platform, free software BitTorrent client that includes an integrated media player. Visit the project's website at popcorntime.ap

Popcorn Software 6k Jun 4, 2021
Open source API management platform

About Fusio is an open source API management platform which helps to build and manage REST APIs. Fusio provides all tools to quickly build an API from

Apioo 970 Jun 5, 2021
Make any web page a desktop application

Nativefier You want to make a native wrapper for WhatsApp Web (or any web page). nativefier 'web.whatsapp.com' You're done. Introduction Nativefier is

null 27.2k Jun 4, 2021
A black hole for Internet advertisements

Network-wide ad blocking via your own Linux hardware The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content, without installi

Pi-hole 31.4k Jun 5, 2021
Read-only mirror of https://gitlab.gnome.org/GNOME/gparted

GPARTED ======= Gparted is the GNOME Partition Editor for creating, reorganizing, and deleting disk partitions. A hard disk is usually subdivided int

GNOME Github Mirror 169 Jun 6, 2021
RGB lighting management front-end application for GNU/Linux. Powered by OpenRazer (but soon to be vendor agnostic)

An open source RGB lighting management front-end application to customise OpenRazer peripherals on GNU/Linux. Soon to be vendor agnostic! The next gen

Polychromatic 624 Jun 6, 2021
Personal CRM. Remember everything about your friends, family and business relationships.

Personal Relationship Manager Monica is a great open source personal relationship management system. Introduction Purpose Features Who is it for? What

Monica 12.9k Jun 6, 2021
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!

A free and open source resume builder. Go to App What is this app all about? Reactive Resume is a free and open source resume builder that’s built to

Amruth Pillai 2.8k Jun 7, 2021
Skygear - an open source serverless platform for modern secure app development

Next is the V2 of Skygear that aim to follow Support multi tenant at core, make cloud deploy scalable at first day. Simplify deployment. Give back app

SkygearIO 387 May 19, 2021
:notebook: A simple self-hosted journaling app

About In a nutshell: a private self-hosted journal with sharing capabilities. This project is an attempt to make myself journal more consistently. I f

Isaac Noda 92 May 31, 2021
Want a Movie or TV Show on Plex or Emby? Use Ombi!

Welcome Ombi is your friendly media request tool, automatically syncs with your media servers! Don't worry, it's grandma friendly, and more importantl

Ombi 2.5k Jun 6, 2021
Open source back-end server for web, mobile and IoT. The backend for busy developers. (self-hosted or hosted)

A scalable, multitenant backend for the cloud. Para is a scalable, multitenant backend server/framework for object persistence and retrieval. It helps

Erudika 395 May 26, 2021