Initialer Import der Synology Scripts
This commit is contained in:
+128
@@ -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
|
||||
Reference in New Issue
Block a user