Linux
DeskCon PPA
0I created a Launchpad PPA Repository for the Desktop Packages of DeskCon. This Repo is for usage with Ubuntu Quantal, Saucy and Trusty.
To add the PPA, run these in your Terminal
sudo add-apt-repository ppa:screenfreeze/deskcon
sudo apt-get update
sudo apt-get install deskcon-server
Gnome-Shell Extension
sudo apt-get install gnome-shell-extension-deskcon
Unity Indicator
sudo apt-get install deskcon-indicator
Twitch Browser
0This is just a little Side Project, a Desktop Application that lets you browse through Twitch.tv Streams, Channels and open them in your Video Player (VLC, MPlayer, MPV, …). No need for a CPU heavy Flash Plugin. For now it’s for Linux only, but given it is written in Python, a Port to other Systems shouldn’t be difficult. You can get the latest from here.
This Project uses “Livestreamer” to start the streams, more information on their website livestreamer.tanuki.se
Background Story:
Sometimes i like to watch a Stream on Twitch or Justin.tv, but the Flashplayer is always acting up, stutters and eats my CPU. Then I came across Livestreamer, which is a Commandline Program.
And to avoid typing the specific Terminal Command over and over, I developed this GUI Software.
Now I will focus more on DeskCon again.
DeskCon Connection Security
2First of all, I’m not a Security Expert, I just use the well known Encryption and Security standards. So if you find any flaws in how I implemented that stuff, please tell me.
Basically I use self-signed Certificates with a TLSv1.2 SSL Connection. During the “pair”-Process, Desktop and mobile Device exchange their X509v3 Certificate and print out the Fingerprints (sha256), so that the User can verify their Identity. If the User says they match, the Certificates will be stored.
The Certificates are generated from a 2048-bit RSA Key-pair and signed with SHA256 Algorithm.
The SSL Connection is actually over TLSv1,TLSv1.1 or TLSv1.2 depending on your Android Version (TLSv1.2 is supported in Android 4.1 and up) and the OpenSSL Library Version. Server and Client have to authenticate each other with the mentioned Certificates.
So the whole data Transfer is encrypted and the Devices (Desktop and MID) can be sure they talk with the right Machine.
Android Desktop Integration
1I’m more or less finished with an initial Version of the Android App and Desktop Software. The Desktop part consists of 2 Elements. First is the Server running in the Background (no Gui) and Second is an Applet.
The Server shows Desktop Notifications and sends Information to the Applet via Dbus. The Applet is specific to the Desktop Environment (Gnome, Unity,…) you use. The Gnome Shell Version is ready and a Demo can be seen in this Video
I didn’t show the File Transfer and some other stuff, but this is how it will look like.
I’m currently fixing some Bugs, after that I’ll release a first version for Gnome and start working on a Unity Applet. I’ll also describe how the whole Security works in another Post.
Upcoming Project
0I’ve been busy with a new Project lately. It’s an Android App in combination with a Desktop Application, to integrate a Smart-phone in the normal Desktop UI.
I’ve seen “Android Notifier” and “KDE Connect”, both are awesome but don’t work well with Gnome Shell or Ubuntu Unity. There are many Apps out there which already notify you on your Desktop Computer, but most of them are Browser-Extensions which need a Third-party Server (your data is routed over some other website).
So the plan is a new Android App which communicates over the LAN with a Software running on Linux, Windows or Mac. I’m almost finished with the Linux Gnome Shell version and want to release it on Github soon.