Skip to content
forked from bboozzoo/mconnect

mconnect - KDE Connect protocol implementation in Vala/C

License

Notifications You must be signed in to change notification settings

argon40/mconnect

 
 

Repository files navigation

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.

Since I'm new ot Vala, I'm treating this as a learning execrise, yet with usable results.

Building

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

  • vala
  • glib2-devel
  • gobject-introspection-devel
  • libgee-devel
  • json-glib
  • openssl-devel
  • libnotify-devel

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 ${sysconfdir}/mconnect/ (usually corresponding to /etc/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.

About

mconnect - KDE Connect protocol implementation in Vala/C

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Vala 78.4%
  • C 21.6%