Commit initial du projet serverIPTV
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e # Stop script on error
|
||||
|
||||
IPTV_SOURCE_URL="${IPTV_SOURCE_URL:-https://iptv.mrk.ovh/get_source}"
|
||||
IPTV_DEST="/home/pi/Documents/IPTV.py"
|
||||
CONFIG_DB_SOURCE_URL="${CONFIG_DB_SOURCE_URL:-https://iptv.mrk.ovh/static/config_init.db}"
|
||||
CONFIG_DB_DEST="/home/pi/Documents/config.db"
|
||||
RC_LOCAL="/etc/rc.local"
|
||||
RC_LOCAL_CMD='sudo -u pi DISPLAY=:0 python3 /home/pi/Documents/IPTV.py &'
|
||||
CURL_CMD=(curl -fsSL)
|
||||
|
||||
if [ "${CURL_INSECURE:-0}" = "1" ]; then
|
||||
CURL_CMD+=( -k )
|
||||
fi
|
||||
|
||||
echo "Updating system"
|
||||
sudo apt update
|
||||
|
||||
echo "Installing packages"
|
||||
sudo apt -y install vim openvpn vsftpd curl ca-certificates python3-pil.imagetk python3-tk
|
||||
sudo update-ca-certificates
|
||||
|
||||
echo "Configuring vsftpd"
|
||||
VSFTPD_CONF="/etc/vsftpd.conf"
|
||||
|
||||
sudo sed -i 's/^#write_enable=YES/write_enable=YES/' $VSFTPD_CONF
|
||||
|
||||
echo "Restarting vsftpd service"
|
||||
sudo systemctl restart vsftpd
|
||||
|
||||
PYTHON_STDLIB_DIR="$(python3 -c 'import sysconfig; print(sysconfig.get_path("stdlib"))')"
|
||||
|
||||
echo "Fixing Python externally-managed restriction"
|
||||
sudo rm -f "$PYTHON_STDLIB_DIR/EXTERNALLY-MANAGED"
|
||||
|
||||
echo "Installing Python packages"
|
||||
sudo pip3 install python-vlc python-socketio wifi aiohttp websocket-client
|
||||
|
||||
echo "Downloading IPTV.py"
|
||||
sudo mkdir -p /home/pi/Documents
|
||||
sudo "${CURL_CMD[@]}" "$IPTV_SOURCE_URL" -o "$IPTV_DEST"
|
||||
sudo chown pi:pi "$IPTV_DEST"
|
||||
sudo chmod 755 "$IPTV_DEST"
|
||||
|
||||
echo "Downloading config database"
|
||||
sudo "${CURL_CMD[@]}" "$CONFIG_DB_SOURCE_URL" -o "$CONFIG_DB_DEST"
|
||||
sudo chown pi:pi "$CONFIG_DB_DEST"
|
||||
sudo chmod 644 "$CONFIG_DB_DEST"
|
||||
|
||||
echo "Configuring rc.local"
|
||||
if [ ! -f "$RC_LOCAL" ]; then
|
||||
sudo tee "$RC_LOCAL" >/dev/null <<'EOF'
|
||||
#!/bin/sh -e
|
||||
|
||||
exit 0
|
||||
EOF
|
||||
fi
|
||||
|
||||
if ! sudo grep -Fq "$RC_LOCAL_CMD" "$RC_LOCAL"; then
|
||||
sudo sed -i "\$i\\
|
||||
$RC_LOCAL_CMD
|
||||
" "$RC_LOCAL"
|
||||
fi
|
||||
|
||||
if ! sudo tail -n 1 "$RC_LOCAL" | grep -Fxq "exit 0"; then
|
||||
echo "rc.local must end with 'exit 0'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo chmod 755 "$RC_LOCAL"
|
||||
|
||||
echo "All tasks completed successfully!"
|
||||
Reference in New Issue
Block a user