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"
|
ENABLE_BABEL="no"
|
||||||
BABEL_PORT=6696
|
BABEL_PORT=6696
|
||||||
|
|
||||||
|
function configure_interactive_babel {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_babel {
|
function install_interactive_babel {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,10 @@ VARIANTS=''
|
||||||
ENABLE_BATMAN="no"
|
ENABLE_BATMAN="no"
|
||||||
BATMAN_CELLID='any'
|
BATMAN_CELLID='any'
|
||||||
|
|
||||||
|
function configure_interactive_batman {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_batman {
|
function install_interactive_batman {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,28 @@ FULLBLOG_COMMIT='bf5fe9486160be4da86d8987d3e5c977e1dc6d32'
|
||||||
MY_BLOG_TITLE="My Blog"
|
MY_BLOG_TITLE="My Blog"
|
||||||
MY_BLOG_SUBTITLE="Another ${PROJECT_NAME} 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 {
|
function install_interactive_blog {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,10 @@ PELICAN_THEMES_REPO="https://github.com/getpelican/pelican-themes"
|
||||||
PELICAN_PLUGINS_REPO="https://github.com/getpelican/pelican-plugins"
|
PELICAN_PLUGINS_REPO="https://github.com/getpelican/pelican-plugins"
|
||||||
DEFAULT_BLOG_TITLE=$"Freedombone Blog"
|
DEFAULT_BLOG_TITLE=$"Freedombone Blog"
|
||||||
|
|
||||||
|
function configure_interactive_blogstatic {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_blogstatic {
|
function install_interactive_blogstatic {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,10 @@ CJDNS_COMMIT='13189fde111d0500427a7a0ce06a970753527bca'
|
||||||
CJDCMD_REPO="https://github.com/inhies/cjdcmd"
|
CJDCMD_REPO="https://github.com/inhies/cjdcmd"
|
||||||
CJDCMD_COMMIT='973cca6ed0eecf9041c3403a40193c0b1291b808'
|
CJDCMD_COMMIT='973cca6ed0eecf9041c3403a40193c0b1291b808'
|
||||||
|
|
||||||
|
function configure_interactive_cjdns {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_cjdns {
|
function install_interactive_cjdns {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,31 @@
|
||||||
|
|
||||||
VARIANTS='full media'
|
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 {
|
function install_interactive_dlna {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,10 @@
|
||||||
|
|
||||||
VARIANTS='all'
|
VARIANTS='all'
|
||||||
|
|
||||||
|
function configure_interactive_emacs {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_emacs {
|
function install_interactive_emacs {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,10 @@ SHARINGS_THEME_COMMIT='7106c7ef03'
|
||||||
GNUSOCIAL_NSFW_REPO="https://gitgud.io/ShitposterClub/SensitiveContent"
|
GNUSOCIAL_NSFW_REPO="https://gitgud.io/ShitposterClub/SensitiveContent"
|
||||||
GNUSOCIAL_NSFW_COMMIT='a096bbe0cfae9a9b177682920ffb58d32a48e136'
|
GNUSOCIAL_NSFW_COMMIT='a096bbe0cfae9a9b177682920ffb58d32a48e136'
|
||||||
|
|
||||||
|
function configure_interactive_gnusocial {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_gnusocial {
|
function install_interactive_gnusocial {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,10 @@ GIT_ONION_PORT=8090
|
||||||
GIT_ADMIN_PASSWORD=
|
GIT_ADMIN_PASSWORD=
|
||||||
GOGS_BIN=
|
GOGS_BIN=
|
||||||
|
|
||||||
|
function configure_interactive_gogs {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_gogs {
|
function install_interactive_gogs {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,91 @@ HUBZILLA_ADMIN_PASSWORD=
|
||||||
HUBZILLA_COMMIT='8aee932525d0bc341713fe7052e2a5ab318a69c0'
|
HUBZILLA_COMMIT='8aee932525d0bc341713fe7052e2a5ab318a69c0'
|
||||||
HUBZILLA_ADDONS_COMMIT='4456f097e3faf2adeab696ad08e3f213e82199bd'
|
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 {
|
function install_interactive_hubzilla {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,10 @@ IPFS_JS_RONIN_VERSION='0.3.11'
|
||||||
IPFS_KEY_LENGTH=2048
|
IPFS_KEY_LENGTH=2048
|
||||||
IPFS_GO_VERSION=0.4.2
|
IPFS_GO_VERSION=0.4.2
|
||||||
|
|
||||||
|
function configure_interactive_ipfs {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_ipfs {
|
function install_interactive_ipfs {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,74 @@ IRC_ONION_PORT=6697
|
||||||
# An optional password to log into IRC. This applies to all users
|
# An optional password to log into IRC. This applies to all users
|
||||||
IRC_PASSWORD=
|
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 {
|
function install_interactive_irc {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,10 @@ LIBREVAULT_REPO="https://github.com/Librevault/librevault"
|
||||||
LIBREVAULT_COMMIT='86a6aefcb5cc458f4d42195368fbcff2871f98e3'
|
LIBREVAULT_COMMIT='86a6aefcb5cc458f4d42195368fbcff2871f98e3'
|
||||||
LIBREVAULT_PORT=42345
|
LIBREVAULT_PORT=42345
|
||||||
|
|
||||||
|
function configure_interactive_librevault {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_librevault {
|
function install_interactive_librevault {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,10 @@ MEDIAGOBLIN_COMMIT='d1ac2d52fd8859c3f32fa38e4836ffe9615e5bba'
|
||||||
MEDIAGOBLIN_ADMIN_PASSWORD=
|
MEDIAGOBLIN_ADMIN_PASSWORD=
|
||||||
MEDIAGOBLIN_ONION_PORT=8096
|
MEDIAGOBLIN_ONION_PORT=8096
|
||||||
|
|
||||||
|
function configure_interactive_mediagoblin {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_mediagoblin {
|
function install_interactive_mediagoblin {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,10 @@ VOIP_PORT=64738
|
||||||
VOIP_DATABASE="mumble-server.sqlite"
|
VOIP_DATABASE="mumble-server.sqlite"
|
||||||
VOIP_CONFIG_FILE="mumble-server.ini"
|
VOIP_CONFIG_FILE="mumble-server.ini"
|
||||||
|
|
||||||
|
function configure_interactive_mumble {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_mumble {
|
function install_interactive_mumble {
|
||||||
echo -n ''
|
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_REPO="https://github.com/bashrc/ttrss-gnusocial"
|
||||||
RSS_READER_GNUSOCIAL_COMMIT='20b2535e3f2b0ddc0117b584bdcaa6bf7a2d9fa2'
|
RSS_READER_GNUSOCIAL_COMMIT='20b2535e3f2b0ddc0117b584bdcaa6bf7a2d9fa2'
|
||||||
|
|
||||||
|
function configure_interactive_rss {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_rss {
|
function install_interactive_rss {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,10 @@ SEARX_ONION_HOSTNAME=
|
||||||
SEARX_LOGIN_TEXT=$"Search engine login"
|
SEARX_LOGIN_TEXT=$"Search engine login"
|
||||||
SEARX_PASSWORD=
|
SEARX_PASSWORD=
|
||||||
|
|
||||||
|
function configure_interactive_searx {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_searx {
|
function install_interactive_searx {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,10 @@ VOIP_TURN_PORT=3478
|
||||||
VOIP_TURN_TLS_PORT=5349
|
VOIP_TURN_TLS_PORT=5349
|
||||||
VOIP_TURN_NONCE=
|
VOIP_TURN_NONCE=
|
||||||
|
|
||||||
|
function configure_interactive_sip {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_sip {
|
function install_interactive_sip {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,10 @@ SYNCTHING_PORT=22000
|
||||||
SYNCTHING_SHARED_DATA=/var/lib/syncthing/SyncShared
|
SYNCTHING_SHARED_DATA=/var/lib/syncthing/SyncShared
|
||||||
SYNCTHING_USER_IDS_FILE='.syncthingids'
|
SYNCTHING_USER_IDS_FILE='.syncthingids'
|
||||||
|
|
||||||
|
function configure_interactive_syncthing {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_syncthing {
|
function install_interactive_syncthing {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,10 @@ TAHOELAFS_STORAGE_SPACE=1G
|
||||||
TAHOELAFS_SHARED_DIR='Shared'
|
TAHOELAFS_SHARED_DIR='Shared'
|
||||||
TAHOE_COMMAND="cd /var/lib/tahoelafs && venv/bin/tahoe"
|
TAHOE_COMMAND="cd /var/lib/tahoelafs && venv/bin/tahoe"
|
||||||
|
|
||||||
|
function configure_interactive_tahoelafs {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_tahoelafs {
|
function install_interactive_tahoelafs {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,10 @@ TOXIC_FILE=/usr/local/bin/toxic
|
||||||
QTOX_REPO="https://github.com/bashrc/qTox"
|
QTOX_REPO="https://github.com/bashrc/qTox"
|
||||||
QTOX_COMMIT='27a628a3789fca4f31516c3982e580052dd3c773'
|
QTOX_COMMIT='27a628a3789fca4f31516c3982e580052dd3c773'
|
||||||
|
|
||||||
|
function configure_interactive_tox {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_tox {
|
function install_interactive_tox {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,10 @@
|
||||||
|
|
||||||
VARIANTS=''
|
VARIANTS=''
|
||||||
|
|
||||||
|
function configure_interactive_vpn {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_vpn {
|
function install_interactive_vpn {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,10 @@ WEBMAIL_ADMIN_PASSWORD=
|
||||||
WEB_PATH=/var/www
|
WEB_PATH=/var/www
|
||||||
WEBMAIL_PATH=$WEB_PATH/webmail
|
WEBMAIL_PATH=$WEB_PATH/webmail
|
||||||
|
|
||||||
|
function configure_interactive_webmail {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_webmail {
|
function install_interactive_webmail {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,10 @@ WIKI_TITLE="${PROJECT_NAME} Wiki"
|
||||||
WIKI_CODE=
|
WIKI_CODE=
|
||||||
WIKI_ONION_PORT=8089
|
WIKI_ONION_PORT=8089
|
||||||
|
|
||||||
|
function configure_interactive_wiki {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_wiki {
|
function install_interactive_wiki {
|
||||||
echo -n ''
|
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_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"'
|
XMPP_ECC_CURVE='"secp384r1"'
|
||||||
|
|
||||||
|
function configure_interactive_xmpp {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_xmpp {
|
function install_interactive_xmpp {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,10 @@ ZERONET_DEFAULT_MAIL_TAGLINE="Mail for the Mesh"
|
||||||
ZERONET_ID_REPO="https://github.com/HelloZeroNet/ZeroID"
|
ZERONET_ID_REPO="https://github.com/HelloZeroNet/ZeroID"
|
||||||
ZERONET_ID_COMMIT='ccf14fdc96fa9cdb2ddd8a7ab283a8e17a4f234b'
|
ZERONET_ID_COMMIT='ccf14fdc96fa9cdb2ddd8a7ab283a8e17a4f234b'
|
||||||
|
|
||||||
|
function configure_interactive_zeronet {
|
||||||
|
echo -n ''
|
||||||
|
}
|
||||||
|
|
||||||
function install_interactive_zeronet {
|
function install_interactive_zeronet {
|
||||||
echo -n ''
|
echo -n ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -686,66 +686,6 @@ function change_password {
|
||||||
--msgbox $"Password for $SELECTED_USERNAME was changed" 6 40
|
--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 {
|
function change_ssh_public_key {
|
||||||
select_user
|
select_user
|
||||||
if [ ! $SELECTED_USERNAME ]; then
|
if [ ! $SELECTED_USERNAME ]; then
|
||||||
|
@ -1367,67 +1307,6 @@ function reset_tripwire {
|
||||||
any_key
|
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 {
|
function format_drive {
|
||||||
drive=
|
drive=
|
||||||
data=$(tempfile 2>/dev/null)
|
data=$(tempfile 2>/dev/null)
|
||||||
|
@ -1917,55 +1796,6 @@ function menu_users {
|
||||||
done
|
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 {
|
function wifi_enable {
|
||||||
disable_wifi='yes'
|
disable_wifi='yes'
|
||||||
dialog --title $"Enable Wifi" \
|
dialog --title $"Enable Wifi" \
|
||||||
|
@ -2018,34 +1848,42 @@ function menu_wifi {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
function menu_irc {
|
function app_settings {
|
||||||
if [ ! -d /etc/ngircd ]; then
|
|
||||||
dialog --title $"IRC Menu" \
|
|
||||||
--msgbox $"No IRC server is installed" 6 70
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
while true
|
|
||||||
|
detect_installable_apps
|
||||||
|
|
||||||
|
applist=""
|
||||||
|
appnames=()
|
||||||
|
n=1
|
||||||
|
app_index=0
|
||||||
|
for a in "${APPS_AVAILABLE[@]}"
|
||||||
do
|
do
|
||||||
data=$(tempfile 2>/dev/null)
|
if [[ ${APPS_INSTALLED[$app_index]} != "0" ]]; then
|
||||||
trap "rm -f $data" 0 1 2 5 15
|
if [[ $(function_exists configure_interactive_${a}) == "1" ]]; then
|
||||||
dialog --backtitle $"Freedombone Control Panel" \
|
applist="$applist $n $a off"
|
||||||
--title $"IRC Menu" \
|
n=$[n+1]
|
||||||
--radiolist $"Choose an operation:" 14 70 4 \
|
appnames+=("$a")
|
||||||
1 $"Set a password for all IRC users" off \
|
fi
|
||||||
2 $"Show current IRC login password" off \
|
fi
|
||||||
3 $"Exit" on 2> $data
|
app_index=$[app_index+1]
|
||||||
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
|
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 {
|
function menu_top_level {
|
||||||
|
@ -2059,25 +1897,22 @@ function menu_top_level {
|
||||||
1 $"About this system" off \
|
1 $"About this system" off \
|
||||||
2 $"Backup and Restore" off \
|
2 $"Backup and Restore" off \
|
||||||
3 $"Reset Tripwire" off \
|
3 $"Reset Tripwire" off \
|
||||||
4 $"Logging on/off" off \
|
4 $"App Settings" off \
|
||||||
5 $"Ping enable/disable" off \
|
5 $"Logging on/off" off \
|
||||||
6 $"Manage Users" off \
|
6 $"Ping enable/disable" off \
|
||||||
7 $"Email Filtering Rules" off \
|
7 $"Manage Users" off \
|
||||||
8 $"Outgoing Email Proxy" off \
|
8 $"Email Filtering Rules" off \
|
||||||
9 $"Security Settings" off \
|
9 $"Outgoing Email Proxy" off \
|
||||||
10 $"Set the main repository (repo mirrors)" off \
|
10 $"Security Settings" off \
|
||||||
11 $"Hubzilla" off \
|
11 $"Set the main repository (repo mirrors)" off \
|
||||||
12 $"Media menu" off \
|
12 $"Change the name of this system" off \
|
||||||
13 $"IRC menu" off \
|
13 $"Set the TLS date/time source" off \
|
||||||
14 $"Change your blog avatar" off \
|
14 $"Set a static local IP address" off \
|
||||||
15 $"Change the name of this system" off \
|
15 $"Wifi menu" off \
|
||||||
16 $"Set the TLS date/time source" off \
|
16 $"Check for updates" off \
|
||||||
17 $"Set a static local IP address" off \
|
17 $"Power off the system" off \
|
||||||
18 $"Wifi menu" off \
|
18 $"Restart the system" off \
|
||||||
19 $"Check for updates" off \
|
19 $"Exit" on 2> $data
|
||||||
20 $"Power off the system" off \
|
|
||||||
21 $"Restart the system" off \
|
|
||||||
22 $"Exit" on 2> $data
|
|
||||||
sel=$?
|
sel=$?
|
||||||
case $sel in
|
case $sel in
|
||||||
1) exit 1;;
|
1) exit 1;;
|
||||||
|
@ -2087,25 +1922,22 @@ function menu_top_level {
|
||||||
1) show_about;;
|
1) show_about;;
|
||||||
2) menu_backup_restore;;
|
2) menu_backup_restore;;
|
||||||
3) reset_tripwire;;
|
3) reset_tripwire;;
|
||||||
4) logging_on_off;;
|
4) app_settings;;
|
||||||
5) ping_enable_disable;;
|
5) logging_on_off;;
|
||||||
6) menu_users;;
|
6) ping_enable_disable;;
|
||||||
7) menu_email;;
|
7) menu_users;;
|
||||||
8) smtp_proxy;;
|
8) menu_email;;
|
||||||
9) security_settings;;
|
9) smtp_proxy;;
|
||||||
10) set_main_repo;;
|
10) security_settings;;
|
||||||
11) menu_hubzilla;;
|
11) set_main_repo;;
|
||||||
12) menu_media;;
|
12) change_system_name;;
|
||||||
13) menu_irc;;
|
13) set_tls_time_source;;
|
||||||
14) change_blog_avatar;;
|
14) set_static_IP;;
|
||||||
15) change_system_name;;
|
15) menu_wifi;;
|
||||||
16) set_tls_time_source;;
|
16) check_for_updates;;
|
||||||
17) set_static_IP;;
|
17) shut_down_system;;
|
||||||
18) menu_wifi;;
|
18) restart_system;;
|
||||||
19) check_for_updates;;
|
19) break;;
|
||||||
20) shut_down_system;;
|
|
||||||
21) restart_system;;
|
|
||||||
22) break;;
|
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue