Initialer Import der Synology Scripts

This commit is contained in:
root
2026-08-05 08:43:57 +02:00
commit 5e32a7c411
404 changed files with 79932 additions and 0 deletions
+128
View File
@@ -0,0 +1,128 @@
#!/bin/bash
# Farben für die Ausgabe
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
# Funktion zur Überprüfung des Linux-Derivats
check_distro() {
if [ -f /etc/debian_version ]; then
echo "Debian/Ubuntu erkannt."
DISTRO="debian"
elif [ -f /etc/redhat-release ]; then
echo "RedHat/CentOS erkannt."
DISTRO="redhat"
else
echo -e "${RED}Unbekanntes Linux-Derivat. Das Skript unterstützt nur Debian/Ubuntu und RedHat/CentOS.${NC}"
exit 1
fi
}
# Funktion zur Installation von Openfire auf Debian/Ubuntu
install_openfire_debian() {
echo -e "${GREEN}Installation von Openfire auf Debian/Ubuntu...${NC}"
wget -O openfire.deb https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.6.0_all.deb
sudo dpkg -i openfire.deb
sudo apt-get install -f -y # Um Abhängigkeiten zu installieren
sudo systemctl enable openfire
sudo systemctl start openfire
}
# Funktion zur Installation von Openfire auf RedHat/CentOS
install_openfire_redhat() {
echo -e "${GREEN}Installation von Openfire auf RedHat/CentOS...${NC}"
wget -O openfire.rpm https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.6.0-1.noarch.rpm
sudo yum install -y openfire.rpm
sudo systemctl enable openfire
sudo systemctl start openfire
}
# Funktion zur Konfiguration als Publisher
configure_publisher() {
echo -e "${GREEN}Konfiguration als Publisher...${NC}"
read -p "Geben Sie die JID des Publishers ein (z.B. publisher@deinserver.com): " PUBLISHER_JID
read -sp "Geben Sie das Passwort des Publishers ein: " PUBLISHER_PASSWORD
echo ""
read -p "Geben Sie den PubSub-Server ein (z.B. pubsub.deinserver.com): " PUBSUB_SERVER
read -p "Geben Sie den PubSub-Node ein (z.B. mynode): " PUBSUB_NODE
# Erstelle ein Bash-Skript für den Publisher
cat <<EOL > publisher.sh
#!/bin/bash
JID="$PUBLISHER_JID"
PASSWORD="$PUBLISHER_PASSWORD"
SERVER="$PUBSUB_SERVER"
NODE="$PUBSUB_NODE"
MESSAGE="Dies ist eine Testnachricht vom Publisher"
echo "\$MESSAGE" | sendxmpp -t -u "\$JID" -p "\$PASSWORD" -j "\$SERVER" "\$NODE"
EOL
chmod +x publisher.sh
echo -e "${GREEN}Publisher-Skript 'publisher.sh' erstellt.${NC}"
}
# Funktion zur Konfiguration als Subscriber
configure_subscriber() {
echo -e "${GREEN}Konfiguration als Subscriber...${NC}"
read -p "Geben Sie die JID des Subscribers ein (z.B. subscriber@deinserver.com): " SUBSCRIBER_JID
read -sp "Geben Sie das Passwort des Subscribers ein: " SUBSCRIBER_PASSWORD
echo ""
read -p "Geben Sie den PubSub-Server ein (z.B. pubsub.deinserver.com): " PUBSUB_SERVER
read -p "Geben Sie den PubSub-Node ein (z.B. mynode): " PUBSUB_NODE
# Erstelle ein Bash-Skript für den Subscriber
cat <<EOL > subscriber.sh
#!/bin/bash
JID="$SUBSCRIBER_JID"
PASSWORD="$SUBSCRIBER_PASSWORD"
SERVER="$PUBSUB_SERVER"
NODE="$PUBSUB_NODE"
profanity --server "\$SERVER" --username "\$JID" --password "\$PASSWORD" --join "\$NODE"
EOL
chmod +x subscriber.sh
echo -e "${GREEN}Subscriber-Skript 'subscriber.sh' erstellt.${NC}"
}
# Auswahlmenü für die Konfiguration
show_menu() {
echo -e "${GREEN}Openfire wurde erfolgreich installiert!${NC}"
echo "Wählen Sie die gewünschte Rolle:"
echo "1) Publisher konfigurieren"
echo "2) Subscriber konfigurieren"
echo "3) Abbrechen"
read -p "Option [1-3]: " OPTION
case $OPTION in
1)
configure_publisher
;;
2)
configure_subscriber
;;
3)
echo -e "${RED}Abbruch.${NC}"
exit 1
;;
*)
echo -e "${RED}Ungültige Option.${NC}"
show_menu
;;
esac
}
# Hauptskript
check_distro
if [ "$DISTRO" == "debian" ]; then
install_openfire_debian
elif [ "$DISTRO" == "redhat" ]; then
install_openfire_redhat
fi
show_menu