@@ -4,8 +4,6 @@ model/BirdNET_Soundscape_Model.pkl
|
|||||||
.vscode
|
.vscode
|
||||||
datasets/
|
datasets/
|
||||||
birdnet.conf
|
birdnet.conf
|
||||||
miniforge
|
|
||||||
scripts/install_miniforge.sh
|
|
||||||
IdentifiedSoFar.txt
|
IdentifiedSoFar.txt
|
||||||
IdentifiedSoFar.txt.bak
|
IdentifiedSoFar.txt.bak
|
||||||
Birders_Guide_Installer_Configuration.txt
|
Birders_Guide_Installer_Configuration.txt
|
||||||
|
|||||||
+17
-126
@@ -1,10 +1,11 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
USER=pi
|
||||||
|
HOME=/home/pi
|
||||||
my_dir=${HOME}/BirdNET-Pi
|
my_dir=${HOME}/BirdNET-Pi
|
||||||
branch=main
|
branch=main
|
||||||
trap '${my_dir}/scripts/dump_logs.sh && exit' EXIT SIGHUP SIGINT
|
trap '${my_dir}/scripts/dump_logs.sh && exit' EXIT SIGHUP SIGINT
|
||||||
|
|
||||||
|
|
||||||
if [ "$(uname -m)" != "aarch64" ];then
|
if [ "$(uname -m)" != "aarch64" ];then
|
||||||
echo "BirdNET-Pi requires a 64-bit OS.
|
echo "BirdNET-Pi requires a 64-bit OS.
|
||||||
It looks like your operating system is using $(uname -m),
|
It looks like your operating system is using $(uname -m),
|
||||||
@@ -14,63 +15,6 @@ information"
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
install_zram_swap() {
|
|
||||||
echo
|
|
||||||
echo "Configuring zram.service"
|
|
||||||
sudo touch /etc/modules-load.d/zram.conf
|
|
||||||
echo 'zram' | sudo tee /etc/modules-load.d/zram.conf
|
|
||||||
sudo touch /etc/modprobe.d/zram.conf
|
|
||||||
echo 'options zram num_devices=1' | sudo tee /etc/modprobe.d/zram.conf
|
|
||||||
sudo touch /etc/udev/rules.d/99-zram.rules
|
|
||||||
echo 'KERNEL=="zram0", ATTR{disksize}="4G",TAG+="systemd"' \
|
|
||||||
| sudo tee /etc/udev/rules.d/99-zram.rules
|
|
||||||
sudo touch /etc/systemd/system/zram.service
|
|
||||||
echo "Installing zram.service"
|
|
||||||
cat << EOF | sudo tee /etc/systemd/system/zram.service &> /dev/null
|
|
||||||
[Unit]
|
|
||||||
Description=Swap with zram
|
|
||||||
After=multi-user.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=true
|
|
||||||
ExecStartPre=/sbin/mkswap /dev/zram0
|
|
||||||
ExecStart=/sbin/swapon /dev/zram0
|
|
||||||
ExecStop=/sbin/swapoff /dev/zram0
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
sudo systemctl enable zram
|
|
||||||
echo
|
|
||||||
echo "Installing stage 2 installation script now."
|
|
||||||
cd ~
|
|
||||||
curl -s -O "https://raw.githubusercontent.com/mcguirepr89/BirdNET-Pi/${branch}/Birders_Guide_Installer.sh"
|
|
||||||
chmod +x Birders_Guide_Installer.sh
|
|
||||||
cat << EOF | sudo tee /etc/systemd/user/birdnet-system-installer.service &> /dev/null
|
|
||||||
[Unit]
|
|
||||||
Description=A BirdNET-Pi Installation Script Service
|
|
||||||
After=graphical.target network-online.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
Restart=on-failure
|
|
||||||
RestartSec=3s
|
|
||||||
ExecStart=lxterminal -e /home/pi/Birders_Guide_Installer.sh
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
EOF
|
|
||||||
systemctl --user enable birdnet-system-installer.service
|
|
||||||
echo
|
|
||||||
echo "Stage 1 complete"
|
|
||||||
touch ${HOME}/stage_1_complete
|
|
||||||
echo
|
|
||||||
echo "Rebooting the system in 5 seconds"
|
|
||||||
sleep 5
|
|
||||||
sudo reboot
|
|
||||||
}
|
|
||||||
|
|
||||||
stage_1() {
|
stage_1() {
|
||||||
echo
|
echo
|
||||||
echo "Beginning Stage 1"
|
echo "Beginning Stage 1"
|
||||||
@@ -84,15 +28,8 @@ stage_1() {
|
|||||||
echo "Installing git"
|
echo "Installing git"
|
||||||
sudo apt install -qqy git
|
sudo apt install -qqy git
|
||||||
fi
|
fi
|
||||||
ZRAM="$(swapon --show=SIZE,NAME | awk -FG '!/SIZE/ && /zram/ {print $1}')"
|
touch ${HOME}/stage_1_complete
|
||||||
[ ! -z ${ZRAM} ] || ZRAM=0
|
|
||||||
if [ ${ZRAM} -lt 4 ];then
|
|
||||||
install_zram_swap
|
|
||||||
else
|
|
||||||
echo "Stage 1 complete"
|
echo "Stage 1 complete"
|
||||||
stage_2
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
stage_2() {
|
stage_2() {
|
||||||
@@ -106,62 +43,32 @@ stage_2() {
|
|||||||
echo "Connected!"
|
echo "Connected!"
|
||||||
echo
|
echo
|
||||||
if [ ! -d ${my_dir} ];then
|
if [ ! -d ${my_dir} ];then
|
||||||
cd ~ || exit 1
|
cd ${HOME} || exit 1
|
||||||
echo "Cloning the BirdNET-Pi repository $branch branch into your home directory"
|
echo "Cloning the BirdNET-Pi repository $branch branch into your home directory"
|
||||||
git clone -b ${branch} https://github.com/mcguirepr89/BirdNET-Pi.git ~/BirdNET-Pi
|
git clone -b ${branch} https://github.com/mcguirepr89/BirdNET-Pi.git ${HOME}/BirdNET-Pi
|
||||||
else
|
else
|
||||||
cd ${my_dir} && git checkout ${branch}
|
cd ${my_dir} && git checkout ${branch}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f ${my_dir}/Birders_Guide_Installer_Configuration.txt ];then
|
source ${my_dir}/Birders_Guide_Installer_Configuration.txt
|
||||||
echo
|
if [ -z ${LATITUDE} ] || [ -z ${LONGITUDE} ] || [ -z ${CADDY_PWD} ] || [ -z ${ICE_PWD} ] || [ -z ${DB_PWD} ] || [ -z ${DB_ROOT_PWD} ];then
|
||||||
echo
|
echo
|
||||||
echo "Follow the instructions to fill out the LATITUDE and LONGITUDE variables
|
echo "Follow the instructions to fill out the LATITUDE and LONGITUDE variables
|
||||||
and set the passwords for the live audio stream. Save the file after editing
|
and set the passwords for the live audio stream. Save the file after editing
|
||||||
and then close the Mouse Pad editing window to continue."
|
and then close the Mouse Pad editing window to continue."
|
||||||
if ( env | grep SSH_CONNECTION &> /dev/null );then
|
echo
|
||||||
editor=nano
|
if [ -z "$SSH_CONNECTION" ];then
|
||||||
|
EDITOR=mousepad
|
||||||
else
|
else
|
||||||
editor=mousepad
|
EDITOR=nano
|
||||||
fi
|
fi
|
||||||
$editor ${my_dir}/Birders_Guide_Installer_Configuration.txt
|
$EDITOR ${my_dir}/Birders_Guide_Installer_Configuration.txt
|
||||||
while pgrep $editor &> /dev/null;do
|
while pgrep $EDITOR &> /dev/null;do
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
source ${my_dir}/Birders_Guide_Installer_Configuration.txt || exit 1
|
source ${my_dir}/Birders_Guide_Installer_Configuration.txt || exit 1
|
||||||
else
|
|
||||||
echo "Something went wrong. I can't find the configuration file."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z ${LATITUDE} ] || [ -z ${LONGITUDE} ] || [ -z ${CADDY_PWD} ] || [ -z ${ICE_PWD} ] || [ -z ${DB_PWD} ] || [ -z ${DB_ROOT_PWD} ];then
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "It looks like you haven't filled out the Birders_Guide_Installer_Configuration.txt file
|
|
||||||
completely.
|
|
||||||
|
|
||||||
Open that file to edit it. (Go to the folder icon in the top left and look for the \"BirdNET-Pi\"
|
|
||||||
folder and double-click the file called \"Birders_Guide_Installer_Configuration.txt\"
|
|
||||||
Enter the latitude and longitude of where the BirdNET-Pi will be.
|
|
||||||
You can find this information at https://maps.google.com
|
|
||||||
|
|
||||||
Find your location on the map and right click to find your coordinates.
|
|
||||||
After you have filled out the configuration file, you can re-run this script. Just do the exact
|
|
||||||
same things you did to start this (copying and pasting from the Wiki) to try again.
|
|
||||||
Press Enter to close this window.
|
|
||||||
Good luck!"
|
|
||||||
read
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
echo "Installing the BirdNET-Pi configuration file."
|
echo "Installing the BirdNET-Pi configuration file."
|
||||||
[ -f ${my_dir}/soundcard_params.txt ] || touch ${my_dir}/soundcard_params.txt
|
|
||||||
SOUND_PARAMS="${HOME}/BirdNET-Pi/soundcard_params.txt"
|
|
||||||
SOUND_CARD="$(sudo -u pi aplay -L \
|
|
||||||
| grep -e '^hw' \
|
|
||||||
| cut -d, -f1 \
|
|
||||||
| grep -ve 'vc4' -e 'Head' -e 'PCH' \
|
|
||||||
| uniq)"
|
|
||||||
script -c "arecord -D ${SOUND_CARD} --dump-hw-params" -a ${SOUND_PARAMS} &> /dev/null
|
|
||||||
install_birdnet_config || exit 1
|
install_birdnet_config || exit 1
|
||||||
echo "Installing BirdNET-Lite"
|
echo "Installing BirdNET-Lite"
|
||||||
if ${my_dir}/scripts/install_birdnet.sh << EOF ; then
|
if ${my_dir}/scripts/install_birdnet.sh << EOF ; then
|
||||||
@@ -242,9 +149,9 @@ DO_RECORDING=y
|
|||||||
## will be web-hosted. If you do not own a domain, or would just prefer to keep
|
## will be web-hosted. If you do not own a domain, or would just prefer to keep
|
||||||
## the BirdNET-Pi on your local network, keep this EMPTY.
|
## the BirdNET-Pi on your local network, keep this EMPTY.
|
||||||
|
|
||||||
BIRDNETPI_URL=
|
BIRDNETPI_URL=${BIRDNETPI_URL}
|
||||||
EXTRACTIONLOG_URL=
|
EXTRACTIONLOG_URL=${EXTRACTIONLOG_URL}
|
||||||
BIRDNETLOG_URL=
|
BIRDNETLOG_URL=${BIRDNETLOG_URL}
|
||||||
|
|
||||||
## CADDY_PWD is the plaintext password (that will be hashed) and used to access
|
## CADDY_PWD is the plaintext password (that will be hashed) and used to access
|
||||||
## the "Processed" directory and live audio stream. This MUST be set if you
|
## the "Processed" directory and live audio stream. This MUST be set if you
|
||||||
@@ -387,26 +294,10 @@ EOF
|
|||||||
[ -d /etc/birdnet ] || sudo mkdir /etc/birdnet
|
[ -d /etc/birdnet ] || sudo mkdir /etc/birdnet
|
||||||
sudo ln -sf ${my_dir}/birdnet.conf /etc/birdnet/birdnet.conf
|
sudo ln -sf ${my_dir}/birdnet.conf /etc/birdnet/birdnet.conf
|
||||||
}
|
}
|
||||||
echo "
|
|
||||||
Welcome to the Birders Guide Installer script!
|
|
||||||
|
|
||||||
The installer runs in two stages:
|
|
||||||
Stage 1 configures and enables the zRAM kernel module and allocates 4G
|
|
||||||
to its swapping size if needed. This will trigger a reboot.
|
|
||||||
Stage 1 also ensures the system is up to date.
|
|
||||||
Stage 2 guides you through configuring the essentials and installs the full BirdNET-Pi system."
|
|
||||||
|
|
||||||
|
|
||||||
if [ ! -f ${HOME}/stage_1_complete ] ;then
|
if [ ! -f ${HOME}/stage_1_complete ] ;then
|
||||||
stage_1
|
stage_1
|
||||||
|
stage_2
|
||||||
else
|
else
|
||||||
stage_2
|
stage_2
|
||||||
if [ -f ${HOME}/Birders_Guide_Installer.sh ];then
|
|
||||||
rm ${HOME}/Birders_Guide_Installer.sh
|
|
||||||
fi
|
|
||||||
rm ${HOME}/stage_1_complete
|
|
||||||
${my_dir}/scripts/dump_logs.sh
|
|
||||||
systemctl --user disable --now birdnet-system-installer.service
|
|
||||||
sudo rm -f /etc/systemd/user/birdnet-system-installer.service
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -45,3 +45,10 @@ DB_ROOT_PWD=
|
|||||||
# detections.
|
# detections.
|
||||||
PUSHED_APP_SECRET=
|
PUSHED_APP_SECRET=
|
||||||
PUSHED_APP_KEY=
|
PUSHED_APP_KEY=
|
||||||
|
|
||||||
|
# If you own your own domain, you can input that here to have caddy register
|
||||||
|
# TLS certificates for the web interface
|
||||||
|
|
||||||
|
BIRDNETPI_URL=
|
||||||
|
BIRDNETLOG_URL=
|
||||||
|
EXTRACTIONLOG_URL=
|
||||||
|
|||||||
@@ -365,7 +365,7 @@ Section 8 -- Interpretation.
|
|||||||
processes of any jurisdiction or authority.
|
processes of any jurisdiction or authority.
|
||||||
|
|
||||||
=============================================================================
|
=============================================================================
|
||||||
Caddy uses the Apache License Version 2.0
|
Caddy, and Adminer use the Apache License Version 2.0
|
||||||
=============================================================================
|
=============================================================================
|
||||||
Apache License
|
Apache License
|
||||||
Version 2.0, January 2004
|
Version 2.0, January 2004
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# BirdNET-Pi
|
# BirdNET-Pi
|
||||||

|

|
||||||
|
|
||||||
A realtime acoustic bird classification system for the Raspberry Pi 4B
|
A realtime acoustic bird classification system for the Raspberry Pi 4B
|
||||||
|
|
||||||
@@ -32,15 +32,7 @@ The BirdNET-Pi project is built on the [TFLite version of BirdNET](https://githu
|
|||||||
|
|
||||||
The system can be installed with:
|
The system can be installed with:
|
||||||
```
|
```
|
||||||
curl -s https://raw.githubusercontent.com/mcguirepr89/BirdNET-Pi/main/Birders_Guide_Installer.sh | bash
|
curl -s https://raw.githubusercontent.com/mcguirepr89/BirdNET-Pi/newinstaller/newinstaller.sh | bash
|
||||||
```
|
|
||||||
|
|
||||||
The script first enables and configures the zRAM kernel module for swapping, and reboots.
|
|
||||||
After the reboot, the configuration file is opened for editing. Here, you will input your latitude and longitude and will set a few passwords to protect your Pi. When the installation has finished, the BirdNET-Pi is ready to start collecting and analyzing data on the next boot.
|
|
||||||
|
|
||||||
If you have trouble with the installation script, you can cancel and rerun the installer:
|
|
||||||
```
|
|
||||||
~/BirdNET-Pi/Birders_Guide_Installer.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Access
|
## Access
|
||||||
|
|||||||
+81
-96
@@ -1,13 +1,21 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
# Configuration settings for BirdNET as a service #
|
# Configuration settings for BirdNET-Pi #
|
||||||
################################################################################
|
################################################################################
|
||||||
INSTALL_DATE="$(date "+%D")"
|
|
||||||
#___________The four variables below are the only that are required.___________#
|
|
||||||
|
|
||||||
## BIRDNET_USER should be the non-root user systemd should use to execute each
|
############ CHANGE THE LATITUDE AND LONGITUDE TO STATIC VALUES ################
|
||||||
## service.
|
|
||||||
|
|
||||||
BIRDNET_USER=
|
|
||||||
|
## LATITUDE and LONGITUDE are self-explanatroy. Find them easily at
|
||||||
|
## maps.google.com.
|
||||||
|
## Example: these coordinates would indicate the Eiffel Tower in Paris, France.
|
||||||
|
## LATITUDE=48.858
|
||||||
|
## LONGITUDE=2.294
|
||||||
|
|
||||||
|
## These are input as shell substitutions so that this will work out of the box.
|
||||||
|
## It guesses your latitude and longitude based off of your network information.
|
||||||
|
## THESE SHOULD BE CHANGED TO STATIC NUMBERS!!!!
|
||||||
|
LATITUDE="$(curl -s4 ifconfig.co/json | awk '/lat/ {print $2}' | tr -d ',')"
|
||||||
|
LONGITUDE="$(curl -s4 ifconfig.co/json | awk '/lon/ {print $2}' | tr -d ',')"
|
||||||
|
|
||||||
## RECS_DIR is the location birdnet_analysis.service will look for the data-set
|
## RECS_DIR is the location birdnet_analysis.service will look for the data-set
|
||||||
## it needs to analyze. Be sure this directory is readable and writable for
|
## it needs to analyze. Be sure this directory is readable and writable for
|
||||||
@@ -15,77 +23,53 @@ BIRDNET_USER=
|
|||||||
## still need to set this, as this will be where the remote directory gets
|
## still need to set this, as this will be where the remote directory gets
|
||||||
## mounted locally.
|
## mounted locally.
|
||||||
|
|
||||||
RECS_DIR=
|
RECS_DIR=/home/pi/BirdSongs
|
||||||
|
|
||||||
## LATITUDE and LONGITUDE are self-explanatroy. Find them easily at
|
#----------------------- Web Interface User Password ------------------------#
|
||||||
## maps.google.com. Only go to the thousanths place for these variables
|
#____________________The variable below sets the 'birdnet'_____________________#
|
||||||
## Example: these coordinates would indicate the Eiffel Tower in Paris, France.
|
#___________________user password for the live audio stream,___________________#
|
||||||
## LATITUDE=48.858
|
#_________________web tools, system info, and processed files__________________#
|
||||||
## LONGITUDE=2.294
|
|
||||||
|
|
||||||
LATITUDE=
|
|
||||||
LONGITUDE=
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#------------------------------ Extraction Service ---------------------------#
|
|
||||||
#__________________The variable below can be set to enable the ________________#
|
|
||||||
#______________________________ extraction.service ____________________________#
|
|
||||||
|
|
||||||
# Keep this EMPTY if you do not want this device to perform the extractions #
|
|
||||||
|
|
||||||
## DO_EXTRACTIONS is simply a setting for enabling the extraction.service.
|
|
||||||
## Set this to Y or y to enable extractions.
|
|
||||||
|
|
||||||
DO_EXTRACTIONS=
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#----------------------------- Recording Service ----------------------------#
|
|
||||||
#____________________The variable below can be set to enable __________________#
|
|
||||||
#________________________the birdnet_recording.service ________________________#
|
|
||||||
|
|
||||||
# Keep this EMPTY if you do not want this device to perform the recording. #
|
|
||||||
|
|
||||||
## DO_RECORDING is simply a setting for enabling the 24/7
|
|
||||||
## birdnet_recording.service.
|
|
||||||
## Set this to Y or y to enable recording.
|
|
||||||
|
|
||||||
DO_RECORDING=
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#----------------------- Web-hosting/Caddy File-server -----------------------#
|
|
||||||
#_______The two variables below can be set to enable internet access___________#
|
|
||||||
#____________to your data,(e.g., extractions, raw data, live___________________#
|
|
||||||
#______________audio stream, BirdNET.selection.txt files)______________________#
|
|
||||||
|
|
||||||
# Leave these EMPTY if you do not want to enable web access #
|
|
||||||
|
|
||||||
## BIRDNETPI_URL is the URL where the extractions, data-set, and live-stream
|
|
||||||
## will be web-hosted. If you do not own a domain, or would just prefer to keep
|
|
||||||
## BirdNET-Pi on your local network, keep this empty.
|
|
||||||
|
|
||||||
BIRDNETPI_URL=
|
|
||||||
|
|
||||||
## CADDY_PWD is the plaintext password (that will be hashed) and used to access
|
## CADDY_PWD is the plaintext password (that will be hashed) and used to access
|
||||||
## the "Processed" directory and live audio stream. This MUST be set if you
|
## certain parts of the web interface
|
||||||
## choose to enable this feature.
|
|
||||||
|
|
||||||
CADDY_PWD=
|
CADDY_PWD=changeme
|
||||||
|
|
||||||
|
#------------------------- MariaDB User Passwords ---------------------------#
|
||||||
|
#_____________The variables below set the 'birder' and 'root'__________________#
|
||||||
|
#_______________________user passwords for the MariaDB_________________________#
|
||||||
|
|
||||||
|
## DB_PWD is for the 'birder' user
|
||||||
|
DB_PWD=changeme
|
||||||
|
## DB_ROOT_PWD is for the 'root' user
|
||||||
|
DB_ROOT_PWD=changeme
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#------------------------- Live Audio Stream --------------------------------#
|
#------------------------- Live Audio Stream --------------------------------#
|
||||||
#_____________The variable below configures/enables the live___________________#
|
#_____________The variable below configures/enables the live___________________#
|
||||||
#_____________________________audio stream.____________________________________#
|
#_____________________________audio stream.____________________________________#
|
||||||
|
|
||||||
# Keep this EMPTY if you do not wish to enable the live stream #
|
|
||||||
# or if this device is not doing the recording #
|
|
||||||
|
|
||||||
## ICE_PWD is the password that icecast2 will use to authenticate ffmpeg as a
|
## ICE_PWD is the password that icecast2 will use to authenticate ffmpeg as a
|
||||||
## trusted source for the stream. You will never need to enter this manually
|
## trusted source for the stream. You will never need to enter this manually
|
||||||
## anywhere other than here.
|
## anywhere other than here.
|
||||||
|
|
||||||
ICE_PWD=
|
ICE_PWD=changeme
|
||||||
|
|
||||||
|
#----------------------- Web-hosting/Caddy File-server -----------------------#
|
||||||
|
#________The four variables below can be set to enable internet access_________#
|
||||||
|
#____________to your data,(e.g., extractions, raw data, live___________________#
|
||||||
|
#______________audio stream, BirdNET.selection.txt files)______________________#
|
||||||
|
|
||||||
|
|
||||||
|
## BIRDNETPI_URL is the URL where the extractions, data-set, and live-stream
|
||||||
|
## will be web-hosted. If you do not own a domain, or would just prefer to keep
|
||||||
|
## the BirdNET-Pi on your local network, keep this EMPTY.
|
||||||
|
|
||||||
|
BIRDNETPI_URL=
|
||||||
|
EXTRACTIONLOG_URL=
|
||||||
|
BIRDNETLOG_URL=
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#------------------- Mobile Notifications via Pushed.co ---------------------#
|
#------------------- Mobile Notifications via Pushed.co ---------------------#
|
||||||
#____________The two variables below enable mobile notifications_______________#
|
#____________The two variables below enable mobile notifications_______________#
|
||||||
#_____________See https://pushed.co/quick-start-guide to get___________________#
|
#_____________See https://pushed.co/quick-start-guide to get___________________#
|
||||||
@@ -99,6 +83,9 @@ PUSHED_APP_KEY=
|
|||||||
PUSHED_APP_SECRET=
|
PUSHED_APP_SECRET=
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
#-------------------------------- Defaults ----------------------------------#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
#------------------------------- NoMachine ----------------------------------#
|
#------------------------------- NoMachine ----------------------------------#
|
||||||
#_____________The variable below can be set include NoMachine__________________#
|
#_____________The variable below can be set include NoMachine__________________#
|
||||||
#_________________remote desktop software to be installed._____________________#
|
#_________________remote desktop software to be installed._____________________#
|
||||||
@@ -109,14 +96,27 @@ PUSHED_APP_SECRET=
|
|||||||
## NoMachine alongside the BirdNET-Pi for remote desktop access. This in-
|
## NoMachine alongside the BirdNET-Pi for remote desktop access. This in-
|
||||||
## staller assumes personal use. Please reference the LICENSE file included
|
## staller assumes personal use. Please reference the LICENSE file included
|
||||||
## in this repository for more information.
|
## in this repository for more information.
|
||||||
## Set this to Y or y to install NoMachine alongside the BirdNET-Pi
|
## Set this to Y or y to install NoMachine alongside the BirdNET-Lite
|
||||||
|
|
||||||
INSTALL_NOMACHINE=
|
INSTALL_NOMACHINE=y
|
||||||
|
|
||||||
################################################################################
|
#
|
||||||
#-------------------------------- Defaults ----------------------------------#
|
#------------------------------ Extraction Service ---------------------------#
|
||||||
#______The seven variables below are default settings that you (probably)______#
|
|
||||||
#__________________don't need to change at all, but can._______________________#
|
## DO_EXTRACTIONS is simply a setting for enabling the extraction.service.
|
||||||
|
## Set this to Y or y to enable extractions.
|
||||||
|
|
||||||
|
DO_EXTRACTIONS=y
|
||||||
|
|
||||||
|
#----------------------------- Recording Service ----------------------------#
|
||||||
|
#____________________The variable below can be set to enable __________________#
|
||||||
|
#________________________the birdnet_recording.service ________________________#
|
||||||
|
|
||||||
|
## DO_RECORDING is simply a setting for enabling the 24/7
|
||||||
|
## birdnet_recording.service.
|
||||||
|
## Set this to Y or y to enable recording.
|
||||||
|
|
||||||
|
DO_RECORDING=y
|
||||||
|
|
||||||
## REC_CARD is the sound card you would want the birdnet_recording.service to
|
## REC_CARD is the sound card you would want the birdnet_recording.service to
|
||||||
## use. This setting is irrelevant if you are not planning on doing data
|
## use. This setting is irrelevant if you are not planning on doing data
|
||||||
@@ -166,44 +166,29 @@ CONFIDENCE=0.7
|
|||||||
|
|
||||||
SENSITIVITY=1.25
|
SENSITIVITY=1.25
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#------------------------------ Auto-Generated ------------------------------#
|
|
||||||
#_____________________The variables below are auto-generated___________________#
|
|
||||||
#______________________________during installation_____________________________#
|
|
||||||
|
|
||||||
## CHANNELS holds the variabel that corresponds to the number of channels the
|
## CHANNELS holds the variabel that corresponds to the number of channels the
|
||||||
## sound card supports.
|
## sound card supports.
|
||||||
|
|
||||||
CHANNELS=
|
CHANNELS=2
|
||||||
|
|
||||||
# Don't touch the variables below
|
|
||||||
|
|
||||||
## SYSTEMD_MOUNT is created from the RECS_DIR variable to comply with systemd
|
|
||||||
## mount naming requirements.
|
|
||||||
|
|
||||||
SYSTEMD_MOUNT=$(echo ${RECS_DIR#/} | tr / -).mount
|
|
||||||
|
|
||||||
## VENV is the virtual environment where the the BirdNET python build is found,
|
## VENV is the virtual environment where the the BirdNET python build is found,
|
||||||
## i.e, VENV is the virtual environment miniforge built for BirdNET.
|
## i.e, VENV is the virtual environment miniforge built for BirdNET.
|
||||||
|
|
||||||
VENV=$(dirname ${my_dir})/miniforge/envs/birdnet
|
VENV=/home/pi/BirdNET-Pi/birdnet
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#---------------------------------- Testing -----------------------------------#
|
|
||||||
#_____________These variables are for testing. Please don't touch______________#
|
|
||||||
#_______________them if you are not testing these features.____________________#
|
|
||||||
|
|
||||||
# To test different values for RECORDING_LENGTH, first:
|
|
||||||
# 1) stop the birdnet_recording.service:
|
|
||||||
#### run: `sudo systemctl stop birdnet_recording.service`
|
|
||||||
# 2) remove any remaining audio files in the day's recording directory:
|
|
||||||
#### Example: to remove recordings for Saturday, October 2nd, 2021, you would
|
|
||||||
#### run: `rm -rf /home/pi/BirdSongs/October-2021/02-Saturday/*`
|
|
||||||
# 3) restart the birdnet_recording.service:
|
|
||||||
#### run: `sudo systemctl restart birdnet_recording.service`
|
|
||||||
|
|
||||||
|
## RECORDING_LENGTH sets the length of the recording that BirdNET-Lite will analyze.
|
||||||
RECORDING_LENGTH=
|
RECORDING_LENGTH=
|
||||||
|
|
||||||
|
## EXTRACTION_LENGTH sets the length of the audio extractions that will be made
|
||||||
|
## from each BirdNET-Lite detection.
|
||||||
EXTRACTION_LENGTH=
|
EXTRACTION_LENGTH=
|
||||||
|
|
||||||
|
## BIRDNET_USER should be the non-root user systemd should use to execute each
|
||||||
|
## service.
|
||||||
|
|
||||||
|
BIRDNET_USER=pi
|
||||||
|
|
||||||
|
|
||||||
|
## These are just for debugging
|
||||||
LAST_RUN=
|
LAST_RUN=
|
||||||
|
THIS_RUN=
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="78" height="20" role="img" aria-label="version: 0.7"><title>version: 0.7</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="78" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="51" height="20" fill="#555"/><rect x="51" width="27" height="20" fill="#007ec6"/><rect width="78" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="265" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="410">version</text><text x="265" y="140" transform="scale(.1)" fill="#fff" textLength="410">version</text><text aria-hidden="true" x="635" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="170">0.7</text><text x="635" y="140" transform="scale(.1)" fill="#fff" textLength="170">0.7</text></g></svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,103 @@
|
|||||||
|
/* style sheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.row {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column {
|
||||||
|
flex: 50%;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 0 auto;
|
||||||
|
font-size: large;
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
width: 100%;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
text-align: center;
|
||||||
|
color: black;
|
||||||
|
font-size: xx-large;
|
||||||
|
font-family: 'Gill Sans', 'Gill Sans MT',
|
||||||
|
' Calibri', 'Trebuchet MS', 'sans-serif';
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
text-align: center;
|
||||||
|
color: black;
|
||||||
|
font-size: large;
|
||||||
|
font-family: 'Gill Sans', 'Gill Sans MT',
|
||||||
|
' Calibri', 'Trebuchet MS', 'sans-serif';
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
background-color: rgb(119, 196, 135);
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
th,
|
||||||
|
td {
|
||||||
|
font-weight: bold;
|
||||||
|
border: 1px solid black;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
background-color: rgb(219, 296, 235);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 800px) {
|
||||||
|
.column {
|
||||||
|
float: none;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
margin: 0 auto;
|
||||||
|
font-size: medium;
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 1;
|
||||||
|
width: 100%;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
text-align: center;
|
||||||
|
color: black;
|
||||||
|
font-size: large;
|
||||||
|
font-family: 'Gill Sans', 'Gill Sans MT',
|
||||||
|
' Calibri', 'Trebuchet MS', 'sans-serif';
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
text-align: center;
|
||||||
|
color: black;
|
||||||
|
font-size: large;
|
||||||
|
font-family: 'Gill Sans', 'Gill Sans MT',
|
||||||
|
' Calibri', 'Trebuchet MS', 'sans-serif';
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
background-color: rgb(119, 196, 135);
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
th,
|
||||||
|
td {
|
||||||
|
font-weight: bold;
|
||||||
|
border: 1px solid black;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
font-weight: lighter;
|
||||||
|
}
|
||||||
|
body::-webkit-scrollbar {
|
||||||
|
display:none
|
||||||
|
}
|
||||||
@@ -22,6 +22,11 @@ body {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
|
}
|
||||||
|
#content2 img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0px;
|
||||||
|
right: 0px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
@@ -38,5 +43,8 @@ body {
|
|||||||
<a href="http://birdnetpi.local/phpsysinfo" target="content">System Info</a> |
|
<a href="http://birdnetpi.local/phpsysinfo" target="content">System Info</a> |
|
||||||
<a href="http://birdnetpi.local/scripts/" target="content">Tools</a>
|
<a href="http://birdnetpi.local/scripts/" target="content">Tools</a>
|
||||||
</p>
|
</p>
|
||||||
|
<div id="content2">
|
||||||
|
<img src="images/version.svg" class="ribbon"/>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Simple new installer
|
||||||
|
HOME=/home/pi
|
||||||
|
USER=pi
|
||||||
|
branch=newinstaller
|
||||||
|
sudo apt update
|
||||||
|
if ! which git &> /dev/null;then
|
||||||
|
sudo apt -y install git
|
||||||
|
fi
|
||||||
|
git clone --depth 1 -b ${branch} https://github.com/mcguirepr89/BirdNET-Pi.git ${HOME}/BirdNET-Pi
|
||||||
|
echo 'Now, run the following script
|
||||||
|
|
||||||
|
sudo -E ${HOME}/BirdNET-Pi/scripts/birdnet-pi-config
|
||||||
|
|
||||||
|
'
|
||||||
+1795
File diff suppressed because one or more lines are too long
+553
-399
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,10 @@ source /etc/birdnet/birdnet.conf
|
|||||||
# Make a temporary file to compare the current birdnet.conf with
|
# Make a temporary file to compare the current birdnet.conf with
|
||||||
# the birdnet.conf as it was the last time this script was called
|
# the birdnet.conf as it was the last time this script was called
|
||||||
my_dir=$(realpath $(dirname $0))
|
my_dir=$(realpath $(dirname $0))
|
||||||
|
if [ -z ${THIS_RUN} ];then THIS_RUN=/home/pi/BirdNET-Pi/thisrun.txt;fi
|
||||||
|
if [ -z ${LAST_RUN} ];then LAST_RUN=/home/pi/BirdNET-Pi/lastrun.txt;fi
|
||||||
|
if [ -z ${LATITUDE} ];then LATITUDE=-1;fi
|
||||||
|
if [ -z ${LONGITUDE} ];then LONGITUDE=-1;fi
|
||||||
make_thisrun() {
|
make_thisrun() {
|
||||||
sleep .4
|
sleep .4
|
||||||
awk '!/#/ && !/^$/ {print}' /etc/birdnet/birdnet.conf \
|
awk '!/#/ && !/^$/ {print}' /etc/birdnet/birdnet.conf \
|
||||||
|
|||||||
+45
-13
@@ -4,28 +4,60 @@
|
|||||||
# you are okay will losing all the data that you've collected and processed
|
# you are okay will losing all the data that you've collected and processed
|
||||||
# so far.
|
# so far.
|
||||||
source /etc/birdnet/birdnet.conf
|
source /etc/birdnet/birdnet.conf
|
||||||
|
HOME=/home/pi
|
||||||
|
USER=pi
|
||||||
|
my_dir=${HOME}/BirdNET-Pi/scripts
|
||||||
echo "Stopping services"
|
echo "Stopping services"
|
||||||
sudo systemctl stop birdnet_recording.service
|
sudo systemctl stop birdnet_recording.service
|
||||||
echo "Removing all data . . . "
|
echo "Removing all data . . . "
|
||||||
sudo rm -drf "${RECS_DIR}"
|
sudo rm -drf "${RECS_DIR}"
|
||||||
sudo rm -f "${IDFILE}"
|
sudo rm -f "${IDFILE}"
|
||||||
echo "Recreating necessary directories"
|
echo "Recreating necessary directories"
|
||||||
[ -d ${RECS_DIR} ] || sudo -u ${BIRDNET_USER} mkdir -p ${RECS_DIR}
|
echo "Creating necessary directories"
|
||||||
[ -d ${EXTRACTED} ] || sudo -u ${BIRDNET_USER} mkdir -p ${EXTRACTED}
|
[ -d ${EXTRACTED} ] || sudo -u ${USER} mkdir -p ${EXTRACTED}
|
||||||
[ -d ${EXTRACTED}/By_Date ] || sudo -u ${BIRDNET_USER} mkdir -p ${EXTRACTED}/By_Date
|
[ -d ${EXTRACTED}/By_Date ] || sudo -u ${USER} mkdir -p ${EXTRACTED}/By_Date
|
||||||
[ -d ${EXTRACTED}/By_Common_Name ] || sudo -u ${BIRDNET_USER} mkdir -p ${EXTRACTED}/By_Common_Name
|
[ -d ${EXTRACTED}/By_Common_Name ] || sudo -u ${USER} mkdir -p ${EXTRACTED}/By_Common_Name
|
||||||
[ -d ${EXTRACTED}/By_Scientific_Name ] || sudo -u ${BIRDNET_USER} mkdir -p ${EXTRACTED}/By_Scientific_Name
|
[ -d ${EXTRACTED}/By_Scientific_Name ] || sudo -u ${USER} mkdir -p ${EXTRACTED}/By_Scientific_Name
|
||||||
sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/templates/index.html ${EXTRACTED}
|
[ -d ${PROCESSED} ] || sudo -u ${USER} mkdir -p ${PROCESSED}
|
||||||
[ -d ${PROCESSED} ] || sudo -u ${BIRDNET_USER} mkdir -p ${PROCESSED}
|
|
||||||
[ -L ${EXTRACTED}/scripts ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/scripts ${EXTRACTED}/
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/homepage/* ${EXTRACTED}
|
||||||
[ -L ${EXTRACTED}/spectrogram.php ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/scripts/spectrogram.php ${EXTRACTED}
|
if [ ! -z ${BIRDNETLOG_URL} ];then
|
||||||
[ -L ${EXTRACTED}/spectrogram.sh ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/scripts/spectrogram.sh ${EXTRACTED}
|
BIRDNETLOG_URL="$(echo ${BIRDNETLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
[ -L ${EXTRACTED}/viewdb.php ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/scripts/viewdb.php ${EXTRACTED}
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/"${BIRDNETLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
|
phpfiles="$(grep -l "birdnetpi.local:8080" ${my_dir}/*.php)"
|
||||||
|
for i in "${phpfiles[@]}";do
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/"${BIRDNETLOG_URL}"/g" ${i}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ ! -z ${EXTRACTIONLOG_URL} ];then
|
||||||
|
EXTRACTIONLOG_URL="$(echo ${EXTRACTIONLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/"${EXTRACTIONLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
|
phpfiles="$(grep -l "birdnetpi.local:8888" ${my_dir}/*.php)"
|
||||||
|
for i in "${phpfiles[@]}";do
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/"${EXTRACTIONLOG_URL}"/g" ${i}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts ${EXTRACTED}
|
||||||
|
if [ ! -z ${BIRDNETPI_URL} ];then
|
||||||
|
BIRDNETPI_URL="$(echo ${BIRDNETPI_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/"${BIRDNETPI_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
|
phpfiles="$(grep -l birdnetpi.local ${my_dir}/*.php)"
|
||||||
|
for i in "${phpfiles[@]}";do
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/"${BIRDNETPI_URL}"/g" ${i}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/spectrogram.php ${EXTRACTED}
|
||||||
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/viewdb.php ${EXTRACTED}
|
||||||
sudo -u ${USER} ln -fs ${HOME}/phpsysinfo ${EXTRACTED}
|
sudo -u ${USER} ln -fs ${HOME}/phpsysinfo ${EXTRACTED}
|
||||||
[ -L ${EXTRACTED}/phpsysinfo.ini ] || sudo -u ${USER} cp ${HOME}/phpsysinfo/phpsysinfo.ini.new ${HOME}/phpsysinfo/phpsysinfo.ini
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/phpsysinfo.ini ${HOME}/phpsysinfo/
|
||||||
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/green_bootstrap.css ${HOME}/phpsysinfo/templates/
|
||||||
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/index_bootstrap.html ${HOME}/phpsysinfo/templates/html
|
||||||
|
|
||||||
|
|
||||||
sudo -u ${BIRDNET_USER} cp ~/BirdNET-Pi/templates/index.html ${EXTRACTED}/
|
|
||||||
|
sudo -u ${BIRDNET_USER} cp -f ${HOME}/BirdNET-Pi/homepage/index.html ${EXTRACTED}/
|
||||||
echo "Dropping and re-creating database"
|
echo "Dropping and re-creating database"
|
||||||
sudo /home/pi/BirdNET-Pi/scripts/createdb.sh
|
sudo /home/pi/BirdNET-Pi/scripts/createdb.sh
|
||||||
echo "Restarting services"
|
echo "Restarting services"
|
||||||
|
|||||||
+1
-1
@@ -36,7 +36,7 @@ CREATE TABLE IF NOT EXISTS detections (
|
|||||||
Sens FLOAT,
|
Sens FLOAT,
|
||||||
Overlap FLOAT);
|
Overlap FLOAT);
|
||||||
GRANT ALL ON birds.* TO 'birder'@'localhost' IDENTIFIED BY '${DB_PWD}' WITH GRANT OPTION;
|
GRANT ALL ON birds.* TO 'birder'@'localhost' IDENTIFIED BY '${DB_PWD}' WITH GRANT OPTION;
|
||||||
|
FLUSH PRIVILEGES;
|
||||||
exit
|
exit
|
||||||
EOF
|
EOF
|
||||||
sed -i "s/databasepassword/${DB_PWD}/g" /home/pi/BirdNET-Pi/analyze.py
|
sed -i "s/databasepassword/${DB_PWD}/g" /home/pi/BirdNET-Pi/analyze.py
|
||||||
|
|||||||
+85
-39
@@ -1,48 +1,94 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<form action="/scripts/edit_birdnet.conf.php">
|
<style>
|
||||||
<input type="submit" value="Edit the birdnet.conf file">
|
* {
|
||||||
</form>
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
<form action="/scripts/stop_core_services.php" onclick="return confirm('Stop core services?')">
|
/* Create two unequal columns that floats next to each other */
|
||||||
<input type="submit" value="Stop Core BirdNET-Pi Services">
|
.column {
|
||||||
</form>
|
float: left;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
<form action="/scripts/restart_services.php" onclick="return confirm('Restart ALL services?')">
|
.first {
|
||||||
<input type="submit" value="Restart ALL BirdNET-Pi Services">
|
width: calc(50% - 70px);
|
||||||
</form>
|
}
|
||||||
|
|
||||||
<form action="/scripts/restart_birdnet_analysis.php">
|
.second {
|
||||||
<input type="submit" value="Restart BirdNET Analysis Service">
|
width: calc(50% - 30px);
|
||||||
</form>
|
}
|
||||||
|
|
||||||
<form action="/scripts/restart_birdnet_recording.php">
|
/* Clear floats after the columns */
|
||||||
<input type="submit" value="Restart Recording Service">
|
.row:after {
|
||||||
</form>
|
content: "";
|
||||||
|
display: table;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background-color: rgb(119, 196, 135);
|
||||||
|
}
|
||||||
|
|
||||||
<form action="/scripts/restart_extraction.php">
|
a {
|
||||||
<input type="submit" value="Restart Extraction Service">
|
text-decoration: none;
|
||||||
</form>
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
<form action="/scripts/restart_caddy.php" onclick="return confirm('Restart Caddy? You will be disconnected for about 20 seconds.')">
|
.block {
|
||||||
<input type="submit" value="Restart Caddy">
|
display: block;
|
||||||
</form>
|
font-weight: bold;
|
||||||
|
width:100%;
|
||||||
|
border: none;
|
||||||
|
background-color: #04AA6D;
|
||||||
|
padding: 20px 20px;
|
||||||
|
color: white;
|
||||||
|
font-size: medium;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body style="background-color: rgb(119, 196, 135);">
|
||||||
|
<div class="row">
|
||||||
|
<div class="column first">
|
||||||
|
|
||||||
<form action="/scripts/backup_data.php" onclick="return confirm('Backup ALL Data? Warning: This could take a long time.')">
|
<form action="/scripts/stop_core_services.php" onclick="return confirm('Stop core services?')">
|
||||||
<input type="submit" value="Backup ALL data">
|
<button type="submit" class="block">Stop Core BirdNET-Pi Services</button>
|
||||||
</form>
|
</form>
|
||||||
|
<form action="/scripts/restart_services.php" onclick="return confirm('Restart ALL services?')">
|
||||||
|
<button type="submit" class="block">Restart ALL BirdNET-Pi Services</button>
|
||||||
|
</form>
|
||||||
|
<form action="/scripts/restart_birdnet_analysis.php">
|
||||||
|
<button type="submit" class="block">Restart BirdNET Analysis Service</button>
|
||||||
|
</form>
|
||||||
|
<form action="/scripts/restart_birdnet_recording.php">
|
||||||
|
<button type="submit" class="block">Restart Recording Service</button>
|
||||||
|
</form>
|
||||||
|
<form action="/scripts/restart_extraction.php">
|
||||||
|
<button type="submit" class="block">Restart Extraction Service</button>
|
||||||
|
</form>
|
||||||
|
<form action="/scripts/restart_caddy.php" onclick="return confirm('Restart Caddy? You will be disconnected for about 20 seconds.')">
|
||||||
|
<button type="submit" class="block">Restart Caddy</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="column second">
|
||||||
|
<form >
|
||||||
|
<button type="submit" class="block"><a target="_content" href="/scripts/adminer.php">Database Maintenance</a></button>
|
||||||
|
</form>
|
||||||
|
|
||||||
<form action="/scripts/clear_all_data.php" onclick="return confirm('Clear ALL Data? This cannot be undone.')">
|
<form action="/scripts/backup_data.php" onclick="return confirm('Backup ALL Data? Warning: This could take a long time.')">
|
||||||
<input type="submit" value="Clear ALL data">
|
<button type="submit" class="block">Backup ALL data</button>
|
||||||
</form>
|
</form>
|
||||||
|
<form action="/scripts/reboot_system.php" onclick="return confirm('Are you sure you want to reboot?')">
|
||||||
<form action="/scripts/update_birdnet.php" onclick="return confirm('BE SURE TO STASH ANY LOCAL CHANGES YOU HAVE MADE TO THE SYSTEM BEFORE UPDATING!!!')">
|
<button type="submit" class="block">Reboot BirdNET-Pi</button>
|
||||||
<input type="submit" value="Update BirdNET-Pi">
|
</form>
|
||||||
</form>
|
<form action="/scripts/update_birdnet.php" onclick="return confirm('BE SURE TO STASH ANY LOCAL CHANGES YOU HAVE MADE TO THE SYSTEM BEFORE UPDATING!!!')">
|
||||||
|
<button style="color:blue;" type="submit" class="block">Update BirdNET-Pi</button>
|
||||||
<form action="/scripts/reboot_system.php" onclick="return confirm('Are you sure you want to reboot?')">
|
</form>
|
||||||
<input type="submit" value="Reboot BirdNET-Pi">
|
<form action="/scripts/shutdown_system.php" onclick="return confirm('Are you sure you want to shutdown?')">
|
||||||
</form>
|
<button style="color: red;" type="submit" class="block">Shutdown BirdNET-Pi</button>
|
||||||
|
</form>
|
||||||
<form action="/scripts/shutdown_system.php" onclick="return confirm('Are you sure you want to shutdown?')">
|
<form action="/scripts/clear_all_data.php" onclick="return confirm('Clear ALL Data? This cannot be undone.')">
|
||||||
<input type="submit" value="Shutdown BirdNET-Pi">
|
<button style="color: red;" type="submit" class="block">Clear ALL data</button>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|||||||
@@ -99,9 +99,7 @@ echo " BirdNet is installed!!
|
|||||||
|
|
||||||
Visit
|
Visit
|
||||||
the BirdNET-Pi homepage at http://birdnetpi.local"
|
the BirdNET-Pi homepage at http://birdnetpi.local"
|
||||||
echo
|
echo
|
||||||
read -n1 -p " Would you like to run the birdnet_analysis.service now?" YN
|
|
||||||
echo
|
|
||||||
case $YN in
|
case $YN in
|
||||||
[Yy] ) sudo systemctl start birdnet_analysis.service \
|
[Yy] ) sudo systemctl start birdnet_analysis.service \
|
||||||
&& journalctl -fu birdnet_analysis;;
|
&& journalctl -fu birdnet_analysis;;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ USER=pi
|
|||||||
HOME=/home/pi
|
HOME=/home/pi
|
||||||
my_dir=${HOME}/BirdNET-Pi/scripts
|
my_dir=${HOME}/BirdNET-Pi/scripts
|
||||||
tmpfile=$(mktemp)
|
tmpfile=$(mktemp)
|
||||||
nomachine_url="https://download.nomachine.com/download/7.6/Arm/nomachine_7.6.2_3_arm64.deb"
|
nomachine_url="https://download.nomachine.com/download/7.7/Arm/nomachine_7.7.4_1_arm64.deb"
|
||||||
gotty_url="https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_arm.tar.gz"
|
gotty_url="https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_arm.tar.gz"
|
||||||
config_file="$(dirname ${my_dir})/birdnet.conf"
|
config_file="$(dirname ${my_dir})/birdnet.conf"
|
||||||
|
|
||||||
@@ -16,6 +16,7 @@ set_hostname() {
|
|||||||
echo "Setting hostname to 'birdnetpi'"
|
echo "Setting hostname to 'birdnetpi'"
|
||||||
hostnamectl set-hostname birdnetpi
|
hostnamectl set-hostname birdnetpi
|
||||||
sed -i 's/raspberrypi/birdnetpi/g' /etc/hosts
|
sed -i 's/raspberrypi/birdnetpi/g' /etc/hosts
|
||||||
|
sed -i 's/localhost$/localhost birdnetpi.local/g' /etc/hosts
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,17 +112,25 @@ create_necessary_dirs() {
|
|||||||
|
|
||||||
sudo -u ${USER} ln -fs $(dirname ${my_dir})/homepage/* ${EXTRACTED}
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/homepage/* ${EXTRACTED}
|
||||||
if [ ! -z ${BIRDNETLOG_URL} ];then
|
if [ ! -z ${BIRDNETLOG_URL} ];then
|
||||||
BIRDNETLOG_URL="$(echo ${BIRDNETLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
#BIRDNETLOG_URL="$(echo ${BIRDNETLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/"${BIRDNETLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/"${BIRDNETLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
|
phpfiles="$(grep -l "birdnetpi.local:8080" ${my_dir}/*.php)"
|
||||||
|
for i in "${phpfiles[@]}";do
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/"${BIRDNETLOG_URL}"/g" ${i}
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
if [ ! -z ${EXTRACTIONLOG_URL} ];then
|
if [ ! -z ${EXTRACTIONLOG_URL} ];then
|
||||||
EXTRACTIONLOG_URL="$(echo ${EXTRACTIONLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
#EXTRACTIONLOG_URL="$(echo ${EXTRACTIONLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/"${EXTRACTIONLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/"${EXTRACTIONLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
|
phpfiles="$(grep -l "birdnetpi.local:8888" ${my_dir}/*.php)"
|
||||||
|
for i in "${phpfiles[@]}";do
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/"${EXTRACTIONLOG_URL}"/g" ${i}
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts ${EXTRACTED}
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts ${EXTRACTED}
|
||||||
if [ ! -z ${BIRDNETPI_URL} ];then
|
if [ ! -z ${BIRDNETPI_URL} ];then
|
||||||
BIRDNETPI_URL="$(echo ${BIRDNETPI_URL} | sed 's/\/\//\\\/\\\//g')"
|
#BIRDNETPI_URL="$(echo ${BIRDNETPI_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/"${BIRDNETPI_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/"${BIRDNETPI_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
phpfiles="$(grep -l birdnetpi.local ${my_dir}/*.php)"
|
phpfiles="$(grep -l birdnetpi.local ${my_dir}/*.php)"
|
||||||
for i in "${phpfiles[@]}";do
|
for i in "${phpfiles[@]}";do
|
||||||
@@ -132,7 +141,11 @@ create_necessary_dirs() {
|
|||||||
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/spectrogram.php ${EXTRACTED}
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/spectrogram.php ${EXTRACTED}
|
||||||
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/viewdb.php ${EXTRACTED}
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/viewdb.php ${EXTRACTED}
|
||||||
sudo -u ${USER} ln -fs ${HOME}/phpsysinfo ${EXTRACTED}
|
sudo -u ${USER} ln -fs ${HOME}/phpsysinfo ${EXTRACTED}
|
||||||
[ -L ${EXTRACTED}/phpsysinfo/phpsysinfo.ini ] || sudo -u ${USER} cp ${HOME}/phpsysinfo/phpsysinfo.ini.new ${HOME}/phpsysinfo/phpsysinfo.ini
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/phpsysinfo.ini ${HOME}/phpsysinfo/
|
||||||
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/green_bootstrap.css ${HOME}/phpsysinfo/templates/
|
||||||
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/index_bootstrap.html ${HOME}/phpsysinfo/templates/html
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_alsa() {
|
install_alsa() {
|
||||||
@@ -236,6 +249,13 @@ EOF
|
|||||||
systemctl reload caddy
|
systemctl reload caddy
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update_etc_hosts() {
|
||||||
|
#BIRDNETPI_URL="$(echo ${BIRDNETPI_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
|
#EXTRACTIONLOG_URL="$(echo ${EXTRACTIONLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
|
#BIRDNETLOG_URL="$(echo ${BIRDNETLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
|
sed -ie s/'birdnetpi.local'/"birdnetpi.local ${BIRDNETPI_URL//https:\/\/} ${EXTRACTIONLOG_URL//https:\/\/} ${BIRDNETLOG_URL//https:\/\/}"/g /etc/hosts
|
||||||
|
}
|
||||||
|
|
||||||
install_avahi_aliases() {
|
install_avahi_aliases() {
|
||||||
echo "Installing Avahi Services"
|
echo "Installing Avahi Services"
|
||||||
if ! which avahi-publish &> /dev/null; then
|
if ! which avahi-publish &> /dev/null; then
|
||||||
@@ -406,6 +426,8 @@ install_livestream_service() {
|
|||||||
cat << EOF > /etc/systemd/system/livestream.service
|
cat << EOF > /etc/systemd/system/livestream.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=BirdNET-Pi Live Stream
|
Description=BirdNET-Pi Live Stream
|
||||||
|
After=network-online.target
|
||||||
|
Requires=network-online.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Environment=XDG_RUNTIME_DIR=/run/user/1000
|
Environment=XDG_RUNTIME_DIR=/run/user/1000
|
||||||
@@ -457,6 +479,7 @@ install_selected_services() {
|
|||||||
|
|
||||||
install_caddy
|
install_caddy
|
||||||
install_Caddyfile
|
install_Caddyfile
|
||||||
|
update_etc_hosts
|
||||||
install_avahi_aliases
|
install_avahi_aliases
|
||||||
install_gotty_logs
|
install_gotty_logs
|
||||||
install_sox
|
install_sox
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_birdnet_analysis.sh");
|
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_birdnet_analysis.sh");
|
||||||
header('Location: /viewdb.php');
|
header('Location: http://birdnetpi.local:8080');
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_services.sh");
|
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_services.sh");
|
||||||
header('Location: /viewdb.php');
|
header('Location: http://birdnetpi.local:8080');
|
||||||
?>
|
?>
|
||||||
|
|||||||
Executable
+44
@@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
# Writes variables to config file
|
||||||
|
set -x
|
||||||
|
birdnetpi_dir=/home/pi/BirdNET-Pi
|
||||||
|
birdnet_conf=${birdnetpi_dir}/birdnet.conf
|
||||||
|
|
||||||
|
if ! [ -z ${new_lat} ];then
|
||||||
|
sed -i s/'^LATITUDE=.*'/"LATITUDE=${new_lat}"/g ${birdnet_conf}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -z ${new_lon} ];then
|
||||||
|
sed -i s/'^LONGITUDE=.*'/"LONGITUDE=${new_lon}"/g ${birdnet_conf}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -z ${caddy_pwd} ];then
|
||||||
|
sed -i s/'^CADDY_PWD=.*'/"CADDY_PWD=${caddy_pwd}"/g ${birdnet_conf}
|
||||||
|
hash_pwd=$(caddy hash-password -plaintext ${caddy_pwd})
|
||||||
|
sed -i s/'birdnet\ .*'/"birdnet ${hash_pwd}"/g /etc/caddy/Caddyfile
|
||||||
|
systemctl reload caddy
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -z ${db_pwd} ];then
|
||||||
|
sed -i s/'^DB_PWD=.*'/"DB_PWD=${db_pwd}"/g ${birdnet_conf}
|
||||||
|
${birdnetpi_dir}/scripts/update_db_pwd.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -z ${db_root_pwd} ];then
|
||||||
|
exit 1 #for now
|
||||||
|
sed -i s/'^DB_ROOT_PWD=.*'/"DB_ROOT_PWD=${db_root_pwd}"/g ${birdnet_conf}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -z ${birdnetpi_url} ];then
|
||||||
|
sed -i s/'^BIRDNETPI_URL=.*'/"BIRDNETPI_URL=${birdnetpi_url/\/\//\\\/\\\/}"/g ${birdnet_conf}
|
||||||
|
sed -i s/'^EXTRACTIONLOG_URL=.*'/"EXTRACTIONLOG_URL=${extractionlog_url/\/\//\\\/\\\/}"/g ${birdnet_conf}
|
||||||
|
sed -i s/'^BIRDNETLOG_URL=.*'/"BIRDNETLOG_URL=${birdnetlog_url/\/\//\\\/\\\/}"/g ${birdnet_conf}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -z ${new_sensitivity} ];then
|
||||||
|
sed -i s/'^SENSITIVITY=.*'/"SENSITIVITY=${new_sensitivity}"/g ${birdnet_conf}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -z ${new_confidence} ];then
|
||||||
|
sed -i s/'^CONFIDENCE=.*'/"CONFIDENCE=${new_confidence}"/g ${birdnet_conf}
|
||||||
|
fi
|
||||||
Executable
+5
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env -S sudo -E bash
|
||||||
|
# Setting date and time manually for non-network attached installatoins
|
||||||
|
most_recent="$(date +"%F %T" | tr '-' '/')"
|
||||||
|
new_time=$(whiptail --inputbox "Please set the correct time by changing these values. (24h clock format)" 20 60 "$most_recent" 3>&1 1>&2 2>&3)
|
||||||
|
date -s "$new_time"
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Uninstall script to remove everything
|
# Uninstall script to remove everything
|
||||||
# set -x # Uncomment to debug
|
#set -x # Uncomment to debug
|
||||||
trap 'rm -f ${TMPFILE}' EXIT
|
trap 'rm -f ${TMPFILE}' EXIT
|
||||||
|
my_dir=/home/pi/BirdNET-Pi/scripts
|
||||||
source /etc/birdnet/birdnet.conf &> /dev/null
|
source /etc/birdnet/birdnet.conf &> /dev/null
|
||||||
SCRIPTS=(birdnet_analysis.sh
|
SCRIPTS=(birdnet_analysis.sh
|
||||||
birdnet_recording.sh
|
birdnet_recording.sh
|
||||||
@@ -44,8 +45,8 @@ tmux
|
|||||||
uninstall.sh
|
uninstall.sh
|
||||||
update_species.sh
|
update_species.sh
|
||||||
${HOME}/.gotty)
|
${HOME}/.gotty)
|
||||||
|
set -x
|
||||||
services=$(awk '/service/ && /systemctl/ && !/php/ {print $3}' ${my_dir}/install_services.sh | sort)
|
services=($(awk '/service/ && /systemctl/ && !/php/ {print $3}' ${my_dir}/install_services.sh | sort))
|
||||||
|
|
||||||
remove_services() {
|
remove_services() {
|
||||||
for i in "${services[@]}"; do
|
for i in "${services[@]}"; do
|
||||||
@@ -59,6 +60,7 @@ remove_services() {
|
|||||||
sudo rm -drf /etc/systemd/system/"${i}"
|
sudo rm -drf /etc/systemd/system/"${i}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
set +x
|
||||||
remove_icecast
|
remove_icecast
|
||||||
remove_crons
|
remove_crons
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,8 +52,7 @@ remove_services
|
|||||||
remove_scripts
|
remove_scripts
|
||||||
|
|
||||||
# Stage 2 does a git pull to fetch new things
|
# Stage 2 does a git pull to fetch new things
|
||||||
sudo -u${USER} git -C ${HOME}/BirdNET-Pi checkout -f || exit 1
|
sudo -u${USER} git -C ${HOME}/BirdNET-Pi checkout -f
|
||||||
sudo -u${USER} git -C ${HOME}/BirdNET-Pi pull -f || exit 1
|
sudo -u${USER} git -C ${HOME}/BirdNET-Pi pull -f
|
||||||
|
|
||||||
# Trigger the new update_birdnet2.sh
|
# Trigger the new update_birdnet2.sh
|
||||||
sudo -u${USER} ${my_dir}/update_birdnet2.sh
|
sudo -u${USER} ${my_dir}/update_birdnet2.sh
|
||||||
|
|||||||
@@ -1,27 +1,14 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Second stage of update
|
# Second stage of update
|
||||||
birdnet_conf=/home/pi/BirdNET-Pi/birdnet.conf
|
birdnet_conf=/home/pi/BirdNET-Pi/birdnet.conf
|
||||||
|
|
||||||
# Stage 1 updates the birdnet.conf
|
|
||||||
sudo -upi sed -i 's/EXTRACTIONS_URL/BIRDNETPI_URL/g'
|
|
||||||
if ! grep EXTRACTIONLOG ${birdnet_conf} &> /dev/null;then
|
|
||||||
echo "EXTRACTIONLOG_URL=" >> ${birdnet_conf}
|
|
||||||
echo "BIRDNETLOG_URL=" >> ${birdnet_conf}
|
|
||||||
fi
|
|
||||||
sudo -upi sed -i 's/=http:\/\/birdnetpi.local/=/g' ${birdnet_conf}
|
|
||||||
|
|
||||||
# Stage 2 updates the services
|
|
||||||
my_dir=${HOME}/BirdNET-Pi/scripts
|
my_dir=${HOME}/BirdNET-Pi/scripts
|
||||||
|
|
||||||
|
# Stage 1 updates the services
|
||||||
sudo ${my_dir}/update_services.sh
|
sudo ${my_dir}/update_services.sh
|
||||||
|
|
||||||
# Stage 2 restarts the services
|
# Stage 2 restarts the services
|
||||||
newservices=$(awk '/service/ && /systemctl/ && !/php/ {print $3}' ${my_dir}/install_services.sh | sort)
|
newservices=$(awk '/service/ && /systemctl/ && !/php/ {print $3}' ${my_dir}/install_services.sh | sort)
|
||||||
|
for i in ${newservices[@]};do
|
||||||
restart_newservices() {
|
|
||||||
for i in ${newservices[@]};do
|
|
||||||
sudo systemctl restart ${i}
|
sudo systemctl restart ${i}
|
||||||
done
|
done
|
||||||
}
|
|
||||||
|
|
||||||
restart_newservices
|
|
||||||
sudo systemctl restart extraction.timer
|
sudo systemctl restart extraction.timer
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
$timer=60;
|
$timer=60;
|
||||||
header( "refresh:$timer;url=http://birdnetpi.local" );
|
header( "refresh:$timer;url=/viewdb.php" );
|
||||||
?>
|
?>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ set_hostname() {
|
|||||||
echo "Setting hostname to 'birdnetpi'"
|
echo "Setting hostname to 'birdnetpi'"
|
||||||
hostnamectl set-hostname birdnetpi
|
hostnamectl set-hostname birdnetpi
|
||||||
sed -i 's/raspberrypi/birdnetpi/g' /etc/hosts
|
sed -i 's/raspberrypi/birdnetpi/g' /etc/hosts
|
||||||
|
sed -i 's/localhost$/localhost birdnetpi.local/g' /etc/hosts
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,8 +33,7 @@ install_mariadb() {
|
|||||||
apt -qqy install mariadb-server
|
apt -qqy install mariadb-server
|
||||||
echo "MariaDB Installed"
|
echo "MariaDB Installed"
|
||||||
fi
|
fi
|
||||||
sed -i "s/databasepassword/${DB_PWD}/g" /home/pi/BirdNET-Pi/analyze.py
|
${my_dir}/update_db_pwd.sh
|
||||||
sed -i "s/databasepassword/${DB_PWD}/g" /home/pi/BirdNET-Pi/scripts/viewdb.php
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_birdnet_analysis() {
|
install_birdnet_analysis() {
|
||||||
@@ -110,20 +110,26 @@ create_necessary_dirs() {
|
|||||||
[ -d ${PROCESSED} ] || sudo -u ${USER} mkdir -p ${PROCESSED}
|
[ -d ${PROCESSED} ] || sudo -u ${USER} mkdir -p ${PROCESSED}
|
||||||
|
|
||||||
sudo -u ${USER} ln -fs $(dirname ${my_dir})/homepage/* ${EXTRACTED}
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/homepage/* ${EXTRACTED}
|
||||||
set -x
|
|
||||||
if [ ! -z ${BIRDNETLOG_URL} ];then
|
if [ ! -z ${BIRDNETLOG_URL} ];then
|
||||||
BIRDNETLOG_URL="$(echo ${BIRDNETLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
#BIRDNETLOG_URL="$(echo ${BIRDNETLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/"${BIRDNETLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/"${BIRDNETLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
|
phpfiles="$(grep -l "birdnetpi.local:8080" ${my_dir}/*.php)"
|
||||||
|
for i in "${phpfiles[@]}";do
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/"${BIRDNETLOG_URL}"/g" ${i}
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
set +x
|
|
||||||
if [ ! -z ${EXTRACTIONLOG_URL} ];then
|
if [ ! -z ${EXTRACTIONLOG_URL} ];then
|
||||||
EXTRACTIONLOG_URL="$(echo ${EXTRACTIONLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
#EXTRACTIONLOG_URL="$(echo ${EXTRACTIONLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/"${EXTRACTIONLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/"${EXTRACTIONLOG_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
|
phpfiles="$(grep -l "birdnetpi.local:8888" ${my_dir}/*.php)"
|
||||||
|
for i in "${phpfiles[@]}";do
|
||||||
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/"${EXTRACTIONLOG_URL}"/g" ${i}
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts ${EXTRACTED}
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts ${EXTRACTED}
|
||||||
if [ ! -z ${BIRDNETPI_URL} ];then
|
if [ ! -z ${BIRDNETPI_URL} ];then
|
||||||
BIRDNETPI_URL="$(echo ${BIRDNETPI_URL} | sed 's/\/\//\\\/\\\//g')"
|
#BIRDNETPI_URL="$(echo ${BIRDNETPI_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/"${BIRDNETPI_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/"${BIRDNETPI_URL}"/g" $(dirname ${my_dir})/homepage/*.html
|
||||||
phpfiles="$(grep -l birdnetpi.local ${my_dir}/*.php)"
|
phpfiles="$(grep -l birdnetpi.local ${my_dir}/*.php)"
|
||||||
for i in "${phpfiles[@]}";do
|
for i in "${phpfiles[@]}";do
|
||||||
@@ -134,7 +140,10 @@ create_necessary_dirs() {
|
|||||||
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/spectrogram.php ${EXTRACTED}
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/spectrogram.php ${EXTRACTED}
|
||||||
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/viewdb.php ${EXTRACTED}
|
sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/viewdb.php ${EXTRACTED}
|
||||||
sudo -u ${USER} ln -fs ${HOME}/phpsysinfo ${EXTRACTED}
|
sudo -u ${USER} ln -fs ${HOME}/phpsysinfo ${EXTRACTED}
|
||||||
[ -L ${EXTRACTED}/phpsysinfo/phpsysinfo.ini ] || sudo -u ${USER} cp ${HOME}/phpsysinfo/phpsysinfo.ini.new ${HOME}/phpsysinfo/phpsysinfo.ini
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/phpsysinfo.ini ${HOME}/phpsysinfo/
|
||||||
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/green_bootstrap.css ${HOME}/phpsysinfo/templates/
|
||||||
|
sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/index_bootstrap.html ${HOME}/phpsysinfo/templates/html
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_alsa() {
|
install_alsa() {
|
||||||
@@ -238,6 +247,13 @@ EOF
|
|||||||
systemctl reload caddy
|
systemctl reload caddy
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update_etc_hosts() {
|
||||||
|
#BIRDNETPI_URL="$(echo ${BIRDNETPI_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
|
#EXTRACTIONLOG_URL="$(echo ${EXTRACTIONLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
|
#BIRDNETLOG_URL="$(echo ${BIRDNETLOG_URL} | sed 's/\/\//\\\/\\\//g')"
|
||||||
|
sed -ie s/'birdnetpi.local'/"birdnetpi.local ${BIRDNETPI_URL//https:\/\/} ${EXTRACTIONLOG_URL//https:\/\/} ${BIRDNETLOG_URL//https:\/\/}"/g /etc/hosts
|
||||||
|
}
|
||||||
|
|
||||||
install_avahi_aliases() {
|
install_avahi_aliases() {
|
||||||
echo "Installing Avahi Services"
|
echo "Installing Avahi Services"
|
||||||
if ! which avahi-publish &> /dev/null; then
|
if ! which avahi-publish &> /dev/null; then
|
||||||
@@ -407,6 +423,8 @@ install_livestream_service() {
|
|||||||
cat << EOF > /etc/systemd/system/livestream.service
|
cat << EOF > /etc/systemd/system/livestream.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=BirdNET-Pi Live Stream
|
Description=BirdNET-Pi Live Stream
|
||||||
|
After=network-online.target
|
||||||
|
Requires=network-online.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Environment=XDG_RUNTIME_DIR=/run/user/1000
|
Environment=XDG_RUNTIME_DIR=/run/user/1000
|
||||||
@@ -458,6 +476,7 @@ install_selected_services() {
|
|||||||
|
|
||||||
install_caddy
|
install_caddy
|
||||||
install_Caddyfile
|
install_Caddyfile
|
||||||
|
update_etc_hosts
|
||||||
install_avahi_aliases
|
install_avahi_aliases
|
||||||
install_gotty_logs
|
install_gotty_logs
|
||||||
install_sox
|
install_sox
|
||||||
|
|||||||
+1
-104
@@ -62,110 +62,7 @@ $mysqli->close();
|
|||||||
<!-- <meta name="viewport" content="width=device-width, initial-scale=1"> -->
|
<!-- <meta name="viewport" content="width=device-width, initial-scale=1"> -->
|
||||||
<title>BirdNET-Pi DB</title>
|
<title>BirdNET-Pi DB</title>
|
||||||
<!-- CSS FOR STYLING THE PAGE -->
|
<!-- CSS FOR STYLING THE PAGE -->
|
||||||
<style>
|
<link rel="stylesheet" href="style.css">
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.row {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.column {
|
|
||||||
flex: 50%;
|
|
||||||
padding-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
table {
|
|
||||||
margin: 0 auto;
|
|
||||||
font-size: large;
|
|
||||||
border-collapse: collapse;
|
|
||||||
border-spacing: 0;
|
|
||||||
width: 100%;
|
|
||||||
border: 1px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
text-align: center;
|
|
||||||
color: black;
|
|
||||||
font-size: xx-large;
|
|
||||||
font-family: 'Gill Sans', 'Gill Sans MT',
|
|
||||||
' Calibri', 'Trebuchet MS', 'sans-serif';
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
text-align: center;
|
|
||||||
color: black;
|
|
||||||
font-size: large;
|
|
||||||
font-family: 'Gill Sans', 'Gill Sans MT',
|
|
||||||
' Calibri', 'Trebuchet MS', 'sans-serif';
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
background-color: rgb(119, 196, 135);
|
|
||||||
border: 1px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
th,
|
|
||||||
td {
|
|
||||||
font-weight: bold;
|
|
||||||
border: 1px solid black;
|
|
||||||
padding: 10px;
|
|
||||||
text-align: center;
|
|
||||||
background-color: rgb(219, 296, 235);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 800px) {
|
|
||||||
.column {
|
|
||||||
float: none;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin: 0 auto;
|
|
||||||
font-size: medium;
|
|
||||||
border-collapse: collapse;
|
|
||||||
border-spacing: 1;
|
|
||||||
width: 100%;
|
|
||||||
border: 1px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
text-align: center;
|
|
||||||
color: black;
|
|
||||||
font-size: large;
|
|
||||||
font-family: 'Gill Sans', 'Gill Sans MT',
|
|
||||||
' Calibri', 'Trebuchet MS', 'sans-serif';
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
text-align: center;
|
|
||||||
color: black;
|
|
||||||
font-size: large;
|
|
||||||
font-family: 'Gill Sans', 'Gill Sans MT',
|
|
||||||
' Calibri', 'Trebuchet MS', 'sans-serif';
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
background-color: rgb(119, 196, 135);
|
|
||||||
border: 1px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
th,
|
|
||||||
td {
|
|
||||||
font-weight: bold;
|
|
||||||
border: 1px solid black;
|
|
||||||
padding: 10px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
font-weight: lighter;
|
|
||||||
}
|
|
||||||
body::-webkit-scrollbar {
|
|
||||||
display:none
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
</head>
|
||||||
<body style="background-color: rgb(119, 196, 135);background-image: linear-gradient(to top, rgb(119, 196, 135),black;">
|
<body style="background-color: rgb(119, 196, 135);background-image: linear-gradient(to top, rgb(119, 196, 135),black;">
|
||||||
|
|
||||||
|
|||||||
Executable
+13
@@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
# Writes variables to config file
|
||||||
|
birdnetpi_dir=/home/pi/BirdNET-Pi
|
||||||
|
birders_conf=${birdnetpi_dir}/Birders_Guide_Installer_Configuration.txt
|
||||||
|
sed -i s/'^LATITUDE=$'/"LATITUDE=${new_lat}"/g ${birders_conf}
|
||||||
|
sed -i s/'^LONGITUDE=$'/"LONGITUDE=${new_lon}"/g ${birders_conf}
|
||||||
|
sed -i s/'^CADDY_PWD=$'/"CADDY_PWD=${caddy_pwd}"/g ${birders_conf}
|
||||||
|
sed -i s/'^ICE_PWD=$'/"ICE_PWD=${ice_pwd}"/g ${birders_conf}
|
||||||
|
sed -i s/'^DB_PWD=$'/"DB_PWD=${db_pwd}"/g ${birders_conf}
|
||||||
|
sed -i s/'^DB_ROOT_PWD=$'/"DB_ROOT_PWD=${db_root_pwd}"/g ${birders_conf}
|
||||||
|
sed -i s/'^BIRDNETPI_URL=$'/"BIRDNETPI_URL=${birdnetpi_url/\/\//\\\/\\\/}"/g ${birders_conf}
|
||||||
|
sed -i s/'^EXTRACTIONLOG_URL=$'/"EXTRACTIONLOG_URL=${extractionlog_url/\/\//\\\/\\\/}"/g ${birders_conf}
|
||||||
|
sed -i s/'^BIRDNETLOG_URL=$'/"BIRDNETLOG_URL=${birdnetlog_url/\/\//\\\/\\\/}"/g ${birders_conf}
|
||||||
@@ -0,0 +1,228 @@
|
|||||||
|
body {
|
||||||
|
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
padding-top: 80px;
|
||||||
|
color: #333;
|
||||||
|
background-color: rgb(119, 196, 135);
|
||||||
|
}
|
||||||
|
|
||||||
|
body::-webkit-scrollbar {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
wbr {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table td.rightCell, .table th.rightCell {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.percent {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
border-color: #f2f2f2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar {
|
||||||
|
background-color: rgb(119, 196, 135);
|
||||||
|
border-color: #33b667;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-brand, .navbar-brand:hover {
|
||||||
|
color: #fff;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.treegrid-span {
|
||||||
|
display: table-cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
.treegrid-spanbold {
|
||||||
|
font-weight: bold;
|
||||||
|
display: table-cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
.treegrid-indent {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
display: table-cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
.treegrid-expander {
|
||||||
|
width: 0px;
|
||||||
|
height: 16px;
|
||||||
|
display: table-cell;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.normalicon {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
position: relative;
|
||||||
|
top: 1px;
|
||||||
|
display: table-cell;
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
line-height: 1;
|
||||||
|
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
.normalicon-right:before {
|
||||||
|
content: "\25ba";
|
||||||
|
}
|
||||||
|
.normalicon-down:before {
|
||||||
|
content: "\25bc";
|
||||||
|
}
|
||||||
|
|
||||||
|
table.sortable thead th {
|
||||||
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.sortable thead th:hover {
|
||||||
|
background-color: #ececec;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sorttable_nosort {
|
||||||
|
cursor: auto!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-hover > tbody > tr:hover {
|
||||||
|
color: #333;
|
||||||
|
background-color: #ececec;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-hover > tfoot > tr:hover {
|
||||||
|
background-color: #ececec;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.borderless td, table.borderless th, table.noborderattop tr:first-child td, table.noborderattop tr:first-child th {
|
||||||
|
border: none!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
color: #333;
|
||||||
|
background-color: #fff!important;
|
||||||
|
margin: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
select {
|
||||||
|
background-color: #fefefe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.template {
|
||||||
|
cursor: pointer;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.language {
|
||||||
|
cursor: pointer;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-header {
|
||||||
|
background-color: #33b770!important;
|
||||||
|
border-color: #33b770!important;
|
||||||
|
color: #fff!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress {
|
||||||
|
margin-bottom: 0;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
|
||||||
|
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar-success {
|
||||||
|
background-color: #5bc0de;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar-info {
|
||||||
|
background-color: #5cb85c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar-warning {
|
||||||
|
background-color: #f0ad4e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar-danger {
|
||||||
|
background-color: #d9534f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-content {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-group {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-group-item {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reload {
|
||||||
|
background-image: url("../gfx/reload.gif");
|
||||||
|
float: right;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table thead th {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a, a:visited {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.psihref, .psihref:visited {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.psihref:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-lg-6, .col-lg-12 {
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge{
|
||||||
|
font-size: 12px;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 3px 7px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-nopadding > tbody > tr > td,
|
||||||
|
.table-nopadding > tbody > tr > th {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,493 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
|
<meta name="mobile-web-app-capable" content="yes">
|
||||||
|
<meta name="description" content="phpSysInfo is a customizable PHP script that displays information about your system nicely">
|
||||||
|
<meta name="author" content="phpSysInfo organization at GitHub">
|
||||||
|
<title>phpSysInfo <?php echo PSI_VERSION_STRING ?></title>
|
||||||
|
<link href="gfx/favicon.ico" type="image/x-icon" rel="shortcut icon">
|
||||||
|
<noscript><meta http-equiv="refresh" content="2; URL=index.php?disp=static"/></noscript>
|
||||||
|
<link rel="stylesheet" type='text/css' href="templates/vendor/bootstrap.min.css">
|
||||||
|
<link rel="stylesheet" type='text/css' href="templates/vendor/bootstrap-webapp.css">
|
||||||
|
<!--[if IE 9]>
|
||||||
|
<link rel="stylesheet" type='text/css' href="templates/vendor/bootstrap-ie9.css">
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=bootstrap-ie9"></script>
|
||||||
|
<![endif]-->
|
||||||
|
<!--[if IE 8]>
|
||||||
|
<link rel="stylesheet" type='text/css' href="templates/vendor/bootstrap-ie8.css">
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=html5shiv-printshiv"></script>
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=bootstrap-ie8"></script>
|
||||||
|
<![endif]-->
|
||||||
|
<!--[if lt IE 8]>
|
||||||
|
<script type="text/javascript">
|
||||||
|
alert('You are using an unsupported browser. Update Internet Explorer to at least version 8');
|
||||||
|
die();
|
||||||
|
</script>
|
||||||
|
<![endif]-->
|
||||||
|
<link rel="stylesheet" type='text/css' href="templates/misc/emptyfile.css" id="PSI_CSS_Fix">
|
||||||
|
<link rel="stylesheet" type='text/css' href="templates/misc/emptyfile.css" id="PSI_Template">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<input type="hidden" id="plugins" value="<?php $plugins = ''; foreach (CommonFunctions::getPlugins() as $plugin) : $plugins .= $plugin.','; endforeach; echo substr($plugins, 0, -1);?>"/>
|
||||||
|
<input type="hidden" id="showCPUListExpanded" value="<?php echo $showCPUListExpanded;?>"/>
|
||||||
|
<input type="hidden" id="showCPUInfoExpanded" value="<?php echo $showCPUInfoExpanded;?>"/>
|
||||||
|
<input type="hidden" id="showNetworkInfosExpanded" value="<?php echo $showNetworkInfosExpanded;?>"/>
|
||||||
|
<input type="hidden" id="showNetworkActiveSpeed" value="<?php echo $showNetworkActiveSpeed;?>"/>
|
||||||
|
<input type="hidden" id="showCPULoadCompact" value="<?php echo $showCPULoadCompact;?>"/>
|
||||||
|
<input type="hidden" id="hideBootstrapLoader" value="<?php echo $hideBootstrapLoader;?>"/>
|
||||||
|
<input type="hidden" id="hideTotals" value="<?php echo $hideTotals;?>"/>
|
||||||
|
<input type="hidden" id="blocks" value="<?php echo $blocks;?>"/>
|
||||||
|
|
||||||
|
<div class="navbar fixed-top">
|
||||||
|
<div class="container" style="display:block;">
|
||||||
|
<div style="display:table-cell">
|
||||||
|
<div class="navbar-brand">
|
||||||
|
<img class="logo" alt="" src="gfx/logo_32.gif" title="reload"/> phpSys<a title="phpSysInfo - <?php echo PSI_VERSION_STRING; ?>" class="psihref" href="http://phpsysinfo.sourceforge.net/" target="psihref">Info</a><div class="errorbutton" id="errorbutton" title="errors" data-target="#errors-dialog" style="display:inline-block;background:url('gfx/attention.gif') no-repeat center;width:49px;height:32px;visibility:hidden;">
|
||||||
|
<img id="loader" alt="" src="gfx/ajax-loader.gif" style="margin:0 3px 0 3px;visibility:hidden;"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="select" class="select" style="display:none;width:100%;vertical-align:middle;text-align:right;">
|
||||||
|
<div id="tempblock" style="display:none;">
|
||||||
|
<span class="lang_044"></span>
|
||||||
|
<select class="template" id="template">
|
||||||
|
<option value="green" selected="selected">green</option>
|
||||||
|
</select>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div id="langblock" style="display:none;">
|
||||||
|
<span class="lang_045">Language</span>
|
||||||
|
<select class="language" id="language">
|
||||||
|
<?php if ($picklanguage) {
|
||||||
|
foreach ($languages as $l) :
|
||||||
|
$selected = "";
|
||||||
|
if ($language === $l) {
|
||||||
|
$selected = " selected=\"selected\"";
|
||||||
|
}
|
||||||
|
echo " <option value=\"".$l."\"".$selected.">".$l."</option>\n";
|
||||||
|
endforeach;
|
||||||
|
} else {
|
||||||
|
echo " <option value=\"".$language."\" selected=\"selected\">".$language."</option>\n";
|
||||||
|
}?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<p>Your navigator does not support JavaScript (or JavaScript is not activated).</p>
|
||||||
|
<p>In approximatively 2 seconds you will be redirected to the static version of phpSysInfo.</p>
|
||||||
|
<p> </p>
|
||||||
|
<p><a href="index.php?disp=static">Click here to switch to the static version</a></p>
|
||||||
|
</noscript>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div id="output" class="row" style="display:none;">
|
||||||
|
<div id="block_vitals" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_002">System vitals</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="vitals" class="table table-hover table-sm noborderattop">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_003">Hostname</span></th>
|
||||||
|
<td><span data-bind="Hostname"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_004">Listening IP</span></th>
|
||||||
|
<td><span data-bind="IPAddr"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_005">Kernel Version</span></th>
|
||||||
|
<td><span data-bind="Kernel"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_006">Distro Name</span></th>
|
||||||
|
<td><span data-bind="Distro"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_127">OS Type</span></th>
|
||||||
|
<td><span data-bind="OS"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_007">Uptime</span></th>
|
||||||
|
<td><span data-bind="Uptime"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_095">Last boot</span></th>
|
||||||
|
<td><span data-bind="LastBoot"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_008">Current Users</span></th>
|
||||||
|
<td><span data-bind="Users"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_009">Load Averages</span></th>
|
||||||
|
<td><span data-bind="LoadAvg"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr id="tr_SysLang">
|
||||||
|
<th><span class="lang_097">System Language</span></th>
|
||||||
|
<td><span data-bind="SysLang"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr id="tr_CodePage">
|
||||||
|
<th><span class="lang_098">Code Page</span></th>
|
||||||
|
<td><span data-bind="CodePage"></span></td>
|
||||||
|
</tr>
|
||||||
|
<tr id="tr_Processes">
|
||||||
|
<th><span class="lang_110">Processes</span></th>
|
||||||
|
<td><span data-bind="Processes"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_hardware" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_010">Hardware Information</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="hardware" class="table table-hover table-sm noborderattop">
|
||||||
|
<tbody id="hardware-data">
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_memory" class="col-lg-12" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_027">Memory Usage</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="memory" class="table table-hover table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_034">Type</span></th>
|
||||||
|
<th><span class="lang_033">Usage</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_125">Free</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_036">Used</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_037">Size</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="memory-data">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="Type"></span></th>
|
||||||
|
<td><span data-bind="Usage"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Free"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Used"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Total"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
<tfoot id="swap-data" style="display:none;">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="Name"></span></th>
|
||||||
|
<td><span data-bind="Usage"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Free"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Used"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Total"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_filesystem" class="col-lg-12" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_030">Mounted Filesystems</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="filesystem" class="table table-hover table-sm sortable">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th id="filesystem_MountPoint"><span class="lang_031">Mountpoint</span></th>
|
||||||
|
<th><span class="lang_034">Type</span></th>
|
||||||
|
<th><span class="lang_032">Partition</span></th>
|
||||||
|
<th><span class="lang_033">Usage</span></th>
|
||||||
|
<th class="rightCell sorttable_numeric"><span class="lang_035">Free</span></th>
|
||||||
|
<th class="rightCell sorttable_numeric"><span class="lang_036">Used</span></th>
|
||||||
|
<th class="rightCell sorttable_numeric"><span class="lang_037">Size</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="filesystem-data">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="MountPoint"></span></th>
|
||||||
|
<td><span data-bind="FSType"></span></td>
|
||||||
|
<td><span data-bind="Name"></span></td>
|
||||||
|
<td><span data-bind="Percent"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Free"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Used"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Total"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
<tfoot id="filesystem-foot" style="display:none;">
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<th><span class="lang_038">Totals</span></th>
|
||||||
|
<th><span data-bind="Percent"></span></th>
|
||||||
|
<th class="rightCell"><span data-bind="Free"></span></th>
|
||||||
|
<th class="rightCell"><span data-bind="Used"></span></th>
|
||||||
|
<th class="rightCell"><span data-bind="Total"></span></th>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_network" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_021">Network Interface</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="network" class="table table-hover table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width:60%"><span class="lang_022">Device</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_023">Receive</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_024">Send</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_025">Err/<wbr>Drop</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="network-data"></tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_voltage" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_052">Voltage</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="voltage" class="table table-hover table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_059">Label</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_054">Value</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_055">Min</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_056">Max</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="voltage-data">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="Label"></span></th>
|
||||||
|
<td class="rightCell"><span data-bind="Value"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Min"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Max"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_current" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_105">Current</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="current" class="table table-hover table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_059">Label</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_054">Value</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_055">Min</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_056">Max</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="current-data">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="Label"></span></th>
|
||||||
|
<td class="rightCell"><span data-bind="Value"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Min"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Max"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_temperature" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_051">Temperatures</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="temperature" class="table table-hover table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_059">Label</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_054">Value</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_058">Limit</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="temperature-data">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="Label"></span></th>
|
||||||
|
<td class="rightCell"><span data-bind="Value"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Max"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_fans" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_053">Fans</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="fans" class="table table-hover table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_059">Label</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_054">Value</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_055">Min</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="fans-data">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="Label"></span></th>
|
||||||
|
<td class="rightCell"><span data-bind="Value"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Min"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_power" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_102">Power</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="power" class="table table-hover table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_059">Label</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_054">Value</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_058">Limit</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="power-data">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="Label"></span></th>
|
||||||
|
<td class="rightCell"><span data-bind="Value"></span></td>
|
||||||
|
<td class="rightCell"><span data-bind="Max"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_other" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_121">Other</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="other" class="table table-hover table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><span class="lang_059">Label</span></th>
|
||||||
|
<th class="rightCell"><span class="lang_054">Value</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="other-data">
|
||||||
|
<tr>
|
||||||
|
<th><span data-bind="Label"></span></th>
|
||||||
|
<td class="rightCell"><span data-bind="Value"></span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="block_ups" class="col-lg-6" style="display:none;">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><span class="lang_068">UPS Information</span></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="ups" class="table table-hover table-sm noborderattop">
|
||||||
|
<tbody id="ups-data">
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php foreach (CommonFunctions::getPlugins() as $plugin) :
|
||||||
|
if (file_exists(PSI_APP_ROOT . '/plugins/' . $plugin . '/' . $plugin . '_bootstrap.html')) : ?>
|
||||||
|
<?php include PSI_APP_ROOT. '/plugins/' . $plugin . '/' . $plugin . '_bootstrap.html'; ?>
|
||||||
|
|
||||||
|
<?php endif; endforeach; ?>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Errors details modal dialogs -->
|
||||||
|
<div class="modal fade" id="errors-dialog" tabindex="-1" role="dialog" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-lg">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title">Errors</h4>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<ul id="errors" class="list-group">
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.modal-content -->
|
||||||
|
</div>
|
||||||
|
<!-- /.modal-dialog -->
|
||||||
|
</div>
|
||||||
|
<!-- /.modal -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=jquery"></script>
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=console-shim"></script>
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=transparency"></script>
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=sorttable"></script>
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=jquery.treegrid"></script>
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=bootstrap-util"></script>
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=bootstrap-modal"></script>
|
||||||
|
|
||||||
|
<?php foreach (CommonFunctions::getPlugins() as $plugin) : ?>
|
||||||
|
<script type="text/JavaScript" src="./js.php?plugin=<?php echo $plugin ?>&name=<?php echo $plugin ?>_bootstrap"></script>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
|
||||||
|
<script type="text/JavaScript" src="./js.php?name=phpsysinfo_bootstrap"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,987 @@
|
|||||||
|
; PSI Config File
|
||||||
|
;
|
||||||
|
; @category PHP
|
||||||
|
; @package PSI
|
||||||
|
; @author Michael Cramer <BigMichi1@users.sourceforge.net>
|
||||||
|
; @copyright 2009 phpSysInfo
|
||||||
|
; @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License version 2, or (at your option) any later version
|
||||||
|
; @version SVN: $Id: phpsysinfo.ini.new 705 2012-11-11 00:33:29Z namiltd $
|
||||||
|
; @link http://phpsysinfo.sourceforge.net
|
||||||
|
|
||||||
|
[main]
|
||||||
|
; ********************************
|
||||||
|
; MAIN PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
; Turn on debugging of some functions and include errors and warnings in xml and provide a popup for displaying errors
|
||||||
|
; - false : no debug information are stored in xml or displayed
|
||||||
|
; - true : debug information stored in xml and displayed *be careful if set this to true, may include sensitive information from your pc*
|
||||||
|
;
|
||||||
|
DEBUG=false
|
||||||
|
|
||||||
|
; Turn on logging/unlogging of functions executeProgram() and rfts()
|
||||||
|
; example : executeProgram () and rfts () record the results to the "/tmp/phpsysinfo.log" file
|
||||||
|
; LOG="/tmp/phpsysinfo.log"
|
||||||
|
; example : executeProgram () and rfts () read the results from the "/tmp/phpsysinfo.log" file
|
||||||
|
; LOG="-/tmp/phpsysinfo.log"
|
||||||
|
; example : executeProgram () and rfts () read the results from the "/tmp/phpsysinfo.log" file
|
||||||
|
; LOG="+/tmp/phpsysinfo.log", if lack in the log file it runs normally
|
||||||
|
;
|
||||||
|
LOG=false
|
||||||
|
|
||||||
|
; Turn on/off compression for JavaScript file
|
||||||
|
; - JS_COMPRESSION=false //no compression (recommended with slow processor)
|
||||||
|
; - JS_COMPRESSION="None" //code minimizing
|
||||||
|
; - JS_COMPRESSION="Normal" //code packing
|
||||||
|
;
|
||||||
|
JS_COMPRESSION="Normal"
|
||||||
|
|
||||||
|
; Additional paths where to look for installed programs
|
||||||
|
; Example : ADD_PATHS="/opt/bin,/opt/sbin"
|
||||||
|
;
|
||||||
|
ADD_PATHS=false
|
||||||
|
|
||||||
|
; List of IP addresses of clients authorized to run
|
||||||
|
; Example : ALLOWED="127.0.0.1,192.168.1.48" //allowed IP 127.0.0.1 and 192.168.1.48
|
||||||
|
; ALLOWED=false //no IP checking
|
||||||
|
;
|
||||||
|
ALLOWED=false
|
||||||
|
|
||||||
|
; List of sudo commands
|
||||||
|
; Example : SUDO_COMMANDS="iptables-save" //execute "sudo iptables-save" instead "iptables-save"
|
||||||
|
; SUDO_COMMANDS=false //no sudo commands
|
||||||
|
;
|
||||||
|
SUDO_COMMANDS=false
|
||||||
|
|
||||||
|
; Order of data blocks
|
||||||
|
; Example : BLOCKS="vitals,hardware,memory,filesystem,network,voltage,current,temperature,fans,power,other,ups" or BLOCKS=true //default order
|
||||||
|
; BLOCKS=false //hide all blocks
|
||||||
|
;
|
||||||
|
BLOCKS=true
|
||||||
|
|
||||||
|
; Maximum time in seconds a script is allowed to run before it is terminated by the parser
|
||||||
|
;
|
||||||
|
;MAX_TIMEOUT=30
|
||||||
|
|
||||||
|
; executeProgram() timeout value in seconds
|
||||||
|
;
|
||||||
|
;EXEC_TIMEOUT=30
|
||||||
|
|
||||||
|
; snmprealwalk() and executeProgram("snmpwalk") number of seconds until the first timeout
|
||||||
|
;
|
||||||
|
;SNMP_TIMEOUT=3
|
||||||
|
|
||||||
|
; snmprealwalk() and executeProgram("snmpwalk") number of times to retry if timeouts occur
|
||||||
|
;
|
||||||
|
;SNMP_RETRY=0
|
||||||
|
|
||||||
|
; External WinNT server connection parameters
|
||||||
|
; Possibility available for WinNT and partly for LINUX (if wmic tool from wmic-linux or openvas-smb package is installed)
|
||||||
|
; These settings can also be entered for a specific plug-in so that only it connects to an external server
|
||||||
|
; For safety reasons make sure that phpsysinfo.ini cannot be read by the network or other users!
|
||||||
|
;
|
||||||
|
;WMI_HOSTNAME="hostname"
|
||||||
|
;WMI_USER="username"
|
||||||
|
;WMI_PASSWORD="password"
|
||||||
|
|
||||||
|
|
||||||
|
; Plugins that should be included in xml and output
|
||||||
|
; List of plugins should look like "plugin,plugin,plugin". See /plugins directory
|
||||||
|
; - PLUGINS="Raid,PS" //list of plugins
|
||||||
|
; - PLUGINS=false //no plugins
|
||||||
|
; included plugins:
|
||||||
|
; - Raid - show the software, fake, zpool or megaraid RAID status
|
||||||
|
; - PS - show a process tree of all running processes
|
||||||
|
; - PSStatus - show a graphical representation if a process is running or not
|
||||||
|
; - Quotas - show a table with all quotas that are active and there current state
|
||||||
|
; - SMART - show S.M.A.R.T. information from drives that support it
|
||||||
|
; - BAT - show battery state on a laptop, tablet or phone
|
||||||
|
; - UpdateNotifier - show update notifications (only for Ubuntu server)
|
||||||
|
; - SNMPPInfo - show printers info via SNMP
|
||||||
|
; - Uprecords - show uprecords info
|
||||||
|
; - PingTest - show Ping Test info
|
||||||
|
; - StableBit - show StableBit Scanner info (WinNT)
|
||||||
|
; - HyperV - show Hyper-V info (WinNT)
|
||||||
|
; - Docker - show docker stats
|
||||||
|
; - Viewer - show output of any command or file viewer.tmp contents
|
||||||
|
;
|
||||||
|
PLUGINS=false
|
||||||
|
|
||||||
|
|
||||||
|
; ********************************
|
||||||
|
; DISPLAY PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
|
||||||
|
; Define the default display mode
|
||||||
|
; auto: let user browser choose the mode
|
||||||
|
; dynamic: use javascript to refresh data
|
||||||
|
; static: static page (use metatag to reload page)
|
||||||
|
; bootstrap: use twitter bootstrap template
|
||||||
|
;
|
||||||
|
DEFAULT_DISPLAY_MODE="auto"
|
||||||
|
|
||||||
|
|
||||||
|
; Define the default language
|
||||||
|
;
|
||||||
|
DEFAULT_LANG="en"
|
||||||
|
|
||||||
|
|
||||||
|
; Define the default template
|
||||||
|
;
|
||||||
|
DEFAULT_TEMPLATE="phpsysinfo"
|
||||||
|
|
||||||
|
|
||||||
|
; Define the default template for frontend "bootstrap"
|
||||||
|
;
|
||||||
|
DEFAULT_BOOTSTRAP_TEMPLATE="phpsysinfo"
|
||||||
|
|
||||||
|
|
||||||
|
; Show or hide language picklist
|
||||||
|
;
|
||||||
|
SHOW_PICKLIST_LANG=true
|
||||||
|
|
||||||
|
|
||||||
|
; Show or hide template picklist
|
||||||
|
;
|
||||||
|
SHOW_PICKLIST_TEMPLATE=true
|
||||||
|
|
||||||
|
|
||||||
|
; Show CPU list expanded
|
||||||
|
;
|
||||||
|
SHOW_CPULIST_EXPANDED=true
|
||||||
|
|
||||||
|
|
||||||
|
; Show CPU info expanded
|
||||||
|
;
|
||||||
|
SHOW_CPUINFO_EXPANDED=false
|
||||||
|
|
||||||
|
|
||||||
|
; Show memory infos expanded
|
||||||
|
;
|
||||||
|
SHOW_MEMORY_INFOS_EXPANDED=false
|
||||||
|
|
||||||
|
|
||||||
|
; Show virtualizer info for Linux, Android and WinNT
|
||||||
|
;
|
||||||
|
SHOW_VIRTUALIZER_INFO=true
|
||||||
|
|
||||||
|
|
||||||
|
; Hide loader for frontend "bootstrap"
|
||||||
|
;
|
||||||
|
HIDE_BOOTSTRAP_LOADER=false
|
||||||
|
|
||||||
|
|
||||||
|
; Increase the body width for the "dynamic" frontend by pixels. The value should be even
|
||||||
|
; - 0 : disabled
|
||||||
|
; - 200 : wider by 200px
|
||||||
|
; Default is 0 pixels
|
||||||
|
;
|
||||||
|
INCREASE_WIDTH=0
|
||||||
|
|
||||||
|
|
||||||
|
; Define the interval for refreshing data in ms
|
||||||
|
; - 0 : disabled
|
||||||
|
; - 1000 : 1 second
|
||||||
|
; Default is 60 seconds
|
||||||
|
;
|
||||||
|
REFRESH=60000
|
||||||
|
|
||||||
|
|
||||||
|
; Show a graph for current cpuload
|
||||||
|
; - true : displayed, but it's a performance hit (because we have to wait to get a value, 1 second)
|
||||||
|
; - "compact" : displayed like above but in compact mode
|
||||||
|
; - false : will not be displayed (also in Load Averages field)
|
||||||
|
;
|
||||||
|
LOAD_BAR="compact"
|
||||||
|
|
||||||
|
|
||||||
|
; Display the virtual host name and address
|
||||||
|
; - Default is canonical host name and address
|
||||||
|
; - Use USE_VHOST=true to display virtual host name.
|
||||||
|
;
|
||||||
|
USE_VHOST=false
|
||||||
|
|
||||||
|
|
||||||
|
; Controls the units & format for network, memory and filesystem
|
||||||
|
; - 1 KiB = 2^10 bytes = 1,024 bytes
|
||||||
|
; - 1 KB = 10^3 bytes = 1,000 bytes
|
||||||
|
; - "B" everything is in Byte
|
||||||
|
; - "PiB" everything is in PeBiByte
|
||||||
|
; - "TiB" everything is in TeBiByte
|
||||||
|
; - "GiB" everything is in GiBiByte
|
||||||
|
; - "MiB" everything is in MeBiByte
|
||||||
|
; - "KiB" everything is in KiBiByte
|
||||||
|
; - "auto_binary" everything is automatic done if value is to big for, e.g MiB then it will be in GiB
|
||||||
|
; - "PB" everything is in PetaByte
|
||||||
|
; - "TB" everything is in TeraByte
|
||||||
|
; - "GB" everything is in GigaByte
|
||||||
|
; - "MB" everything is in MegaByte
|
||||||
|
; - "KB" everything is in KiloByte
|
||||||
|
; - "auto_decimal" everything is automatic done if value is to big for, e.g MB then it will be in GB
|
||||||
|
;
|
||||||
|
BYTE_FORMAT="auto_binary"
|
||||||
|
|
||||||
|
|
||||||
|
; Format in which temperature is displayed
|
||||||
|
; - "c" shown in celsius
|
||||||
|
; - "f" shown in fahrenheit
|
||||||
|
; - "c-f" both shown first celsius and fahrenheit in braces
|
||||||
|
; - "f-c" both shown first fahrenheit and celsius in braces
|
||||||
|
;
|
||||||
|
TEMP_FORMAT="c"
|
||||||
|
|
||||||
|
|
||||||
|
; Show devices infos
|
||||||
|
; Example : SHOW_DEVICES_INFOS=true
|
||||||
|
;
|
||||||
|
SHOW_DEVICES_INFOS=true
|
||||||
|
|
||||||
|
|
||||||
|
; Show devices serial number
|
||||||
|
; Example : SHOW_DEVICES_SERIAL=true
|
||||||
|
;
|
||||||
|
SHOW_DEVICES_SERIAL=false
|
||||||
|
|
||||||
|
|
||||||
|
; Format in which datetime is displayed
|
||||||
|
; - "UTC" shown as UTC string
|
||||||
|
; - "locale" shown as Locale string
|
||||||
|
;
|
||||||
|
DATETIME_FORMAT="UTC"
|
||||||
|
|
||||||
|
|
||||||
|
; ********************************
|
||||||
|
; SENSORS PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
|
||||||
|
; Define the motherboard monitoring program
|
||||||
|
; We support the following programs so far
|
||||||
|
; - HDDtemp http://www.guzu.net/linux/hddtemp.php (Linux)
|
||||||
|
; - LMSensors http://www.lm-sensors.org/ (Linux)
|
||||||
|
; - Healthd http://healthd.thehousleys.net/ (FreeBSD)
|
||||||
|
; - HWSensors http://www.openbsd.org/ (OpenBSD)
|
||||||
|
; - MBMon http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html (FreeBSD/Linux/NetBSD/OpenBSD)
|
||||||
|
; - MBM5 http://mbm.livewiredev.com/ (data from file data/MBM5.csv - WinNT)
|
||||||
|
; - CpuMem No addon tool neded (FreeBSD/Linux/WinNT or others but with the dmidecode utility installed)
|
||||||
|
; - IPMItool http://ipmitool.sourceforge.net/ (Linux)
|
||||||
|
; - FreeIPMI http://www.gnu.org/software/freeipmi/ (FreeBSD/Linux/OpenBSD/SunOS)
|
||||||
|
; - IPMIutil http://ipmiutil.sourceforge.net/ (Darwin/FreeBSD/Linux/SunOS/WinNT)
|
||||||
|
; - IPMIcfg http://www.supermicro.com/en/solutions/management-software/ipmi-utilities (Linux/WinNT)
|
||||||
|
; - K8Temp http://hur.st/k8temp/ (DragonFly/FreeBSD/NetBSD/OpenBSD)
|
||||||
|
; - PiTemp No addon tool neded (Raspberry Pi and Banana Pi - Linux)
|
||||||
|
; - OHM http://openhardwaremonitor.org/ (WinNT)
|
||||||
|
; - ThermalZone No addon tool neded (WinNT/Linux/Android)
|
||||||
|
; - QTSsnmp SNMP service enabled and snmp-utils package installed: opkg install snmp-utils (QNAP - QTS Linux)
|
||||||
|
; - Hwmon No addon tool neded (Linux)
|
||||||
|
; - SpeedFan http://www.almico.com/speedfan.php (required tool packaged in: tools/speedfan/SpeedFanGet_bin.zip) (WinNT)
|
||||||
|
; - Thinkpad No addon tool neded (Lenovo Thinkpad - Linux)
|
||||||
|
; - NvidiaSMI Nvidia GPU drivers (FreeBSD/Linux/SunOS/WinNT)
|
||||||
|
;
|
||||||
|
; Example: If you want to use lmsensors : SENSOR_PROGRAM="LMSensors"
|
||||||
|
; If you want to use lmsensors and IPMItool: SENSOR_PROGRAM="LMSensors,IPMItool"
|
||||||
|
;
|
||||||
|
SENSOR_PROGRAM="PiTemp"
|
||||||
|
|
||||||
|
|
||||||
|
; Show events of sensors
|
||||||
|
; - true : show events
|
||||||
|
; - false : do not show events
|
||||||
|
;
|
||||||
|
SENSOR_EVENTS=true
|
||||||
|
|
||||||
|
|
||||||
|
; Sort sensors list
|
||||||
|
;
|
||||||
|
SORT_SENSORS_LIST=false
|
||||||
|
|
||||||
|
|
||||||
|
; Some sensors programs contain an additional configuration in the relevant sections [sensor_...]
|
||||||
|
|
||||||
|
|
||||||
|
; ********************************
|
||||||
|
; FILESYSTEM PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
|
||||||
|
; Show mount point
|
||||||
|
; - true : show mount point
|
||||||
|
; - false : do not show mount point
|
||||||
|
;
|
||||||
|
SHOW_MOUNT_POINT=true
|
||||||
|
|
||||||
|
|
||||||
|
; Show mount option
|
||||||
|
; - true : show mount option
|
||||||
|
; - false : do not show mount option
|
||||||
|
;
|
||||||
|
SHOW_MOUNT_OPTION=true
|
||||||
|
|
||||||
|
|
||||||
|
; Show mount credentials
|
||||||
|
; - true : show mount credentials
|
||||||
|
; - false : do not show mount credentials
|
||||||
|
;
|
||||||
|
SHOW_MOUNT_CREDENTIALS=false
|
||||||
|
|
||||||
|
|
||||||
|
; Show inode usage
|
||||||
|
; - true : display used inodes in percent
|
||||||
|
; - false : hide them
|
||||||
|
;
|
||||||
|
SHOW_INODES=true
|
||||||
|
|
||||||
|
|
||||||
|
; Hide mounts
|
||||||
|
; Example : HIDE_MOUNTS="/home,/usr"
|
||||||
|
;
|
||||||
|
HIDE_MOUNTS=""
|
||||||
|
|
||||||
|
|
||||||
|
; Filesystem usage warning threshold in percent
|
||||||
|
; - 0 : disabled
|
||||||
|
; - 90 : 90%
|
||||||
|
; Default is 90%
|
||||||
|
;
|
||||||
|
FS_USAGE_THRESHOLD=90
|
||||||
|
|
||||||
|
|
||||||
|
; Ignore usage and usage threshold for filesystem types
|
||||||
|
; Example : IGNORE_THRESHOLD_FS_TYPES="packagefs, iso9660, squashfs, devfs, devtmpfs, tmpfs, lxfs, udf, UDF, CDFS"
|
||||||
|
;
|
||||||
|
IGNORE_THRESHOLD_FS_TYPES="packagefs, iso9660, squashfs, devfs, devtmpfs, tmpfs, lxfs, udf, UDF, CDFS"
|
||||||
|
|
||||||
|
|
||||||
|
; Ignore usage of mounts
|
||||||
|
; Example : IGNORE_USAGE="/root,/mnt/c"
|
||||||
|
;
|
||||||
|
IGNORE_USAGE=""
|
||||||
|
|
||||||
|
|
||||||
|
; Ignore total size of mounts
|
||||||
|
; Example : IGNORE_TOTAL="/System/Volumes/VM,/System/Volumes/Prebot"
|
||||||
|
;
|
||||||
|
IGNORE_TOTAL=""
|
||||||
|
|
||||||
|
|
||||||
|
; Ignore free space size of mounts
|
||||||
|
; Example : IGNORE_FREE="/zfs/space,/zfs/data"
|
||||||
|
;
|
||||||
|
IGNORE_FREE=""
|
||||||
|
|
||||||
|
|
||||||
|
; Hide filesystem types
|
||||||
|
; Example : HIDE_FS_TYPES="tmpfs,devtmpfs,usbfs,bstfolder"
|
||||||
|
;
|
||||||
|
HIDE_FS_TYPES=""
|
||||||
|
|
||||||
|
|
||||||
|
; Hide partitions
|
||||||
|
; Example : HIDE_DISKS="rootfs,/dev/sda1"
|
||||||
|
; HIDE_DISKS=true //hide all partitions
|
||||||
|
;
|
||||||
|
HIDE_DISKS=""
|
||||||
|
|
||||||
|
|
||||||
|
; Hide totals information
|
||||||
|
;
|
||||||
|
HIDE_TOTALS=false
|
||||||
|
|
||||||
|
|
||||||
|
; ********************************
|
||||||
|
; NETWORK PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
|
||||||
|
; Hide network interfaces
|
||||||
|
; Example : HIDE_NETWORK_INTERFACE="eth0,sit0"
|
||||||
|
; HIDE_NETWORK_INTERFACE=true //hide all network interfaces
|
||||||
|
;
|
||||||
|
HIDE_NETWORK_INTERFACE=""
|
||||||
|
|
||||||
|
|
||||||
|
; Use a regular expression in the name of a hidden network interface (e.g. HIDE_NETWORK_INTERFACE="docker.*")
|
||||||
|
; - true : use a regular expression
|
||||||
|
; - false : do not use a regular expression
|
||||||
|
;
|
||||||
|
HIDE_NETWORK_INTERFACE_REGEX=false
|
||||||
|
|
||||||
|
|
||||||
|
; Show network interfaces infos for Linux, Android, FreeBSD, NetBSD, OpenBSD, Haiku, Darwin, SunOS, Minix, QNX and WinNT
|
||||||
|
; Example : SHOW_NETWORK_INFOS=true
|
||||||
|
;
|
||||||
|
SHOW_NETWORK_INFOS=true
|
||||||
|
|
||||||
|
|
||||||
|
; Hide MAC address in the infos
|
||||||
|
;
|
||||||
|
HIDE_NETWORK_MACADDR=false
|
||||||
|
|
||||||
|
|
||||||
|
; Sort network interfaces list
|
||||||
|
;
|
||||||
|
SORT_NETWORK_INTERFACES_LIST=false
|
||||||
|
|
||||||
|
|
||||||
|
; Show network infos expanded
|
||||||
|
;
|
||||||
|
SHOW_NETWORK_INFOS_EXPANDED=false
|
||||||
|
|
||||||
|
|
||||||
|
; Show network active speed
|
||||||
|
; - true : display network active speed
|
||||||
|
; - "bps" : display network active speed in bits per second (b/s, Kb/s, etc...)
|
||||||
|
; - false : hide them
|
||||||
|
;
|
||||||
|
SHOW_NETWORK_ACTIVE_SPEED=false
|
||||||
|
|
||||||
|
|
||||||
|
; ********************************
|
||||||
|
; UPS PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
|
||||||
|
; Define the ups monitoring program
|
||||||
|
; We support the following programs so far
|
||||||
|
; - Apcupsd http://www.apcupsd.com/
|
||||||
|
; - Nut http://www.networkupstools.org/
|
||||||
|
; - SNMPups monitoring via Simple Network Management Protocol (SNMP)
|
||||||
|
; - PowerSoftPlus http://ever.eu/
|
||||||
|
; - pmset based on the result of the command "pmset -g batt" on Darwin system
|
||||||
|
;
|
||||||
|
; Example: If you want to use Apcupsd : UPS_PROGRAM="Apcupsd"
|
||||||
|
; If you want to use Apcupsd and Nut : UPS_PROGRAM="Apcupsd,Nut"
|
||||||
|
;
|
||||||
|
UPS_PROGRAM=false
|
||||||
|
|
||||||
|
|
||||||
|
; Apcupsd supports multiple UPSes
|
||||||
|
; You can specify comma delimited list in the form <hostname>:<port> or <ip>:<port>. The defaults are: "127.0.0.1:3551"
|
||||||
|
; See the following parameters in apcupsd.conf: NETSERVER, NISIP, NISPORT
|
||||||
|
; It uses the defaults if not specified.
|
||||||
|
;
|
||||||
|
UPS_APCUPSD_LIST=false
|
||||||
|
|
||||||
|
|
||||||
|
; define how to access the Apcupsd data
|
||||||
|
; - "command" execute apcaccess command
|
||||||
|
; - "data" for reading data from file data/upsapcupsd{ups_number}.tmp
|
||||||
|
; content is the output from "apcaccess status"
|
||||||
|
;
|
||||||
|
UPS_APCUPSD_ACCESS="command"
|
||||||
|
|
||||||
|
|
||||||
|
; Apcupsd has a CGI monitoring utility called apcupsd-cgi
|
||||||
|
; You can set the parameter below to true if you have it installed - this will add apcupsd-cgi links to the UPS tree
|
||||||
|
;
|
||||||
|
UPS_APCUPSD_CGI_ENABLE=false
|
||||||
|
|
||||||
|
|
||||||
|
; Nut supports multiple UPSes
|
||||||
|
; You can specify comma delimited list in the form <hostname>:<port> or <ip>:<port>. The defaults are: "127.0.0.1:3493"
|
||||||
|
; See the following parameters in upsd.conf: LISTEN
|
||||||
|
; It uses the defaults if not specified.
|
||||||
|
;
|
||||||
|
UPS_NUT_LIST=false
|
||||||
|
|
||||||
|
|
||||||
|
; define how to access the Nut data
|
||||||
|
; - "command" execute upsc command
|
||||||
|
; - "data" for reading data from file data/upsnut{ups_number}.tmp
|
||||||
|
; content is the output from "upsc {upsname}"
|
||||||
|
;
|
||||||
|
UPS_NUT_ACCESS="command"
|
||||||
|
|
||||||
|
|
||||||
|
; SNMPups supports multiple UPSes
|
||||||
|
; You can specify comma delimited list in the form <hostname>:<port> or <ip>:<port>. The default port is 161
|
||||||
|
; List must be specified.
|
||||||
|
;
|
||||||
|
UPS_SNMPUPS_LIST=false
|
||||||
|
|
||||||
|
|
||||||
|
; define how to access the SNMP data
|
||||||
|
; - "php-snmp" execute php snmprealwalk function (php-snmp module must be installed)
|
||||||
|
; - "command" execute snmpwalk command
|
||||||
|
; - "data" for reading data from file data/upssnmpups{ups_number}.tmp
|
||||||
|
; content is the output from:
|
||||||
|
; "snmpwalk -Ona -c public -v 1 -r 0 -t 3 {upsaddress} .1.3.6.1.4.1.318.1.1.1.1>upssnmpups{ups_number}.tmp
|
||||||
|
; snmpwalk -Ona -c public -v 1 -r 0 -t 3 {upsaddress} .1.3.6.1.4.1.318.1.1.1.2>>upssnmpups{ups_number}.tmp
|
||||||
|
; snmpwalk -Ona -c public -v 1 -r 0 -t 3 {upsaddress} .1.3.6.1.4.1.318.1.1.1.3>>upssnmpups{ups_number}.tmp
|
||||||
|
; snmpwalk -Ona -c public -v 1 -r 0 -t 3 {upsaddress} .1.3.6.1.4.1.318.1.1.1.4>>upssnmpups{ups_number}.tmp"
|
||||||
|
;
|
||||||
|
UPS_SNMPUPS_ACCESS="php-snmp"
|
||||||
|
|
||||||
|
|
||||||
|
; define how to access the PowerSoftPlus data
|
||||||
|
; - "command" execute powersoftplus command
|
||||||
|
; - "data" for reading data from file data/upspowersoftplus.tmp
|
||||||
|
; content is the output from "powersoftplus -p"
|
||||||
|
;
|
||||||
|
UPS_POWERSOFTPLUS_ACCESS="command"
|
||||||
|
|
||||||
|
|
||||||
|
; define how to access the pmset data
|
||||||
|
; - "command" execute pmset command
|
||||||
|
; - "data" for reading data from file data/upspmset.tmp
|
||||||
|
; content is the output from "pmset -g batt"
|
||||||
|
;
|
||||||
|
UPS_PMSET_ACCESS="command"
|
||||||
|
|
||||||
|
|
||||||
|
; ********************************
|
||||||
|
; MISC PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
|
||||||
|
; define how to access the dmidecode data
|
||||||
|
; - "data" read data from file data/dmidecode.tmp; content is the output from "dmidecode -t 17")
|
||||||
|
; - "command" execute command: dmidecode -t 17
|
||||||
|
; If access error try execute first: chmod 4755 /usr/sbin/dmidecode
|
||||||
|
; This method is not recommended for safety reasons!
|
||||||
|
;
|
||||||
|
DMIDECODE_ACCESS="command"
|
||||||
|
|
||||||
|
|
||||||
|
; ********************************
|
||||||
|
; SENSORS PROGRAMS PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
|
||||||
|
[sensor_hddtemp]
|
||||||
|
; Hddtemp motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; If the hddtemp program is available we can read the temperature, if hdd is smart capable
|
||||||
|
; !!ATTENTION!! hddtemp might be a security issue
|
||||||
|
; - ACCESS="command" //read data from 'hddtemp' command (must be set suid)
|
||||||
|
; - ACCESS="tcp" //read data from hddtemp deamon (localhost:7634)
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_lmsensors]
|
||||||
|
; LMSensors motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'sensors' command
|
||||||
|
; - ACCESS="data" //read data from file data/lmsensors.tmp
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_healthd]
|
||||||
|
; Healthd motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'healthdc' command
|
||||||
|
; - ACCESS="data" //read data from file data/healthd.tmp
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_mbmon]
|
||||||
|
; MBMon motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'mbmon -c 1 -r' command
|
||||||
|
; - ACCESS="data" //read data from file data/mbmon.tmp
|
||||||
|
; - ACCESS="tcp" //read data from mbmon deamon (localhost:411)
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_ipmitool]
|
||||||
|
; IPMItool motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'ipmitool sensor -v' command
|
||||||
|
; //if access error execute first: chmod 666 /dev/ipmi0
|
||||||
|
; - ACCESS="data" //read data from file data/ipmitool.tmp
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_freeipmi]
|
||||||
|
; FreeIPMI motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'ipmi-sensors --output-sensor-thresholds' program
|
||||||
|
; - ACCESS="data" //read data from file data/freeipmi.tmp
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_ipmiutil]
|
||||||
|
; IPMIutil motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'ipmiutil sensor -stw' command
|
||||||
|
; //if access error execute first: chmod 666 /dev/ipmi0
|
||||||
|
; - ACCESS="data" //read data from file data/ipmiutil.tmp
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_ipmicfg]
|
||||||
|
; IPMIcfg motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'ipmicfg -sdr' and/or 'ipmicfg -psfruinfo' command
|
||||||
|
; - ACCESS="data" //read data from file data/ipmicfg.tmp (output from: "ipmicfg -sdr>ipmicfg.tmp; ipmicfg -psfruinfo>>ipmicfg.tmp")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
; Execute power supply FRU health info
|
||||||
|
; - true : execute 'ipmicfg --psfruinfo'
|
||||||
|
; - false : don't execute 'ipmicfg --psfruinfo'
|
||||||
|
; - "only" : execute 'ipmicfg --psfruinfo' and don't execute 'ipmicfg -sdr'
|
||||||
|
;
|
||||||
|
PSFRUINFO=true
|
||||||
|
|
||||||
|
[sensor_k8temp]
|
||||||
|
; K8Temp motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'k8temp' command
|
||||||
|
; - ACCESS="data" //read data from file data/k8temp.tmp
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_thermalzone]
|
||||||
|
; ThermalZone motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //on Linux information is retrieved everytime through system files / on WinNT information is retrieved everytime through WMI
|
||||||
|
; - ACCESS="data" //read data from file data/thermalzone.tmp (output of WinNT command "wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CriticalTripPoint,CurrentTemperature,InstanceName")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_speedfan]
|
||||||
|
; SpeedFan motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'speedfanget' command
|
||||||
|
; - ACCESS="data" //read data from file data/speedfan.tmp
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[sensor_nvidiasmi]
|
||||||
|
; NvidiaSMI motherboard monitoring program configuration
|
||||||
|
;
|
||||||
|
; - ACCESS="command" //read data from 'nvidia-smi -q' command
|
||||||
|
; - ACCESS="data" //read data from file data/nvidiasmi.tmp
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
;The path to nvidia-smi.exe for the WinNT system
|
||||||
|
;
|
||||||
|
EXE_PATH="c:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe"
|
||||||
|
|
||||||
|
|
||||||
|
; ********************************
|
||||||
|
; PLUGINS PARAMETERS
|
||||||
|
; ********************************
|
||||||
|
|
||||||
|
|
||||||
|
[bat]
|
||||||
|
; BAT Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the battery statistic data
|
||||||
|
; - "command" on Linux and Android read data from /proc/acpi/battery/BAT0/info and /proc/acpi/battery/BAT0/state
|
||||||
|
; or on newer kernel from /sys/class/power_supply/
|
||||||
|
; or from 'upower -d' command (if UPOWER is true)
|
||||||
|
; on Android read data from /sys/class/power_supply/
|
||||||
|
; on Darwin read data from 'ioreg -w0 -l -n AppleSmartBattery -r' command
|
||||||
|
; on FreeBSD read data from 'acpiconf -i batt' command
|
||||||
|
; on OpenBSD read data from 'sysctl hw.sensors.acpibat0' command
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation
|
||||||
|
; with the filename "bat_info.tmp" and "bat_state.tmp"; content is the output
|
||||||
|
; from "cat /proc/acpi/battery/BAT0/info" and "cat /proc/acpi/battery/BAT0/state")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
; on Lunux try executing 'upower -d' command
|
||||||
|
;
|
||||||
|
UPOWER=false
|
||||||
|
|
||||||
|
; Show battery serial number
|
||||||
|
;
|
||||||
|
SHOW_SERIAL=false
|
||||||
|
|
||||||
|
|
||||||
|
[raid]
|
||||||
|
; Raid Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the raid statistic data
|
||||||
|
; - "command" - mdstat: file "/proc/mdstat" is read (on Linux only)
|
||||||
|
; - dmraid: command "dmraid -s -vv 2>&1" is run (on Linux only)
|
||||||
|
; If access error try execute first: chmod 4755 /sbin/dmraid
|
||||||
|
; This method is not recommended for safety reasons!
|
||||||
|
; - megactl: command "megactl" (on Linux only)
|
||||||
|
; downloaded from http://sourceforge.net/projects/megactl/ or http://github.com/hmage/megactl
|
||||||
|
; If permission error try execute first: chmod 4755 /usr/sbin/megactl
|
||||||
|
; - megasasctl: command "megasasctl" (on Linux only)
|
||||||
|
; downloaded from http://sourceforge.net/projects/megactl/ or http://github.com/hmage/megactl
|
||||||
|
; If permission error try execute first: chmod 4755 /usr/sbin/megasasctl
|
||||||
|
; - megaclisas-status: command "megaclisas-status" (or "megaclisas-status.py" on WinNT)
|
||||||
|
; downloaded from http://hwraid.le-vert.net or https://github.com/eLvErDe/hwraid (Python 2) or https://github.com/ElCoyote27/hwraid (Python 3)
|
||||||
|
; - 3ware-status: command "3ware-status" (or 3ware-status.py" on WinNT)
|
||||||
|
; downloaded from http://hwraid.le-vert.net or https://github.com/eLvErDe/hwraid or https://github.com/ElCoyote27/hwraid
|
||||||
|
; - graid: command "graid list" is run (on FreeBSD only)
|
||||||
|
; - zpool: command "zpool status" is run
|
||||||
|
; - idrac: command "snmpwalk -Ona -c public -v 1 -r 0 -t 3 {device} .1.3.6.1.4.1.674.10892.5.5.1.20" is run
|
||||||
|
; - "php-snmp"- idrac: execute php snmprealwalk function (php-snmp module must be installed)
|
||||||
|
; - for others the option is inactive (uses "command" instead)
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation
|
||||||
|
; with the filename "raidmdstat.tmp" or "raiddmraid.tmp" or "raidmegactl.tmp" or "raidmegasasctl.tmp"
|
||||||
|
; or "raidmegaclisas-status.tmp" or "raidgraid.tmp" or "raidzpool.tmp" or "raididrac{device_number}.tmp")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
; define possible programs
|
||||||
|
PROGRAM="mdstat,dmraid,megactl,megasasctl,megaclisas-status,3ware-status,graid,zpool,idrac"
|
||||||
|
|
||||||
|
; Hide RAID devices
|
||||||
|
; Example : HIDE_DEVICES="md127"
|
||||||
|
;
|
||||||
|
HIDE_DEVICES=""
|
||||||
|
|
||||||
|
;
|
||||||
|
; string contains a list of IDRAC devices that are checked
|
||||||
|
; Example : IDRAC_DEVICES="192.168.0.120"
|
||||||
|
;
|
||||||
|
IDRAC_DEVICES=""
|
||||||
|
|
||||||
|
[ps]
|
||||||
|
; PS Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the ps statistic data
|
||||||
|
; - "command" ps command is run everytime the block gets refreshed or build / on WinNT
|
||||||
|
; information is retrieved everytime through WMI
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation
|
||||||
|
; with the filename "ps.tmp"; content is the output from "ps -axo pid,ppid,pmem,pcpu,args")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
; Memory Usage info
|
||||||
|
;
|
||||||
|
MEMORY_USAGE=true
|
||||||
|
|
||||||
|
; CPU Usage info
|
||||||
|
;
|
||||||
|
CPU_USAGE=true
|
||||||
|
|
||||||
|
; Show kthreadd child list expanded
|
||||||
|
;
|
||||||
|
SHOW_KTHREADD_EXPANDED=false
|
||||||
|
|
||||||
|
; Show PID 1 child list expanded
|
||||||
|
;
|
||||||
|
SHOW_PID1CHILD_EXPANDED=false
|
||||||
|
|
||||||
|
|
||||||
|
[psstatus]
|
||||||
|
; PSStatus Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the psstatus statistic data
|
||||||
|
; - "command" pidof command is run everytime the block gets refreshed or build
|
||||||
|
; / on WinNT information is retrieved everytime through WMI
|
||||||
|
; - "data" a file must be available in the data directory of the phpsysinfo installation
|
||||||
|
; with the filename "psstatus.tmp"; content is the output from
|
||||||
|
; <code>for ps in "apache2" "mysqld" "sshd"; do echo $ps "|" `pidof -s -x "$ps"`; done</code>
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
; Regular expression search in the process name (e.g. "ddclient.*") for non-WinNT systems
|
||||||
|
; - true : Regular expression search (used pgrep command)
|
||||||
|
; - false : Normal search (used pidof command)
|
||||||
|
;
|
||||||
|
USE_REGEX=false
|
||||||
|
|
||||||
|
; controls which processes are checked if they are running
|
||||||
|
;
|
||||||
|
; string contains a list of process names that are checked, names are seperated by a comma (on WinNT names must end with '.exe')
|
||||||
|
;
|
||||||
|
PROCESSES="mysqld, sshd, explorer.exe"
|
||||||
|
|
||||||
|
|
||||||
|
[quotas]
|
||||||
|
; Quotas Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the repquota statistic data
|
||||||
|
; - "command" repquota command is run everytime the block gets refreshed or build
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation with the filename "quotas.tmp"; content is the output from "repquota -au")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
|
||||||
|
[smart]
|
||||||
|
; SMART Plugin configuration
|
||||||
|
|
||||||
|
; Smartctl program
|
||||||
|
; If the smartctl program is available we can read S.M.A.R.T informations
|
||||||
|
; - "command" smartctl command is run everytime the block gets refreshed or build
|
||||||
|
; if error: Smartctl open device: /dev/sda failed: Permission denied
|
||||||
|
; Not recommended method:
|
||||||
|
; execute: chmod 4755 /usr/sbin/smartctl
|
||||||
|
; Second method:
|
||||||
|
; try to set: SUDO_COMMANDS="smartctl" and add to file /etc/sudoers line: apache ALL = (ALL) NOPASSWD: /usr/sbin/smartctl
|
||||||
|
; - "data" (a file must be available in the data directory of the
|
||||||
|
; phpsysinfo installation with the filename "smart{disk_number}.tmp";
|
||||||
|
; content is the output from "smartctl --all device"
|
||||||
|
; or on WinNT only from "wmic /namespace:\\root\wmi path MSStorageDriver_ATAPISmartData get VendorSpecific | more +{disk_number}")
|
||||||
|
; - "wmi" information is retrieved everytime through WMI (WinNT only)
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
; Smartctl devices to monitor
|
||||||
|
; If the smartctl support is enabled, those disks information will be displayed
|
||||||
|
; - DEVICES="/dev/hda,/dev/hdb" //Will display those two disks informations
|
||||||
|
; You also can specify --device option value for smartctl command surrounded by parentheses eg:
|
||||||
|
; - DEVICES="(marvell)/dev/sda"
|
||||||
|
; or
|
||||||
|
; - DEVICES="(megaraid.0)/dev/sda" //comma in --device option value is replaced by a dot
|
||||||
|
;
|
||||||
|
DEVICES="/dev/sda, /dev/sdb"
|
||||||
|
|
||||||
|
; Smartctl ID# and column name from "Vendor Specific SMART Attributes with Thresholds" table
|
||||||
|
; If the smartctl support is enabled, enter the ID#-COLUMN_NAME from "Vendor Specific SMART Attributes with Thresholds" table from smartctl output.
|
||||||
|
; or for no SCSI devices: ID#-COLUMN_NAME-REPLACEMENT_ID# where REPLACEMENT_ID# is an alternative ID number.
|
||||||
|
; COLUMN_NAME of this ID# will be displayed in the phpsysinfo S.M.A.R.T table. If you want RAW_VALUE to be displayed for the temperature (ID# 194) enter 194-RAW_VALUE
|
||||||
|
; - IDS="194-VALUE,4-VALUE,009-RAW_VALUE" //ID#-COLUMN_NAME, ID#-COLUMN_NAME, etc...
|
||||||
|
; The additional attributes:
|
||||||
|
; ATA Error Count is marked as 0-RAW_VALUE
|
||||||
|
; Non-medium Error Count is marked as 255-RAW_VALUE
|
||||||
|
;
|
||||||
|
IDS="005-RAW_VALUE,194-RAW_VALUE,009-RAW_VALUE,012-RAW_VALUE,193-RAW_VALUE-225,001-RAW_VALUE,007-RAW_VALUE,200-RAW_VALUE,197-RAW_VALUE,198-RAW_VALUE,0-RAW_VALUE"
|
||||||
|
|
||||||
|
|
||||||
|
[snmppinfo]
|
||||||
|
; SNMPPInfo Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the SNMP Printer Info statistic data
|
||||||
|
; - "php-snmp" execute php snmprealwalk function (php-snmp module must be installed)
|
||||||
|
; - "command" execute snmpwalk command
|
||||||
|
; - "data" a file must be available in the data directory of the
|
||||||
|
; phpsysinfo installation with the filename "snmppinfo{printer_number}.tmp";
|
||||||
|
; content is the output from:
|
||||||
|
; LANG=C LC_ALL=C snmpwalk -On -c public -v 1 -r 0 -t 3 {printer_address} .1.3.6.1.2.1.1.5 > snmppinfo{printer_number}.tmp
|
||||||
|
; LANG=C LC_ALL=C snmpwalk -On -c public -v 1 -r 0 -t 3 {printer_address} .1.3.6.1.4.1.367.3.2.1.2.24.1.1 >> snmppinfo{printer_number}.tmp
|
||||||
|
; LANG=C LC_ALL=C snmpwalk -On -c public -v 1 -r 0 -t 3 {printer_address} .1.3.6.1.2.1.43.11.1.1 >> snmppinfo{printer_number}.tmp
|
||||||
|
; LANG=C LC_ALL=C snmpwalk -On -c public -v 1 -r 0 -t 3 {printer_address} .1.3.6.1.2.1.43.18.1.1 >> snmppinfo{printer_number}.tmp
|
||||||
|
;
|
||||||
|
ACCESS="php-snmp"
|
||||||
|
|
||||||
|
;define the Printer devices
|
||||||
|
;
|
||||||
|
; string contains a list of printer addresses that are checked
|
||||||
|
;
|
||||||
|
DEVICES="192.168.0.5, 192.168.0.9"
|
||||||
|
|
||||||
|
|
||||||
|
[updatenotifier]
|
||||||
|
; Update Notifier Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the updatenotifier statistic data
|
||||||
|
; - "command" execute command /usr/lib/update-notifier/apt-check
|
||||||
|
; - "data" reads data from file defined in FILE parameter
|
||||||
|
;
|
||||||
|
ACCESS="data"
|
||||||
|
|
||||||
|
; define the update info file format
|
||||||
|
; - true: Ubuntu Landscape format (file: /var/lib/update-notifier/updates-available)
|
||||||
|
; - false: universal format (format: A;B)
|
||||||
|
; A: total packages to update
|
||||||
|
; B: security packages to update
|
||||||
|
;
|
||||||
|
UBUNTU_LANDSCAPE_FORMAT=true
|
||||||
|
|
||||||
|
; define the update info file. The default is: /var/lib/update-notifier/updates-available
|
||||||
|
;
|
||||||
|
FILE="/var/lib/update-notifier/updates-available"
|
||||||
|
|
||||||
|
|
||||||
|
[uprecords]
|
||||||
|
; Uprecords Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the uprecords statistic data
|
||||||
|
; - "command" uprecords command is run everytime the block gets refreshed or build
|
||||||
|
; if access error try execute first: chmod 4755 /usr/bin/uprecords
|
||||||
|
; This method is not recommended for safety reasons!
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation
|
||||||
|
; with the filename "uprecords.tmp"; content is the output from "TZ=GMT uprecords -a -w")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
; define the maximum number of entries to show (for command access)
|
||||||
|
; default is 10
|
||||||
|
;
|
||||||
|
MAX_ENTRIES = 10
|
||||||
|
|
||||||
|
; define the short mode (do not print extra statistics)
|
||||||
|
; default is false
|
||||||
|
;
|
||||||
|
SHORT_MODE = false
|
||||||
|
|
||||||
|
; denote current system session by asterisk (* at the end) instead by the arrow (-> at the beginning)
|
||||||
|
; default is false
|
||||||
|
;
|
||||||
|
DENOTE_BY_ASTERISK = false
|
||||||
|
|
||||||
|
|
||||||
|
[viewer]
|
||||||
|
; Viewer Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the data
|
||||||
|
; - "command" COMMAND command is run everytime the block gets refreshed or build
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation with the filename "viewer.tmp")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
; define COMMAND name (for command access)
|
||||||
|
; eg:
|
||||||
|
; - "iptables-save" iptables-save command is run everytime the block gets refreshed or build (Linux)
|
||||||
|
; if access error try to set: SUDO_COMMANDS="iptables-save" and add to file /etc/sudoers line: apache ALL = (ALL) NOPASSWD: /sbin/iptables-save
|
||||||
|
; - "systeminfo" systeminfo command is run everytime the block gets refreshed or build (WinNT)
|
||||||
|
;
|
||||||
|
|
||||||
|
COMMAND=""
|
||||||
|
|
||||||
|
; define COMMAND parameters (for command access)
|
||||||
|
;
|
||||||
|
PARAMS=""
|
||||||
|
|
||||||
|
[pingtest]
|
||||||
|
; PingTest Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the psstatus statistic data
|
||||||
|
; - "command" ping command is run everytime the block gets refreshed or build
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation
|
||||||
|
; with the filename "pingtest.tmp")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
;define the Addresses
|
||||||
|
;
|
||||||
|
; string contains a list of addresses that are checked
|
||||||
|
; Example : ADDRESSES="127.0.0.1,8.8.8.8"
|
||||||
|
;
|
||||||
|
ADDRESSES=""
|
||||||
|
|
||||||
|
; Define ping timeout in seconds
|
||||||
|
; - 0 : default ping command timeout
|
||||||
|
; - 3 : 3 seconds
|
||||||
|
; Default is 2 seconds
|
||||||
|
;
|
||||||
|
TIMEOUT=2
|
||||||
|
|
||||||
|
[stablebit]
|
||||||
|
; StableBit Plugin configuration
|
||||||
|
|
||||||
|
; Show or hide disks serial number
|
||||||
|
;
|
||||||
|
SHOW_SERIAL=false
|
||||||
|
|
||||||
|
[hyperv]
|
||||||
|
; HyperV Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the ps statistic data
|
||||||
|
; - "command" information is retrieved through WMI
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation
|
||||||
|
; with the filename "hyperv.tmp")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
|
|
||||||
|
[docker]
|
||||||
|
; Docker Plugin configuration
|
||||||
|
|
||||||
|
; define how to access the docker statistic data
|
||||||
|
; - "command" docker command is run everytime the block gets refreshed or build
|
||||||
|
; - "data" (a file must be available in the data directory of the phpsysinfo installation
|
||||||
|
; with the filename "docker.tmp"; content is the output from "docker stats --no-stream --format 'table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}\t{{.PIDs}}'")
|
||||||
|
;
|
||||||
|
ACCESS="command"
|
||||||
+8
-5
@@ -1,5 +1,8 @@
|
|||||||
# testing - 0.4
|
# newinstaller v0.7
|
||||||
## What's new
|
- Systemd networkd supported
|
||||||
- New desktop web interface
|
|
||||||
- Better support for public installations
|
# newinstaller v0.5
|
||||||
- Needs better documentation to explain how to set it up
|
- New `birdnet-pi-config` tool meant for:
|
||||||
|
- SSH-only installation
|
||||||
|
- Reconfiguring birdnet.conf
|
||||||
|
- Configuring system settings
|
||||||
|
|||||||
Reference in New Issue
Block a user