Table of Contents

User guide

git clone https://jenda.hrach.eu/p/kukuruku

We test the client on Debian 9 and the server on Debian 8, Debian 9 and Ubuntu 14.04. Howeverer, it should run on any distribution and probably on other UNIX systems too.

Server

Requirements:

cd server
make
./init.sh rtl=0 2048000 10 127.0.0.1 # osmosdr args, samplerate, ppm, listen address

There is no security in the protocol. Use ipsec, ssh tunneling, openvpn, etc.

Client

Requirements:

grcc was broken in 3.7.10, and was fixed recently.

Build it and install it:

cp -a .kukuruku ~
# edit path to modes directory in ~/.kukuruku/modes
cd client
make
./kukuruku-gui.py your-server:4444

FM demodulator is builtin, for other modes, you will need to install additional packages:

Tetra

You need “tetra-rx” in your $PATH. Install tetra.

It dumps traffic data to /tmp/tetra-dumpdir. You can decode the channel with

codec/c-code/cdecoder traffic_666_1.out cdata

and then create a .cdata.bz2 with

cat cdata | gr-pack | bzip2 > cdata.bz2

You can play the resulting file with cdp.

Tetrapol

You need “tetrapol_dump” in your $PATH. Install tetrapol.

RS92-SGPL Weather sonde

You need “rs92ecc” (for old RS92 sondes) and/or “rs41ecc” (for modern RS41 sondes) in your $PATH. Install https://github.com/rs1729/RS.

Additionally, you need a fresh GPS almanac in /tmp/alma.bin to decode satellite data. You can download it here. The site denies usage of wget; use empty or Firefox user-agent to get around it.

Usage

libclient

You can easily roll out your own client!

import libclient
 
cl = libclient.client()
cl.connect("machine.example.com", 4444)
cl.set_auto_enable_xlater(True)
cl.create_xlater(frequency, decimation, my_filter, my_demodulator, -1)

See the example in cli.py.