app specific settings on control panel moved to an applications menu
This commit is contained in:
parent
726fb1b335
commit
23e8e6f8f4
|
@ -33,6 +33,10 @@ VARIANTS=''
|
|||
ENABLE_BABEL="no"
|
||||
BABEL_PORT=6696
|
||||
|
||||
function configure_interactive_babel {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_babel {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -33,6 +33,10 @@ VARIANTS=''
|
|||
ENABLE_BATMAN="no"
|
||||
BATMAN_CELLID='any'
|
||||
|
||||
function configure_interactive_batman {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_batman {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -38,6 +38,28 @@ FULLBLOG_COMMIT='bf5fe9486160be4da86d8987d3e5c977e1dc6d32'
|
|||
MY_BLOG_TITLE="My Blog"
|
||||
MY_BLOG_SUBTITLE="Another ${PROJECT_NAME} Blog"
|
||||
|
||||
function configure_interactive_blog {
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --title $"Change blog avatar" \
|
||||
--backtitle $"Freedombone Control Panel" \
|
||||
--inputbox $"Enter a URL for an image. It should be approximately a square image." 8 75 2>$data
|
||||
sel=$?
|
||||
case $sel in
|
||||
0)
|
||||
IMAGE_URL=$(<$data)
|
||||
if [ ${#IMAGE_URL} -gt 5 ]; then
|
||||
clear
|
||||
${PROJECT_NAME}-blog -a $IMAGE_URL
|
||||
if [ "$?" = "0" ]; then
|
||||
dialog --title $"Change blog avatar" \
|
||||
--msgbox $"Your blog avatar has been changed" 6 40
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function install_interactive_blog {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -35,6 +35,10 @@ PELICAN_THEMES_REPO="https://github.com/getpelican/pelican-themes"
|
|||
PELICAN_PLUGINS_REPO="https://github.com/getpelican/pelican-plugins"
|
||||
DEFAULT_BLOG_TITLE=$"Freedombone Blog"
|
||||
|
||||
function configure_interactive_blogstatic {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_blogstatic {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -41,6 +41,10 @@ CJDNS_COMMIT='13189fde111d0500427a7a0ce06a970753527bca'
|
|||
CJDCMD_REPO="https://github.com/inhies/cjdcmd"
|
||||
CJDCMD_COMMIT='973cca6ed0eecf9041c3403a40193c0b1291b808'
|
||||
|
||||
function configure_interactive_cjdns {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_cjdns {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -30,6 +30,31 @@
|
|||
|
||||
VARIANTS='full media'
|
||||
|
||||
function configure_interactive_dlna {
|
||||
while true
|
||||
do
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --backtitle $"Freedombone Control Panel" \
|
||||
--title $"Media Menu" \
|
||||
--radiolist $"Choose an operation:" 13 70 3 \
|
||||
1 $"Attach a drive containing playable media" off \
|
||||
2 $"Remove a drive containing playable media" off \
|
||||
3 $"Exit" on 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) break;;
|
||||
255) break;;
|
||||
esac
|
||||
case $(cat $data) in
|
||||
1) remove-music
|
||||
attach-music;;
|
||||
2) remove-music;;
|
||||
3) break;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
function install_interactive_dlna {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -30,6 +30,10 @@
|
|||
|
||||
VARIANTS='all'
|
||||
|
||||
function configure_interactive_emacs {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_emacs {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -53,6 +53,10 @@ SHARINGS_THEME_COMMIT='7106c7ef03'
|
|||
GNUSOCIAL_NSFW_REPO="https://gitgud.io/ShitposterClub/SensitiveContent"
|
||||
GNUSOCIAL_NSFW_COMMIT='a096bbe0cfae9a9b177682920ffb58d32a48e136'
|
||||
|
||||
function configure_interactive_gnusocial {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_gnusocial {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -39,6 +39,10 @@ GIT_ONION_PORT=8090
|
|||
GIT_ADMIN_PASSWORD=
|
||||
GOGS_BIN=
|
||||
|
||||
function configure_interactive_gogs {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_gogs {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -40,6 +40,91 @@ HUBZILLA_ADMIN_PASSWORD=
|
|||
HUBZILLA_COMMIT='8aee932525d0bc341713fe7052e2a5ab318a69c0'
|
||||
HUBZILLA_ADDONS_COMMIT='4456f097e3faf2adeab696ad08e3f213e82199bd'
|
||||
|
||||
function hubzilla_renew_cert {
|
||||
dialog --title $"Renew SSL certificate" \
|
||||
--backtitle $"Freedombone Control Panel" \
|
||||
--yesno $"\nThis will renew a letsencrypt certificate. Select 'yes' to continue" 16 60
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) return;;
|
||||
255) return;;
|
||||
esac
|
||||
HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
|
||||
if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs ]; then
|
||||
dialog --title $"Renew SSL certificate" \
|
||||
--msgbox $"Hubzilla install directory not found" 6 40
|
||||
return
|
||||
fi
|
||||
${PROJECT_NAME}-renew-cert -h $HUBZILLA_DOMAIN_NAME -p 'letsencrypt'
|
||||
if [ ! "$?" = "0" ]; then
|
||||
any_key
|
||||
else
|
||||
dialog --title $"Renew SSL certificate" \
|
||||
--msgbox $"Hubzilla certificate has been renewed" 6 40
|
||||
fi
|
||||
}
|
||||
|
||||
function hubzilla_channel_directory_server {
|
||||
if ! grep -q "Hubzilla domain" $COMPLETION_FILE; then
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--msgbox $"Hubzilla is not installed on this system" 6 40
|
||||
return
|
||||
fi
|
||||
HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
|
||||
if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs ]; then
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--msgbox $"Hubzilla install directory not found" 6 40
|
||||
return
|
||||
fi
|
||||
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--backtitle $"Freedombone Control Panel" \
|
||||
--inputbox $"When you click on 'channel directory' this is where Hubzilla will obtain its list from" 8 60 2>$data
|
||||
sel=$?
|
||||
case $sel in
|
||||
0)
|
||||
hubzilla_domain_server=$(<$data)
|
||||
if [[ $hubzilla_domain_server != *"."* ]]; then
|
||||
return
|
||||
fi
|
||||
if [[ $hubzilla_domain_server != "https"* ]]; then
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--msgbox $"Invalid domain - include the https://" 6 40
|
||||
return
|
||||
fi
|
||||
./var/www/$HUBZILLA_DOMAIN_NAME/htdocs/util/config system directory_server $hubzilla_domain_server
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--msgbox $"Domain channel directory server changed to $hubzilla_domain_server" 6 40
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function configure_interactive_hubzilla {
|
||||
while true
|
||||
do
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --backtitle $"Freedombone Control Panel" \
|
||||
--title $"Hubzilla" \
|
||||
--radiolist $"Choose an operation:" 13 70 4 \
|
||||
1 $"Set channel directory server" off \
|
||||
2 $"Renew SSL certificate" off \
|
||||
3 $"Back to main menu" on 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) break;;
|
||||
255) break;;
|
||||
esac
|
||||
case $(cat $data) in
|
||||
1) hubzilla_channel_directory_server;;
|
||||
2) hubzilla_renew_cert;;
|
||||
3) break;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
function install_interactive_hubzilla {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -41,6 +41,10 @@ IPFS_JS_RONIN_VERSION='0.3.11'
|
|||
IPFS_KEY_LENGTH=2048
|
||||
IPFS_GO_VERSION=0.4.2
|
||||
|
||||
function configure_interactive_ipfs {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_ipfs {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -36,6 +36,74 @@ IRC_ONION_PORT=6697
|
|||
# An optional password to log into IRC. This applies to all users
|
||||
IRC_PASSWORD=
|
||||
|
||||
function irc_show_password {
|
||||
IRC_PASSWORD=$(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
|
||||
dialog --title $"IRC Password" \
|
||||
--msgbox "$IRC_PASSWORD" 6 40
|
||||
}
|
||||
|
||||
function irc_set_global_password {
|
||||
dialog --title $"IRC Password" \
|
||||
--clear \
|
||||
--backtitle $"Freedombone Control Panel" \
|
||||
--passwordbox $"Password for all IRC users, or press Enter for no password" 10 50 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
0)
|
||||
EXISTING_IRC_PASSWORD=$(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
|
||||
NEW_IRC_PASSWORD=$(<$data)
|
||||
sed -i "0,/RE/s/Password =.*/Password =$NEW_IRC_PASSWORD/" /etc/ngircd/ngircd.conf
|
||||
|
||||
# replace the password for all users
|
||||
for d in /home/*/ ; do
|
||||
IRC_USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
|
||||
if [[ $IRC_USERNAME != "git" && $IRC_USERNAME != "mirrors" && $IRC_USERNAME != "sync" && $IRC_USERNAME != "tahoelafs" ]]; then
|
||||
if [ -f /home/$IRC_USERNAME/.irssi/config ]; then
|
||||
sed -i "s|$EXISTING_IRC_PASSWORD|$NEW_IRC_PASSWORD|g" /home/$IRC_USERNAME/.irssi/config
|
||||
chown -R $IRC_USERNAME:$IRC_USERNAME /home/$IRC_USERNAME/.irssi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# restart the daemon for the new password to take effect
|
||||
systemctl restart ngircd
|
||||
|
||||
dialog --title $"IRC Password" \
|
||||
--msgbox $"The IRC password was changed" 6 40
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function configure_interactive_irc {
|
||||
if [ ! -d /etc/ngircd ]; then
|
||||
dialog --title $"IRC Menu" \
|
||||
--msgbox $"No IRC server is installed" 6 70
|
||||
return
|
||||
fi
|
||||
|
||||
while true
|
||||
do
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --backtitle $"Freedombone Control Panel" \
|
||||
--title $"IRC Menu" \
|
||||
--radiolist $"Choose an operation:" 14 70 4 \
|
||||
1 $"Set a password for all IRC users" off \
|
||||
2 $"Show current IRC login password" off \
|
||||
3 $"Exit" on 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) break;;
|
||||
255) break;;
|
||||
esac
|
||||
case $(cat $data) in
|
||||
1) irc_set_global_password;;
|
||||
2) irc_show_password;;
|
||||
3) break;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
function install_interactive_irc {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -37,6 +37,10 @@ LIBREVAULT_REPO="https://github.com/Librevault/librevault"
|
|||
LIBREVAULT_COMMIT='86a6aefcb5cc458f4d42195368fbcff2871f98e3'
|
||||
LIBREVAULT_PORT=42345
|
||||
|
||||
function configure_interactive_librevault {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_librevault {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -37,6 +37,10 @@ MEDIAGOBLIN_COMMIT='d1ac2d52fd8859c3f32fa38e4836ffe9615e5bba'
|
|||
MEDIAGOBLIN_ADMIN_PASSWORD=
|
||||
MEDIAGOBLIN_ONION_PORT=8096
|
||||
|
||||
function configure_interactive_mediagoblin {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_mediagoblin {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -39,6 +39,10 @@ VOIP_PORT=64738
|
|||
VOIP_DATABASE="mumble-server.sqlite"
|
||||
VOIP_CONFIG_FILE="mumble-server.ini"
|
||||
|
||||
function configure_interactive_mumble {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_mumble {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -42,6 +42,10 @@ RSS_READER_PATH=/etc/share/tt-rss
|
|||
RSS_READER_GNUSOCIAL_REPO="https://github.com/bashrc/ttrss-gnusocial"
|
||||
RSS_READER_GNUSOCIAL_COMMIT='20b2535e3f2b0ddc0117b584bdcaa6bf7a2d9fa2'
|
||||
|
||||
function configure_interactive_rss {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_rss {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -38,6 +38,10 @@ SEARX_ONION_HOSTNAME=
|
|||
SEARX_LOGIN_TEXT=$"Search engine login"
|
||||
SEARX_PASSWORD=
|
||||
|
||||
function configure_interactive_searx {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_searx {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -37,6 +37,10 @@ VOIP_TURN_PORT=3478
|
|||
VOIP_TURN_TLS_PORT=5349
|
||||
VOIP_TURN_NONCE=
|
||||
|
||||
function configure_interactive_sip {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_sip {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -39,6 +39,10 @@ SYNCTHING_PORT=22000
|
|||
SYNCTHING_SHARED_DATA=/var/lib/syncthing/SyncShared
|
||||
SYNCTHING_USER_IDS_FILE='.syncthingids'
|
||||
|
||||
function configure_interactive_syncthing {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_syncthing {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -39,6 +39,10 @@ TAHOELAFS_STORAGE_SPACE=1G
|
|||
TAHOELAFS_SHARED_DIR='Shared'
|
||||
TAHOE_COMMAND="cd /var/lib/tahoelafs && venv/bin/tahoe"
|
||||
|
||||
function configure_interactive_tahoelafs {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_tahoelafs {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -49,6 +49,10 @@ TOXIC_FILE=/usr/local/bin/toxic
|
|||
QTOX_REPO="https://github.com/bashrc/qTox"
|
||||
QTOX_COMMIT='27a628a3789fca4f31516c3982e580052dd3c773'
|
||||
|
||||
function configure_interactive_tox {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_tox {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -30,6 +30,10 @@
|
|||
|
||||
VARIANTS=''
|
||||
|
||||
function configure_interactive_vpn {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_vpn {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -38,6 +38,10 @@ WEBMAIL_ADMIN_PASSWORD=
|
|||
WEB_PATH=/var/www
|
||||
WEBMAIL_PATH=$WEB_PATH/webmail
|
||||
|
||||
function configure_interactive_webmail {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_webmail {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -36,6 +36,10 @@ WIKI_TITLE="${PROJECT_NAME} Wiki"
|
|||
WIKI_CODE=
|
||||
WIKI_ONION_PORT=8089
|
||||
|
||||
function configure_interactive_wiki {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_wiki {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -37,6 +37,10 @@ XMPP_PASSWORD=
|
|||
XMPP_CIPHERS='"EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA"'
|
||||
XMPP_ECC_CURVE='"secp384r1"'
|
||||
|
||||
function configure_interactive_xmpp {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_xmpp {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -49,6 +49,10 @@ ZERONET_DEFAULT_MAIL_TAGLINE="Mail for the Mesh"
|
|||
ZERONET_ID_REPO="https://github.com/HelloZeroNet/ZeroID"
|
||||
ZERONET_ID_COMMIT='ccf14fdc96fa9cdb2ddd8a7ab283a8e17a4f234b'
|
||||
|
||||
function configure_interactive_zeronet {
|
||||
echo -n ''
|
||||
}
|
||||
|
||||
function install_interactive_zeronet {
|
||||
echo -n ''
|
||||
}
|
||||
|
|
|
@ -686,66 +686,6 @@ function change_password {
|
|||
--msgbox $"Password for $SELECTED_USERNAME was changed" 6 40
|
||||
}
|
||||
|
||||
function irc_show_password {
|
||||
IRC_PASSWORD=$(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
|
||||
dialog --title $"IRC Password" \
|
||||
--msgbox "$IRC_PASSWORD" 6 40
|
||||
}
|
||||
|
||||
function irc_set_global_password {
|
||||
dialog --title $"IRC Password" \
|
||||
--clear \
|
||||
--backtitle $"Freedombone Control Panel" \
|
||||
--passwordbox $"Password for all IRC users, or press Enter for no password" 10 50 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
0)
|
||||
EXISTING_IRC_PASSWORD=$(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
|
||||
NEW_IRC_PASSWORD=$(<$data)
|
||||
sed -i "0,/RE/s/Password =.*/Password =$NEW_IRC_PASSWORD/" /etc/ngircd/ngircd.conf
|
||||
|
||||
# replace the password for all users
|
||||
for d in /home/*/ ; do
|
||||
IRC_USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
|
||||
if [[ $IRC_USERNAME != "git" && $IRC_USERNAME != "mirrors" && $IRC_USERNAME != "sync" && $IRC_USERNAME != "tahoelafs" ]]; then
|
||||
if [ -f /home/$IRC_USERNAME/.irssi/config ]; then
|
||||
sed -i "s|$EXISTING_IRC_PASSWORD|$NEW_IRC_PASSWORD|g" /home/$IRC_USERNAME/.irssi/config
|
||||
chown -R $IRC_USERNAME:$IRC_USERNAME /home/$IRC_USERNAME/.irssi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# restart the daemon for the new password to take effect
|
||||
systemctl restart ngircd
|
||||
|
||||
dialog --title $"IRC Password" \
|
||||
--msgbox $"The IRC password was changed" 6 40
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function change_blog_avatar {
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --title $"Change blog avatar" \
|
||||
--backtitle $"Freedombone Control Panel" \
|
||||
--inputbox $"Enter a URL for an image. It should be approximately a square image." 8 75 2>$data
|
||||
sel=$?
|
||||
case $sel in
|
||||
0)
|
||||
IMAGE_URL=$(<$data)
|
||||
if [ ${#IMAGE_URL} -gt 5 ]; then
|
||||
clear
|
||||
${PROJECT_NAME}-blog -a $IMAGE_URL
|
||||
if [ "$?" = "0" ]; then
|
||||
dialog --title $"Change blog avatar" \
|
||||
--msgbox $"Your blog avatar has been changed" 6 40
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function change_ssh_public_key {
|
||||
select_user
|
||||
if [ ! $SELECTED_USERNAME ]; then
|
||||
|
@ -1367,67 +1307,6 @@ function reset_tripwire {
|
|||
any_key
|
||||
}
|
||||
|
||||
function hubzilla_renew_cert {
|
||||
dialog --title $"Renew SSL certificate" \
|
||||
--backtitle $"Freedombone Control Panel" \
|
||||
--yesno $"\nThis will renew a letsencrypt certificate. Select 'yes' to continue" 16 60
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) return;;
|
||||
255) return;;
|
||||
esac
|
||||
HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
|
||||
if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs ]; then
|
||||
dialog --title $"Renew SSL certificate" \
|
||||
--msgbox $"Hubzilla install directory not found" 6 40
|
||||
return
|
||||
fi
|
||||
${PROJECT_NAME}-renew-cert -h $HUBZILLA_DOMAIN_NAME -p 'letsencrypt'
|
||||
if [ ! "$?" = "0" ]; then
|
||||
any_key
|
||||
else
|
||||
dialog --title $"Renew SSL certificate" \
|
||||
--msgbox $"Hubzilla certificate has been renewed" 6 40
|
||||
fi
|
||||
}
|
||||
|
||||
function hubzilla_channel_directory_server {
|
||||
if ! grep -q "Hubzilla domain" $COMPLETION_FILE; then
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--msgbox $"Hubzilla is not installed on this system" 6 40
|
||||
return
|
||||
fi
|
||||
HUBZILLA_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Hubzilla domain" | awk -F ':' '{print $2}')
|
||||
if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs ]; then
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--msgbox $"Hubzilla install directory not found" 6 40
|
||||
return
|
||||
fi
|
||||
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--backtitle $"Freedombone Control Panel" \
|
||||
--inputbox $"When you click on 'channel directory' this is where Hubzilla will obtain its list from" 8 60 2>$data
|
||||
sel=$?
|
||||
case $sel in
|
||||
0)
|
||||
hubzilla_domain_server=$(<$data)
|
||||
if [[ $hubzilla_domain_server != *"."* ]]; then
|
||||
return
|
||||
fi
|
||||
if [[ $hubzilla_domain_server != "https"* ]]; then
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--msgbox $"Invalid domain - include the https://" 6 40
|
||||
return
|
||||
fi
|
||||
./var/www/$HUBZILLA_DOMAIN_NAME/htdocs/util/config system directory_server $hubzilla_domain_server
|
||||
dialog --title $"Hubzilla channel directory server" \
|
||||
--msgbox $"Domain channel directory server changed to $hubzilla_domain_server" 6 40
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function format_drive {
|
||||
drive=
|
||||
data=$(tempfile 2>/dev/null)
|
||||
|
@ -1917,55 +1796,6 @@ function menu_users {
|
|||
done
|
||||
}
|
||||
|
||||
function menu_hubzilla {
|
||||
while true
|
||||
do
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --backtitle $"Freedombone Control Panel" \
|
||||
--title $"Hubzilla" \
|
||||
--radiolist $"Choose an operation:" 13 70 4 \
|
||||
1 $"Set channel directory server" off \
|
||||
2 $"Renew SSL certificate" off \
|
||||
3 $"Back to main menu" on 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) break;;
|
||||
255) break;;
|
||||
esac
|
||||
case $(cat $data) in
|
||||
1) hubzilla_channel_directory_server;;
|
||||
2) hubzilla_renew_cert;;
|
||||
3) break;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
function menu_media {
|
||||
while true
|
||||
do
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --backtitle $"Freedombone Control Panel" \
|
||||
--title $"Media Menu" \
|
||||
--radiolist $"Choose an operation:" 13 70 3 \
|
||||
1 $"Attach a drive containing playable media" off \
|
||||
2 $"Remove a drive containing playable media" off \
|
||||
3 $"Exit" on 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) break;;
|
||||
255) break;;
|
||||
esac
|
||||
case $(cat $data) in
|
||||
1) remove-music
|
||||
attach-music;;
|
||||
2) remove-music;;
|
||||
3) break;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
function wifi_enable {
|
||||
disable_wifi='yes'
|
||||
dialog --title $"Enable Wifi" \
|
||||
|
@ -2018,34 +1848,42 @@ function menu_wifi {
|
|||
done
|
||||
}
|
||||
|
||||
function menu_irc {
|
||||
if [ ! -d /etc/ngircd ]; then
|
||||
dialog --title $"IRC Menu" \
|
||||
--msgbox $"No IRC server is installed" 6 70
|
||||
return
|
||||
fi
|
||||
function app_settings {
|
||||
|
||||
while true
|
||||
|
||||
detect_installable_apps
|
||||
|
||||
applist=""
|
||||
appnames=()
|
||||
n=1
|
||||
app_index=0
|
||||
for a in "${APPS_AVAILABLE[@]}"
|
||||
do
|
||||
data=$(tempfile 2>/dev/null)
|
||||
trap "rm -f $data" 0 1 2 5 15
|
||||
dialog --backtitle $"Freedombone Control Panel" \
|
||||
--title $"IRC Menu" \
|
||||
--radiolist $"Choose an operation:" 14 70 4 \
|
||||
1 $"Set a password for all IRC users" off \
|
||||
2 $"Show current IRC login password" off \
|
||||
3 $"Exit" on 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) break;;
|
||||
255) break;;
|
||||
esac
|
||||
case $(cat $data) in
|
||||
1) irc_set_global_password;;
|
||||
2) irc_show_password;;
|
||||
3) break;;
|
||||
esac
|
||||
if [[ ${APPS_INSTALLED[$app_index]} != "0" ]]; then
|
||||
if [[ $(function_exists configure_interactive_${a}) == "1" ]]; then
|
||||
applist="$applist $n $a off"
|
||||
n=$[n+1]
|
||||
appnames+=("$a")
|
||||
fi
|
||||
fi
|
||||
app_index=$[app_index+1]
|
||||
done
|
||||
backstr=$'Back to main menu'
|
||||
applist="$applist $n $backstr on"
|
||||
appnames+=("Exit")
|
||||
|
||||
choices=$(dialog --stdout --backtitle $"Freedombone" \
|
||||
--title $"Change Settings for an App" \
|
||||
--radiolist $'Choose:' \
|
||||
27 40 20 $applist)
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
for choice in $choices
|
||||
do
|
||||
app_index = $[choice-1]
|
||||
configure_interactive_${appname[$app_index]}
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
function menu_top_level {
|
||||
|
@ -2059,25 +1897,22 @@ function menu_top_level {
|
|||
1 $"About this system" off \
|
||||
2 $"Backup and Restore" off \
|
||||
3 $"Reset Tripwire" off \
|
||||
4 $"Logging on/off" off \
|
||||
5 $"Ping enable/disable" off \
|
||||
6 $"Manage Users" off \
|
||||
7 $"Email Filtering Rules" off \
|
||||
8 $"Outgoing Email Proxy" off \
|
||||
9 $"Security Settings" off \
|
||||
10 $"Set the main repository (repo mirrors)" off \
|
||||
11 $"Hubzilla" off \
|
||||
12 $"Media menu" off \
|
||||
13 $"IRC menu" off \
|
||||
14 $"Change your blog avatar" off \
|
||||
15 $"Change the name of this system" off \
|
||||
16 $"Set the TLS date/time source" off \
|
||||
17 $"Set a static local IP address" off \
|
||||
18 $"Wifi menu" off \
|
||||
19 $"Check for updates" off \
|
||||
20 $"Power off the system" off \
|
||||
21 $"Restart the system" off \
|
||||
22 $"Exit" on 2> $data
|
||||
4 $"App Settings" off \
|
||||
5 $"Logging on/off" off \
|
||||
6 $"Ping enable/disable" off \
|
||||
7 $"Manage Users" off \
|
||||
8 $"Email Filtering Rules" off \
|
||||
9 $"Outgoing Email Proxy" off \
|
||||
10 $"Security Settings" off \
|
||||
11 $"Set the main repository (repo mirrors)" off \
|
||||
12 $"Change the name of this system" off \
|
||||
13 $"Set the TLS date/time source" off \
|
||||
14 $"Set a static local IP address" off \
|
||||
15 $"Wifi menu" off \
|
||||
16 $"Check for updates" off \
|
||||
17 $"Power off the system" off \
|
||||
18 $"Restart the system" off \
|
||||
19 $"Exit" on 2> $data
|
||||
sel=$?
|
||||
case $sel in
|
||||
1) exit 1;;
|
||||
|
@ -2087,25 +1922,22 @@ function menu_top_level {
|
|||
1) show_about;;
|
||||
2) menu_backup_restore;;
|
||||
3) reset_tripwire;;
|
||||
4) logging_on_off;;
|
||||
5) ping_enable_disable;;
|
||||
6) menu_users;;
|
||||
7) menu_email;;
|
||||
8) smtp_proxy;;
|
||||
9) security_settings;;
|
||||
10) set_main_repo;;
|
||||
11) menu_hubzilla;;
|
||||
12) menu_media;;
|
||||
13) menu_irc;;
|
||||
14) change_blog_avatar;;
|
||||
15) change_system_name;;
|
||||
16) set_tls_time_source;;
|
||||
17) set_static_IP;;
|
||||
18) menu_wifi;;
|
||||
19) check_for_updates;;
|
||||
20) shut_down_system;;
|
||||
21) restart_system;;
|
||||
22) break;;
|
||||
4) app_settings;;
|
||||
5) logging_on_off;;
|
||||
6) ping_enable_disable;;
|
||||
7) menu_users;;
|
||||
8) menu_email;;
|
||||
9) smtp_proxy;;
|
||||
10) security_settings;;
|
||||
11) set_main_repo;;
|
||||
12) change_system_name;;
|
||||
13) set_tls_time_source;;
|
||||
14) set_static_IP;;
|
||||
15) menu_wifi;;
|
||||
16) check_for_updates;;
|
||||
17) shut_down_system;;
|
||||
18) restart_system;;
|
||||
19) break;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue