hrmmm.. Ich will ja nichts sagen, aber
tl;Dr ziemlich schlechter Installer. Lieber nicht verwenden
1. Ist das ein bisschen eine sicherheitslücke. Wenn man Soetwas machen will, dann bitte ohne eingebaute Authentication und einen Webserver Proxy spielen lassen. Den dann (zb mit http Basic Authentication) den user authentifizieren lassen. Den Port auf etwas hohes setzen und mit einer Firewall zu machen
2. Würde das Script wahrscheinlich bei einem modernen System fehlschlagen, da es kein /srv mehr standardmäßig gibt :). noch dazu glaube ich kaum, dass ich irgendein Script als root auf meinem Server rumpanschen lasse, ohne dass es eine gescheite uninstall Anleitung gibt.
3.
echo '████████╗ ██╗ ██╗ ██████╗ '
echo '╚══██╔══╝ ██║ ██║ ██╔══██╗'
echo ' ██║ ██║ █╗ ██║ ██████╔╝'
echo ' ██║ ██║███╗██║ ██╔═══╝ '
echo ' ██║ ╚███╔███╔╝ ██║ '
echo ' ╚═╝ ╚══╝╚══╝ ╚═╝ '
echo ' Teeworlds Web Panel Automatic installer'
Soetwas kann man gleich auch weglassen, soll nur beeindrucken. Das Script macht kaum etwas wirklich gut.
4. Ein >/dev/null kann ich ja verstehen. Nur dann noch die STDERR zu unterdrücken macht keinen Sinn. Frei nach der Art "wenn es einen Fehler gibt, ignorieren und weiter machen, das passt schon. Ausserdem sind wir sicher nicht schuld"
5. cat > '/etc/init.d/twp' <<EOF
wenn dort schon was war, ist uns egal, das wird überschrieben
6. pip install flask==0.10.1 2> /dev/null
noch einmal Sicherheit. Versionen angeben sind zwar schön und gut (vor allem mindestens Versionen). Wenn man aber lauffähigkeit der sicherheit vorzieht, ist irgendetwas falsch. selbes beim APScheduler
7. echo "Error, the user does not exist"
chown -R $INSTALL_USER:$INSTALL_USER $INSTALL_DIR
"wir erstellen den User nicht, nehmen darauf keinen Einfluss, gehen aber davon aus, der User wird schon richtig erstellt sein."
8. cat > '/etc/init.d/twp' <<EOF
wenigstens eine Routine für systemd bitte, sysvinit ist nicht mehr state of the art
9. git clone -b 0.1.0b
https://github.com/CytraL/twp.git "$INSTALL_DIR"
hier wieder. stabile Versionen gehen über alles
10. stop; start (im init script)
zu guter Letzt wäre ein sleep angebracht.
bevor jemand komisch redet. Ich habe das schon im tw FORUM gepostet