You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.9 KiB
Bash
92 lines
2.9 KiB
Bash
lokinet_dir="/tmp/lokinet"
|
|
|
|
function show_splash() {
|
|
|
|
cyan='\033[1;36m'
|
|
|
|
echo -e "${cyan}\n"
|
|
echo -e " _ _ _ _ "
|
|
echo -e " | | | | (_) | | "
|
|
echo -e " | | ___ | | ___ _ __ ___| |_ "
|
|
echo -e " | | / _ \| |/ / | '_ \ / _ \ __| "
|
|
echo -e " | |___| (_) | <| | | | | __/ |_"
|
|
echo -e " \_____/\___/|_|\_\_|_| |_|\___|\__| "
|
|
echo -e " __________.____ _____ ____________________ "
|
|
echo -e " \______ \ | / _ \ / _____/\__ ___/ "
|
|
echo -e " | | _/ | / /_\ \ \_____ \ | | "
|
|
echo -e " | | \ |___/ | \/ \ | | "
|
|
echo -e " |______ /_______ \____|__ /_______ / |____| "
|
|
echo -e " \/ \/ \/ \/ "
|
|
echo "This installation adds Lokinet, tun module and resolvconf to your system"
|
|
sleep 8
|
|
}
|
|
|
|
function install_main () {
|
|
|
|
install_log "Clone and conduct Lokinet installation"
|
|
|
|
sudo modprobe tun
|
|
sudo curl -so /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg
|
|
echo "deb https://deb.oxen.io $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/oxen.list
|
|
|
|
echo "Resync package repositories."
|
|
|
|
sudo apt update
|
|
|
|
echo "Install Lokinet-GUI"
|
|
|
|
sudo apt install lokinet-gui -y
|
|
|
|
}
|
|
|
|
function resolv_config () {
|
|
|
|
install_log "Configure resolvconf installation"
|
|
|
|
sudo apt install resolvconf -y
|
|
sudo resolvconf -u
|
|
sudo systemctl restart lokinet
|
|
sudo lxpanelctl restart
|
|
|
|
}
|
|
# Fetches latest files from github to lokinet installation directory
|
|
function download_latest_files() {
|
|
|
|
if [ -d "$lokinet_dir" ]; then
|
|
sudo mv $lokinet_dir "$lokinet_dir.`date +%F-%R`" || install_error "Unable to remove old lokinet-installer directory"
|
|
fi
|
|
|
|
install_log "Cloning initialization files from github"
|
|
git clone --depth 1 https://github.com/necro-nemesis/Raspberry-Pi-OS-Lokinet $lokinet_dir || install_error "Unable to download files from github"
|
|
sudo mv $lokinet_dir/assets/Lokinet.desktop /usr/share/applications/Lokinet.desktop || install_error "Unable to add startup entry"
|
|
sudo mv $lokinet_dir/img/lokiremove.png /usr/share/pixmaps/lokiremove.png || install_error "Unable to add startup icon"
|
|
sudo chown -c root:root /usr/share/applications/Lokinet.desktop || install_error "Unable change owner and/or group."
|
|
}
|
|
|
|
# Outputs a Install log line
|
|
function install_log() {
|
|
echo -e "\033[1;32mLokinet Install: $*\033[m"
|
|
}
|
|
|
|
# Player during install_log
|
|
function player () {
|
|
sudo apt update
|
|
sudo apt install sox -y
|
|
sudo apt install libsox-fmt-all -y
|
|
play $lokinet_dir/assets/Stranglehold.mp3 &>/dev/null </dev/null &
|
|
|
|
}
|
|
|
|
function install_lokinet () {
|
|
|
|
download_latest_files
|
|
player
|
|
show_splash
|
|
install_main
|
|
resolv_config
|
|
echo "Installation complete!"
|
|
/usr/bin/lokinet-gui --notray &>/dev/null </dev/null &
|
|
sleep 60
|
|
pkill play
|
|
}
|