# Android Installation:

Download and install F-Droid

Install Termux
Install Termux:api

## In Termux:

termux-setup-storage

pkg install openssh termux-api espeak build-essential \
perl tesseract imagemagick zip sqlite sshpass openssh \
curl sox iproute2 libqrencode rsync zbar ffmpeg

ssh-keygen -t rsa -b 4096 -f id_rsa

cpan App::cpanminus

apt install openssl openssl-tool

cpanm Net::SSLeay

cpanm --notest --force Mojolicious::Lite \
 WWW::Mechanize Time::Piece Time::Duration \
 Date::Parse Hash::Merge Encode Data::Dumper \
 File::Find File::Slurp Number::Format \
 SQL::Abstract Mojo::SQLite Data::UUID \
 Mojolicious::Plugin::RenderFile \
 LWP::UserAgent Crypt::Simple File::Type \
 HTML::Strip URI::Encode LWP::Protocol::https \
 URI::Escape MIME::Base64 Math::Trig List::Util \
 File::Monitor Device::SerialPort Barcode::ZBar

cd president

chmod +x President.pl

To run

./President.pl

# Debian Installation
sudo apt update; sudo apt upgrade;
sudo apt install net-tools lib32z1-dev cpanminus \
ssh espeak build-essential zip openssl libssl-dev \
perl tesseract-ocr imagemagick sqlite3 sshpass \
ssh curl sox iproute2 qrencode rsync ffmpeg libbarcode-zbar-perl

sudo cpanm --notest --force Mojolicious::Lite \
 WWW::Mechanize Time::Piece Time::Duration \
 Date::Parse  Hash::Merge Encode Data::Dumper \
 File::Find File::Slurp Number::Format \
 SQL::Abstract Mojo::SQLite Data::UUID \
 Mojolicious::Plugin::RenderFile \
 LWP::UserAgent Crypt::Simple File::Type \
 HTML::Strip URI::Encode LWP::Protocol::https \
 URI::Escape MIME::Base64 Math::Trig \
 List::Util Net::SSLeay File::Monitor \
 Device::SerialPort Barcode::ZBar

cd president
./President.pl



# Manjaro Installation:

sudo pacman -Syu

sudo pacman -S base-devel cpanminus sqlite3 \
chromium xclip rsync sshpass certbot zip \
imagemagick espeak-ng tesseract xsane sox \
net-tools xdotool qrencode zbar fprintd

sudo cpanm --notest --force Mojolicious::Lite \
 WWW::Mechanize Time::Piece Time::Duration \
 Date::Parse Hash::Merge Encode Data::Dumper \
 File::Find File::Slurp Number::Format \
 SQL::Abstract Mojo::SQLite Data::UUID \
 Mojolicious::Plugin::RenderFile \
 LWP::UserAgent Crypt::Simple File::Type \
 HTML::Strip URI::Encode LWP::Protocol::https \
 URI::Escape MIME::Base64 Math::Trig \
 List::Util Net::SSLeay \
 File::Monitor Device::SerialPort Barcode::ZBar


# Alpine Linux
# Haven't really tested this one, except on an iPhone 6 in iSH
apk update
apk upgrade
apk add alpine-sdk perl-app-cpanminus sqlite \
openssh curl net-tools zip libqrencode rsync wget \
zbar

sudo cpanm --notest --force Mojolicious::Lite \
 WWW::Mechanize Time::Piece Time::Duration \
 Date::Parse Hash::Merge Encode Data::Dumper \
 File::Find File::Slurp Number::Format \
 SQL::Abstract Mojo::SQLite Data::UUID \
 Mojolicious::Plugin::RenderFile \
 LWP::UserAgent Crypt::Simple File::Type \
 HTML::Strip URI::Encode LWP::Protocol::https \
 URI::Escape MIME::Base64 Math::Trig List::Util \
 Net::SSLeay File::Monitor Device::SerialPort \
 Barcode::ZBar




# POST INSTALL

To access the database, move or copy database/initial.enc to your home directory.
Then copy the config.json.example file to config.json:

cp -v database/initial.enc ~/initial.enc
cp -v config.json.example config.json

cd president
./President.pl

Your default browser should automatically open with the database highlighted.
Password: password

This is alpha software, expect yourself to be frustrated most of the time... the handbook is in progress.
