README.md 2.88 KB
Newer Older
tallero's avatar
tallero committed
1
# Stear Keyboard
tallero's avatar
tallero committed
2
3
4
5

[![Python 3.x Support](https://img.shields.io/pypi/pyversions/Django.svg)](https://python.org)
[![License: AGPL v3+](https://img.shields.io/badge/license-AGPL%20v3%2B-blue.svg)](http://www.gnu.org/licenses/agpl-3.0) 

tallero's avatar
tallero committed
6
[![Demonstration video](https://i.imgur.com/zWWQ6YY.png)](https://youtu.be/diYgNXi3zY8)
tallero's avatar
tallero committed
7

tallero's avatar
tallero committed
8
*Stear Keyboard* is an extremely simple remote keyboard that runs on any platform on which you can install [GPG](https://gnupg.org) and Python.
tallero's avatar
tallero committed
9

tallero's avatar
tallero committed
10
It has mainly been written for the fictional do-it-yourself, n900-like, GNOME Mobile-powered smartphone *Stear Prime*, but it can pretty much be used everywhere.
tallero's avatar
tallero committed
11

tallero's avatar
tallero committed
12
*It is not recommended at this stage* (and probably never will) *to run it on public networks*, because even with encryption an attacker can still infer what are you writing from the keystroke sequences. That can of course be mitigated but I do not plan to do it soon.
tallero's avatar
tallero committed
13

tallero's avatar
tallero committed
14
15
Also code quality is really poor, because I wrote it right away as a prototype and I still do not have power management constraints.

tallero's avatar
tallero committed
16
17
## Installation

tallero's avatar
tallero committed
18
*Stear Keyboard* will soon be available through the [Python Package Index (PyPI)](https://pypi.org/). Pip is pre-installed if `python >= 3.4` has been downloaded from [python.org](https://python.org); if you're using a GNU/Linux distribution, you can find how to install it on this [page](https://packaging.python.org/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers).
tallero's avatar
tallero committed
19

tallero's avatar
tallero committed
20
After setting up pip, you will be able to install *Stear Keyboard* by simply typing in your terminal
tallero's avatar
tallero committed
21

tallero's avatar
tallero committed
22
    # pip3 install stear-keyboard
tallero's avatar
tallero committed
23

tallero's avatar
tallero committed
24
25
26
27
In the meantime, you can install it cloning this repository and running

    # sudo python3 setup.py install

tallero's avatar
tallero committed
28
29
## Usage

tallero's avatar
tallero committed
30
31
32
*Stear Keyboard* install a command line utility with the same name, `stear-keyboard`, which has to run on both the client (the device sharing the keyboard) and the server (the device receiving the input). At first run it will generate a GPG keyring with a default key having passphrase *test* in the user configuration directory. You will have to export (or copy) such keyring on the devices which have to interoperate. Of course you can add as many keys as you want.

```bash
tallero's avatar
tallero committed
33
# On server (as root on GNU)
tallero's avatar
tallero committed
34
35
stear-keyboard server test

tallero's avatar
tallero committed
36
# On client (as user)
tallero's avatar
tallero committed
37
38
stear-keyboard client stearkeyboard@arcipelago.ml <host>
```
tallero's avatar
tallero committed
39

tallero's avatar
tallero committed
40
You can invoke command line help with `stear-keyboard --help` and get command options with
tallero's avatar
tallero committed
41

tallero's avatar
tallero committed
42
    stear-keyboard <command> --help
tallero's avatar
tallero committed
43

tallero's avatar
tallero committed
44
The application requires `gpg` to be present on your system.
tallero's avatar
tallero committed
45
46
47
48
49
50
51

## About

This program is licensed under [GNU Affero General Public License v3 or later](https://www.gnu.org/licenses/gpl-3.0.en.html) by [Pellegrino Prevete](http://prevete.ml).<br>
If you find this program useful, consider offering me a [beer](https://patreon.com/tallero), a new [computer](https://patreon.com/tallero) or a part time remote [job](mailto:pellegrinoprevete@gmail.com) to help me pay the bills.