mconnect - KDE Connect protocol implementation in Vala/C
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Maciek Borzecki 50057f935b mconnectctl: use IsConnected property 8 years ago
extra travis: switch to building inside containers 8 years ago
src mconnectctl: use IsConnected property 8 years ago
test test: cleanup indentation 8 years ago
.dir-locals.el dir-locals: add emacs setup 8 years ago
.gitignore Initial commit 10 years ago
.travis.yml travis: switch to building inside containers 8 years ago
LICENSE Initial commit 10 years ago
Makefile.am property-proxy: helper class for sending out DBus PropertiesChanged signals 8 years ago
README.md README: update template config file location 9 years ago
configure.ac mousepad: implement mousepad plugin 9 years ago
gdb-script.in build: add run-gdb target 8 years ago
mconnect.conf mconnect.conf: sample configuration 10 years ago
mconnect.desktop.in mconnect.desktop: update desktop file 10 years ago
mconnect.spec mconnect.spec: spec updates with missing build requirements 10 years ago

README.md

mconnect

mconnect - KDE Connect protocol implementation in Vala/C

GLib and Gio should be available even on trimmed down systems. Vala is really needed only at build time. OpenSSL does the packet encryption/decryption at the protocol level, while Json-glib does packet parsing. Libnotify is responsible for displaying shell popups.

Building

Build dependencies (using package names as found in Fedora):

  • vala
  • glib2-devel
  • gobject-introspection-devel
  • libgee-devel
  • json-glib
  • openssl-devel
  • libnotify-devel
  • at-spi2-core-devel (and at-spi2-atk)

or see mconnect.spec in source tree. Once build deps are in place, run:

autoreconf -if
./configure --prefix=<your favorite prefix>
make
make install
# or make DESTDIR=<somedir> install if you want to inspect what
# gets installed

Configuration

A sample configuration file is provided in source tree, see mconnect.conf. It will get installed to ${datadir}/mconnect/ (usually corresponding to /usr/share/mconnect/) by default. Once mconnect starts it will pick the default file and make a copy of it in user's config directory, specifically ~/.config/mconnect/.

A device described in it's own group and listed in main.devices, has to match exactly with incoming identity packets. However, since deviceId is not known beforehand, neither shown in KDE Connect Android application, only name and type are used for matching.

Usage

Start it by running:

mconnect -d

Operation

The daemon starts listening on 0.0.0.0:1714 for incoming UDP packets. Once an identity packet (a sort of a handshake) is received, a connection at the sender's address will be made only if the device is listed as allowed in mconnect.conf (see the sample config). Should the device be whitelisted in configuration, pairing will happen automatically.