diff --git a/install/install.debian.sh b/install/install.debian.sh deleted file mode 100755 index 548ffd38..00000000 --- a/install/install.debian.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash - -# 🛑 Important: This is only used for the bare-metal install 🛑 -# Update /install/start.debian.sh in most cases is preferred - -echo "---------------------------------------------------------" -echo "[INSTALL] Run install.debian.sh" -echo "---------------------------------------------------------" - -# Set environment variables -INSTALL_DIR=/app # Specify the installation directory here - -# Check if script is run as root -if [[ $EUID -ne 0 ]]; then - echo "This script must be run as root. Please use 'sudo'." - exit 1 -fi - -# Prepare the environment -apt-get update -apt-get install sudo -y - -# Install Git -apt-get install -y git - -# Clean the directory -rm -R $INSTALL_DIR/ - -# Clone the application repository -git clone https://github.com/jokob-sk/NetAlertX "$INSTALL_DIR/" - -# Check for buildtimestamp.txt existence, otherwise create it -if [ ! -f $INSTALL_DIR/front/buildtimestamp.txt ]; then - date +%s > $INSTALL_DIR/front/buildtimestamp.txt -fi - -# Start NetAlertX -"$INSTALL_DIR/install/start.debian.sh" diff --git a/install/install_dependencies.debian.sh b/install/install_dependencies.debian.sh deleted file mode 100755 index 947a96ec..00000000 --- a/install/install_dependencies.debian.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -echo "---------------------------------------------------------" -echo "[INSTALL] Run install_dependencies.debian.sh" -echo "---------------------------------------------------------" - -# ❗ IMPORTANT - if you modify this file modify the root Dockerfile as well ❗ - -# Check if script is run as root -if [[ $EUID -ne 0 ]]; then - echo "This script must be run as root. Please use 'sudo'." - exit 1 -fi - -# Install dependencies -apt-get install -y \ - tini snmp ca-certificates curl libwww-perl arp-scan perl apt-utils cron sudo \ - nginx-light php php-cgi php-fpm php-sqlite3 php-curl sqlite3 dnsutils net-tools \ - python3 python3-dev iproute2 nmap python3-pip zip usbutils traceroute nbtscan avahi-daemon avahi-utils openrc build-essential git - -# alternate dependencies -sudo apt-get install nginx nginx-core mtr php-fpm php8.2-fpm php-cli php8.2 php8.2-sqlite3 -y -sudo phpenmod -v 8.2 sqlite3 - -# setup virtual python environment so we can use pip3 to install packages -apt-get install python3.11-venv -y -python3 -m venv myenv -source myenv/bin/activate - -update-alternatives --install /usr/bin/python python /usr/bin/python3 10 - -# install packages thru pip3 -pip3 install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask flask-cors unifi-sm-api tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros yattag git+https://github.com/foreign-sub/aiofreepybox.git - diff --git a/install/netalertx.debian.conf b/install/netalertx.debian.conf deleted file mode 100755 index 4cb02a9a..00000000 --- a/install/netalertx.debian.conf +++ /dev/null @@ -1,20 +0,0 @@ -server { - listen 20211 default_server; - root /var/www/html/netalertx; - index index.php; - #rewrite /app/(.*) / permanent; - add_header X-Forwarded-Prefix "/netalertx" always; - proxy_set_header X-Forwarded-Prefix "/netalertx"; - - location ~* \.php$ { - # Set Cache-Control header to prevent caching on the first load - add_header Cache-Control "no-store"; - fastcgi_pass unix:/run/php/php8.2-fpm.sock; - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param SCRIPT_NAME $fastcgi_script_name; - fastcgi_connect_timeout 75; - fastcgi_send_timeout 600; - fastcgi_read_timeout 600; - } -} diff --git a/install/start.debian.sh b/install/start.debian.sh deleted file mode 100755 index 4a88d509..00000000 --- a/install/start.debian.sh +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env bash - -echo "---------------------------------------------------------" -echo "[INSTALL] Run start.debian.sh" -echo "---------------------------------------------------------" - - -INSTALL_DIR=/app # Specify the installation directory here - -# DO NOT CHANGE ANYTHING BELOW THIS LINE! -CONF_FILE=app.conf -DB_FILE=app.db -NGINX_CONF_FILE=netalertx.debian.conf -WEB_UI_DIR=/var/www/html/netalertx -NGINX_CONFIG_FILE=/etc/nginx/conf.d/$NGINX_CONF_FILE -OUI_FILE="/usr/share/arp-scan/ieee-oui.txt" # Define the path to ieee-oui.txt and ieee-iab.txt -INSTALL_PATH=$INSTALL_DIR/ -FILEDB=$INSTALL_PATH/db/$DB_FILE -# DO NOT CHANGE ANYTHING ABOVE THIS LINE! - -# if custom variables not set we do not need to do anything -if [ -n "${TZ}" ]; then - FILECONF=$INSTALL_PATH/config/$CONF_FILE - if [ -f "$FILECONF" ]; then - sed -ie "s|Europe/Berlin|${TZ}|g" $INSTALL_PATH/config/$CONF_FILE - else - sed -ie "s|Europe/Berlin|${TZ}|g" $INSTALL_PATH/back/$CONF_FILE.bak - fi -fi - -# Check if script is run as root -if [[ $EUID -ne 0 ]]; then - echo "This script must be run as root. Please use 'sudo'." - exit 1 -fi - -# Run setup scripts -echo "[INSTALL] Run setup scripts" - -"${INSTALL_PATH}/install/install_dependencies.debian.sh" # if modifying this file transfer the changes into the root Dockerfile.debian as well! - -echo "[INSTALL] Setup NGINX" - -# Remove default NGINX site if it is symlinked, or backup it otherwise -if [ -L /etc/nginx/sites-enabled/default ] ; then - echo "Disabling default NGINX site, removing sym-link in /etc/nginx/sites-enabled" - sudo rm /etc/nginx/sites-enabled/default -elif [ -f /etc/nginx/sites-enabled/default ]; then - echo "Disabling default NGINX site, moving config to /etc/nginx/sites-available" - sudo mv /etc/nginx/sites-enabled/default /etc/nginx/sites-available/default.bkp_netalertx -fi - -# Clear existing directories and files -if [ -d $WEB_UI_DIR ]; then - echo "Removing existing NetAlertX web-UI" - sudo rm -R $WEB_UI_DIR -fi - -if [ -f $NGINX_CONFIG_FILE ]; then - echo "Removing existing NetAlertX NGINX config" - sudo rm $NGINX_CONFIG_FILE -fi - -# create symbolic link to the install directory -ln -s $INSTALL_PATH/front $WEB_UI_DIR -# create symbolic link to NGINX configuration coming with NetAlertX -sudo ln -s "${INSTALL_PATH}/install/netalertx.debian.conf" /etc/nginx/conf.d/$NGINX_CONF_FILE - -# Use user-supplied port if set -if [ -n "${PORT}" ]; then - echo "Setting webserver to user-supplied port ($PORT)" - sudo sed -i 's/listen 20211/listen '"$PORT"'/g' /etc/nginx/conf.d/$NGINX_CONF_FILE -fi - -# Change web interface address if set -if [ -n "${LISTEN_ADDR}" ]; then - echo "Setting webserver to user-supplied address (${LISTEN_ADDR})" - sed -ie 's/listen /listen '"${LISTEN_ADDR}":'/g' /etc/nginx/conf.d/$NGINX_CONF_FILE -fi - -# Run the hardware vendors update at least once -echo "[INSTALL] Run the hardware vendors update" - -# Check if ieee-oui.txt or ieee-iab.txt exist -if [ -f "$OUI_FILE" ]; then - echo "The file ieee-oui.txt exists. Skipping update_vendors.sh..." -else - echo "The file ieee-oui.txt does not exist. Running update_vendors..." - - # Run the update_vendors.sh script - if [ -f "${INSTALL_PATH}/back/update_vendors.sh" ]; then - "${INSTALL_PATH}/back/update_vendors.sh" - else - echo "update_vendors.sh script not found in $INSTALL_DIR." - fi -fi - -# Create an empty log files - -# Create the execution_queue.log file if it doesn't exist -touch "${INSTALL_DIR}"/log/{app.log,execution_queue.log,app_front.log,app.php_errors.log,stderr.log,stdout.log,db_is_locked.log} -touch "${INSTALL_DIR}"/api/user_notifications.json -# Create plugins sub-directory if it doesn't exist in case a custom log folder is used -mkdir -p "${INSTALL_DIR}"/log/plugins - -# Fixing file permissions -echo "[INSTALL] Fixing file permissions" -chown root:www-data "${INSTALL_DIR}"/api/user_notifications.json - -echo "[INSTALL] Fixing WEB_UI_DIR: ${WEB_UI_DIR}" - -chmod -R a+rwx $WEB_UI_DIR - -echo "[INSTALL] Fixing INSTALL_DIR: ${INSTALL_DIR}" - -chmod -R a+rw $INSTALL_PATH/log -chmod -R a+rwx $INSTALL_DIR - -echo "[INSTALL] Copy starter $DB_FILE and $CONF_FILE if they don't exist" - -# DANGER ZONE: ALWAYS_FRESH_INSTALL -if [ "$ALWAYS_FRESH_INSTALL" = true ]; then - echo "[INSTALL] ❗ ALERT /db and /config folders are cleared because the ALWAYS_FRESH_INSTALL is set to: ${ALWAYS_FRESH_INSTALL}❗" - # Delete content of "/config/" - rm -rf "${INSTALL_PATH}/config/"* - - # Delete content of "/db/" - rm -rf "${INSTALL_PATH}/db/"* -fi - - -# Copy starter $DB_FILE and $CONF_FILE if they don't exist -cp -n "${INSTALL_PATH}/back/$CONF_FILE" "${INSTALL_PATH}/config/$CONF_FILE" -cp -n "${INSTALL_PATH}/back/$DB_FILE" "$FILEDB" - -echo "[INSTALL] Fixing permissions after copied starter config & DB" - -if [ -f "$FILEDB" ]; then - chown -R www-data:www-data $FILEDB -fi - -chmod -R a+rwx $INSTALL_DIR # second time after we copied the files -chmod -R a+rw $INSTALL_PATH/config -sudo chgrp -R www-data $INSTALL_PATH - -# Check if buildtimestamp.txt doesn't exist -if [ ! -f "${INSTALL_PATH}/front/buildtimestamp.txt" ]; then - # Create buildtimestamp.txt - date +%s > "${INSTALL_PATH}/front/buildtimestamp.txt" -fi - -# start PHP -/etc/init.d/php8.2-fpm start -/etc/init.d/nginx start - -# Start Nginx and your application to start at boot (if needed) -# systemctl start nginx -# systemctl enable nginx - -# # systemctl enable pi-alert -# sudo systemctl restart nginx - -# Activate the virtual python environment -source myenv/bin/activate - -echo "[INSTALL] 🚀 Starting app - navigate to your :${PORT}" - -# Start the NetAlertX python script -python $INSTALL_PATH/server/