/dalec-openwrt

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Dalec

Dalec is a Data Colection tool for Linux based systems.

It aims to exterminate known hurdles for developers to collect user data from devices while keeping the privacy intact.

The collected data is securely transmitted to a collection server using the hierarchical structure of the Domain Name System (DNS)

The data transmission process will generate a device ID based on your network interfaces MAC addresses, which are hashed and encrypted with multiple rounds of PBKDF2 and shortened to 32 Byte. Therefore you can't be identified by simply brute forcing the ID. Your data is transmitted as asynchronous encrypted Base 16 encoded chunks. These chunks will be the labels in a DNS-request. They are split over multiple requests, recombined on the server side and decrypted.

WARNING:This software is intended for data collection!

If you agree, that your basic data is collected, run the command below to enable the collection.

To enable this software run this command form command line on your device:

printf "0 */4 * * * /bin/sh /usr/sbin/transmitt_data\n$(crontab -l -u root 2>/dev/null)" | crontab -u root -

For further information please review our privacy policy

basic

It collects the following information without additional switches:

  • Software version
  • Available and total RAM (in 2^n categories)
  • Uptime
  • CPU data:
    • Model
    • Model name
    • System type
    • Machine Info
    • Vendor ID
    • Core and Thread count
  • Kernel version
  • Architecture

-n | --network

  • collects number of DHCP leases
  • Number of network interfaces

-a | --all:

  • collects all basic information and network information
  • Kernel compile information

Adding it to the build process

To compile dalec for your system add:

src-git dalec https://github.com/ikstream/dalec.git

to your feeds.conf.default. Afterwards run:

./scripts/feeds update dalec
./scripts/feeds install dalec

Select dalec dalec in:

make menuconfig

under Utilities and run:

make package/feeds/dalec/dalec/compile

Depencies

For an OpenWrt system you need

openssl-util
getopt
drill

Optionaly you may want to install

coreutils-uname

to allow the tramission of the architecture of your system

Usage

dalec
 -a | --all 					  # collect extended information
 -c | --config <path to coinfig>  # set config file path
 -h | --help                      # show options
 -l | --log <path to log file>    # set log file path
 -n | --network 				  # collect network information
 -v | --version                   # Show version info

Install on older releases

  • To use dalec with OpenWrt release 18.06.9 you would need to install recent versions of libopenssl, libopenssl-conf and openssl-util manually

  • To use dalec with OpenWrt release 17.01.7 you would need to install recent versions of libopenssl, libopenssl-conf, openssl-util, drill and libldns manually