mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
Merge pull request #658 from bunkerity/dev
Merge branch "dev" into branch "staging"
This commit is contained in:
commit
65d0aa3a8a
55 changed files with 116 additions and 270 deletions
8
.github/workflows/test-core-linux.yml
vendored
8
.github/workflows/test-core-linux.yml
vendored
|
|
@ -28,10 +28,10 @@ jobs:
|
|||
sudo apt update
|
||||
sudo apt install --no-install-recommends -y openssl git nodejs tar bzip2 wget curl grep libx11-xcb1 libappindicator3-1 libasound2 libdbus-glib-1-2 libxtst6 libxt6 php-fpm unzip
|
||||
wget -O firefox-setup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64"
|
||||
tar -xjf firefox-setup.tar.bz2 -C /opt/
|
||||
sudo tar -xjf firefox-setup.tar.bz2 -C /opt/
|
||||
sudo rm -f /usr/bin/firefox
|
||||
sudo ln -s /opt/firefox/firefox /usr/bin/firefox
|
||||
sudo chmod 755 /opt/firefox
|
||||
sudo chmod 755 /opt/firefox/firefox
|
||||
sudo chmod 755 /opt/firefox /opt/firefox/firefox
|
||||
rm -f firefox-setup.tar.bz2
|
||||
- name: Download geckodriver
|
||||
uses: nick-fields/retry@v2
|
||||
|
|
@ -55,7 +55,7 @@ jobs:
|
|||
- name: Copy deb file to host
|
||||
run: |
|
||||
container_id=$(docker create "ghcr.io/bunkerity/ubuntu-tests:${{ inputs.RELEASE }}")
|
||||
docker cp "$container_id:/opt/bunkerweb_dev-1_amd64.deb" "/tmp/bunkerweb.deb"
|
||||
docker cp "$container_id:/opt/bunkerweb_${{ inputs.RELEASE }}-1_amd64.deb" "/tmp/bunkerweb.deb"
|
||||
docker rm "$container_id"
|
||||
- name: Install BunkerWeb
|
||||
run: |
|
||||
|
|
|
|||
8
.github/workflows/tests-ui-linux.yml
vendored
8
.github/workflows/tests-ui-linux.yml
vendored
|
|
@ -25,10 +25,10 @@ jobs:
|
|||
sudo apt update
|
||||
sudo apt install --no-install-recommends -y zip nodejs tar bzip2 wget curl grep libx11-xcb1 libappindicator3-1 libasound2 libdbus-glib-1-2 libxtst6 libxt6
|
||||
wget -O firefox-setup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64"
|
||||
tar -xjf firefox-setup.tar.bz2 -C /opt/
|
||||
sudo tar -xjf firefox-setup.tar.bz2 -C /opt/
|
||||
sudo rm -f /usr/bin/firefox
|
||||
sudo ln -s /opt/firefox/firefox /usr/bin/firefox
|
||||
sudo chmod 755 /opt/firefox
|
||||
sudo chmod 755 /opt/firefox/firefox
|
||||
sudo chmod 755 /opt/firefox /opt/firefox/firefox
|
||||
rm -f firefox-setup.tar.bz2
|
||||
- name: Download geckodriver
|
||||
uses: nick-fields/retry@v2
|
||||
|
|
@ -52,7 +52,7 @@ jobs:
|
|||
- name: Copy deb file to host
|
||||
run: |
|
||||
container_id=$(docker create "ghcr.io/bunkerity/ubuntu-tests:${{ inputs.RELEASE }}")
|
||||
docker cp "$container_id:/opt/bunkerweb_dev-1_amd64.deb" "/tmp/bunkerweb.deb"
|
||||
docker cp "$container_id:/opt/bunkerweb_${{ inputs.RELEASE }}-1_amd64.deb" "/tmp/bunkerweb.deb"
|
||||
docker rm "$container_id"
|
||||
- name: Install BunkerWeb
|
||||
run: |
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
mkdocs==1.5.3
|
||||
mkdocs-material==9.3.2
|
||||
pytablewriter==1.0.0
|
||||
mkdocs-material==9.4.2
|
||||
pytablewriter==1.1.0
|
||||
mike==1.1.2
|
||||
mkdocs-print-site-plugin==2.3.6
|
||||
|
|
@ -2,5 +2,5 @@ docker==6.1.3
|
|||
jinja2==3.1.2
|
||||
kubernetes==28.1.0
|
||||
python-dotenv==1.0.0
|
||||
redis==5.0.0
|
||||
redis==5.0.1
|
||||
requests==2.31.0
|
||||
|
|
|
|||
|
|
@ -257,9 +257,9 @@ pyyaml==6.0.1 \
|
|||
--hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
|
||||
--hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
|
||||
# via kubernetes
|
||||
redis==5.0.0 \
|
||||
--hash=sha256:06570d0b2d84d46c21defc550afbaada381af82f5b83e5b3777600e05d8e2ed0 \
|
||||
--hash=sha256:5cea6c0d335c9a7332a460ed8729ceabb4d0c489c7285b0a86dbbf8a017bd120
|
||||
redis==5.0.1 \
|
||||
--hash=sha256:0dab495cd5753069d3bc650a0dde8a8f9edde16fc5691b689a566eda58100d0f \
|
||||
--hash=sha256:ed4802971884ae19d640775ba3b03aa2e7bd5e8fb8dfaed2decce4d0fc48391f
|
||||
# via -r requirements.in
|
||||
requests==2.31.0 \
|
||||
--hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ RUN dnf install -y python39-pip brotli brotli-devel wget gperftools-devel perl l
|
|||
export MAKEFLAGS="-j$(nproc)" && \
|
||||
pip3.9 install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt
|
||||
|
||||
|
||||
# Copy files
|
||||
# can't exclude deps from . so we are copying everything by hand
|
||||
COPY src/bw/loading /usr/share/bunkerweb/loading
|
||||
|
|
@ -68,13 +67,10 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \
|
|||
echo "Linux" > /usr/share/bunkerweb/INTEGRATION && \
|
||||
mkdir -p /etc/bunkerweb/plugins && \
|
||||
for dir in $(echo "configs/http configs/stream configs/server-http configs/server-stream configs/default-server-http configs/default-server-stream configs/modsec configs/modsec-crs") ; do mkdir -p "/etc/bunkerweb/${dir}" ; done && \
|
||||
#It's a find command that will find all files in the bunkerweb directory, excluding the ui/deps directory, and then chmod them to 0740.
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
#It's a find command that will find all files in the bunkerweb directory, excluding the ui/deps directory, and then chmod them to 0740.
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
chmod -R 770 /var/cache/bunkerweb/ /var/lib/bunkerweb/ /etc/bunkerweb/ /var/tmp/bunkerweb/ /var/run/bunkerweb/ /var/log/bunkerweb/ && \
|
||||
chmod 750 /usr/share/bunkerweb/gen/main.py /usr/share/bunkerweb/scheduler/main.py /usr/share/bunkerweb/cli/main.py /usr/share/bunkerweb/helpers/*.sh /usr/share/bunkerweb/ui/main.py /var/www && \
|
||||
# Don't forget to add /var/www/html on the above line
|
||||
chmod 750 /usr/share/bunkerweb/gen/*.py /usr/share/bunkerweb/scheduler/*.py /usr/share/bunkerweb/cli/*.py /usr/share/bunkerweb/ui/*.py /usr/share/bunkerweb/ui/src/*.py /usr/share/bunkerweb/deps/python/bin/* /usr/share/bunkerweb/helpers/*.sh /var/www/ && \
|
||||
find /usr/share/bunkerweb/core/*/jobs/* -type f -exec chmod 750 {} \; && \
|
||||
chmod 755 /usr/share/bunkerweb
|
||||
|
||||
|
|
|
|||
|
|
@ -37,8 +37,7 @@ RUN apt install --no-install-recommends curl python3 python3-distutils python3-d
|
|||
bash /tmp/bunkerweb/deps/install.sh && \
|
||||
mkdir /usr/share/bunkerweb/deps/python && \
|
||||
export MAKEFLAGS="-j$(nproc)" && \
|
||||
pip install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt && \
|
||||
if [ ! -f /usr/share/bunkerweb/deps/python/zope/__init__.py ] ; then touch /usr/share/bunkerweb/deps/python/zope/__init__.py ; fi
|
||||
pip install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt
|
||||
|
||||
# Copy files
|
||||
# can't exclude deps from . so we are copying everything by hand
|
||||
|
|
@ -73,13 +72,10 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \
|
|||
echo "Linux" > /usr/share/bunkerweb/INTEGRATION && \
|
||||
mkdir -p /etc/bunkerweb/plugins && \
|
||||
for dir in $(echo "configs/http configs/stream configs/server-http configs/server-stream configs/default-server-http configs/default-server-stream configs/modsec configs/modsec-crs") ; do mkdir -p "/etc/bunkerweb/${dir}" ; done && \
|
||||
#It's a find command that will find all files in the bunkerweb directory, excluding the ui/deps directory, and then chmod them to 0740.
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
#It's a find command that will find all files in the bunkerweb directory, excluding the ui/deps directory, and then chmod them to 0740.
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
chmod -R 770 /var/cache/bunkerweb/ /var/lib/bunkerweb/ /etc/bunkerweb/ /var/tmp/bunkerweb/ /var/run/bunkerweb/ /var/log/bunkerweb/ && \
|
||||
chmod 750 /usr/share/bunkerweb/gen/main.py /usr/share/bunkerweb/scheduler/main.py /usr/share/bunkerweb/cli/main.py /usr/share/bunkerweb/helpers/*.sh /usr/share/bunkerweb/ui/main.py /var/www/ && \
|
||||
# Don't forget to add /var/www/html on the above line
|
||||
chmod 750 /usr/share/bunkerweb/gen/*.py /usr/share/bunkerweb/scheduler/*.py /usr/share/bunkerweb/cli/*.py /usr/share/bunkerweb/ui/*.py /usr/share/bunkerweb/ui/src/*.py /usr/share/bunkerweb/deps/python/bin/* /usr/share/bunkerweb/helpers/*.sh /var/www/ && \
|
||||
find /usr/share/bunkerweb/core/*/jobs/* -type f -exec chmod 750 {} \; && \
|
||||
chmod 755 /usr/share/bunkerweb
|
||||
|
||||
|
|
|
|||
|
|
@ -34,8 +34,7 @@ RUN dnf install -y --setopt=install_weak_deps=False python3 python3-devel brotli
|
|||
bash /tmp/bunkerweb/deps/install.sh && \
|
||||
mkdir /usr/share/bunkerweb/deps/python && \
|
||||
export MAKEFLAGS="-j$(nproc)" && \
|
||||
pip install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt && \
|
||||
if [ ! -f /usr/share/bunkerweb/deps/python/zope/__init__.py ] ; then touch /usr/share/bunkerweb/deps/python/zope/__init__.py ; fi
|
||||
pip install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt
|
||||
|
||||
# Copy files
|
||||
# can't exclude deps from . so we are copying everything by hand
|
||||
|
|
@ -69,10 +68,10 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \
|
|||
echo "Linux" > /usr/share/bunkerweb/INTEGRATION && \
|
||||
mkdir -p /etc/bunkerweb/plugins && \
|
||||
for dir in $(echo "configs/http configs/stream configs/server-http configs/server-stream configs/default-server-http configs/default-server-stream configs/modsec configs/modsec-crs") ; do mkdir -p "/etc/bunkerweb/${dir}" ; done && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
chmod -R 770 /var/cache/bunkerweb/ /var/lib/bunkerweb/ /etc/bunkerweb/ /var/tmp/bunkerweb/ /var/run/bunkerweb/ /var/log/bunkerweb/ && \
|
||||
chmod 750 /usr/share/bunkerweb/gen/main.py /usr/share/bunkerweb/scheduler/main.py /usr/share/bunkerweb/cli/main.py /usr/share/bunkerweb/helpers/*.sh /usr/share/bunkerweb/ui/main.py /var/www/ && \
|
||||
chmod 750 /usr/share/bunkerweb/gen/*.py /usr/share/bunkerweb/scheduler/*.py /usr/share/bunkerweb/cli/*.py /usr/share/bunkerweb/ui/*.py /usr/share/bunkerweb/ui/src/*.py /usr/share/bunkerweb/deps/python/bin/* /usr/share/bunkerweb/helpers/*.sh /var/www/ && \
|
||||
find /usr/share/bunkerweb/core/*/jobs/* -type f -exec chmod 750 {} \; && \
|
||||
chmod 755 /usr/share/bunkerweb
|
||||
|
||||
|
|
|
|||
|
|
@ -48,8 +48,7 @@ RUN dnf install -y --setopt=install_weak_deps=False readline-devel python39 pyth
|
|||
bash /tmp/bunkerweb/deps/install.sh && \
|
||||
mkdir /usr/share/bunkerweb/deps/python && \
|
||||
export MAKEFLAGS="-j$(nproc)" && \
|
||||
pip install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt && \
|
||||
if [ ! -f /usr/share/bunkerweb/deps/python/zope/__init__.py ] ; then touch /usr/share/bunkerweb/deps/python/zope/__init__.py ; fi
|
||||
pip install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt
|
||||
|
||||
# Copy BW files
|
||||
# can't exclude deps from . so we are copying everything by hand
|
||||
|
|
@ -83,10 +82,10 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \
|
|||
echo "Linux" > /usr/share/bunkerweb/INTEGRATION && \
|
||||
mkdir -p /etc/bunkerweb/plugins && \
|
||||
for dir in $(echo "configs/http configs/stream configs/server-http configs/server-stream configs/default-server-http configs/default-server-stream configs/modsec configs/modsec-crs") ; do mkdir -p "/etc/bunkerweb/${dir}" ; done && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
chmod -R 770 /var/cache/bunkerweb/ /var/lib/bunkerweb/ /etc/bunkerweb/ /var/tmp/bunkerweb/ /var/run/bunkerweb/ /var/log/bunkerweb/ && \
|
||||
chmod 750 /usr/share/bunkerweb/gen/main.py /usr/share/bunkerweb/scheduler/main.py /usr/share/bunkerweb/cli/main.py /usr/share/bunkerweb/helpers/*.sh /usr/share/bunkerweb/ui/main.py /var/www/ && \
|
||||
chmod 750 /usr/share/bunkerweb/gen/*.py /usr/share/bunkerweb/scheduler/*.py /usr/share/bunkerweb/cli/*.py /usr/share/bunkerweb/ui/*.py /usr/share/bunkerweb/ui/src/*.py /usr/share/bunkerweb/deps/python/bin/* /usr/share/bunkerweb/helpers/*.sh /var/www/ && \
|
||||
find /usr/share/bunkerweb/core/*/jobs/* -type f -exec chmod 750 {} \; && \
|
||||
chmod 755 /usr/share/bunkerweb
|
||||
|
||||
|
|
|
|||
|
|
@ -38,8 +38,7 @@ RUN apt install --no-install-recommends bash libssl-dev git libpcre++-dev zlib1g
|
|||
bash /tmp/bunkerweb/deps/install.sh && \
|
||||
mkdir /usr/share/bunkerweb/deps/python && \
|
||||
export MAKEFLAGS="-j$(nproc)" && \
|
||||
pip install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt && \
|
||||
if [ ! -f /usr/share/bunkerweb/deps/python/zope/__init__.py ] ; then touch /usr/share/bunkerweb/deps/python/zope/__init__.py ; fi
|
||||
pip install --no-cache-dir --require-hashes --target /usr/share/bunkerweb/deps/python -r /usr/share/bunkerweb/deps/requirements.txt
|
||||
|
||||
# Copy files
|
||||
# can't exclude deps from . so we are copying everything by hand
|
||||
|
|
@ -73,10 +72,10 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \
|
|||
echo "Linux" > /usr/share/bunkerweb/INTEGRATION && \
|
||||
mkdir -p /etc/bunkerweb/plugins && \
|
||||
for dir in $(echo "configs/http configs/stream configs/server-http configs/server-stream configs/default-server-http configs/default-server-stream configs/modsec configs/modsec-crs") ; do mkdir -p "/etc/bunkerweb/${dir}" ; done && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/ui/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type f -exec chmod 0740 {} \; && \
|
||||
find /usr/share/bunkerweb -path /usr/share/bunkerweb/deps -prune -o -type d -exec chmod 0750 {} \; && \
|
||||
chmod -R 770 /var/cache/bunkerweb/ /var/lib/bunkerweb/ /etc/bunkerweb/ /var/tmp/bunkerweb/ /var/run/bunkerweb/ /var/log/bunkerweb/ && \
|
||||
chmod 750 /usr/share/bunkerweb/gen/main.py /usr/share/bunkerweb/scheduler/main.py /usr/share/bunkerweb/cli/main.py /usr/share/bunkerweb/helpers/*.sh /usr/share/bunkerweb/ui/main.py /var/www/ && \
|
||||
chmod 750 /usr/share/bunkerweb/gen/*.py /usr/share/bunkerweb/scheduler/*.py /usr/share/bunkerweb/cli/*.py /usr/share/bunkerweb/ui/*.py /usr/share/bunkerweb/ui/src/*.py /usr/share/bunkerweb/deps/python/bin/* /usr/share/bunkerweb/helpers/*.sh /var/www/ && \
|
||||
find /usr/share/bunkerweb/core/*/jobs/* -type f -exec chmod 750 {} \; && \
|
||||
chmod 755 /usr/share/bunkerweb
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Set the PYTHONPATH
|
||||
export PYTHONPATH=/usr/share/bunkerweb/deps/python:/usr/share/bunkerweb/ui
|
||||
export PYTHONPATH=/usr/share/bunkerweb/deps/python/:/usr/share/bunkerweb/ui/
|
||||
|
||||
# Create the ui.env file if it doesn't exist
|
||||
if [ ! -f /etc/bunkerweb/ui.env ]; then
|
||||
|
|
@ -12,10 +12,16 @@ fi
|
|||
# Function to start the UI
|
||||
start() {
|
||||
echo "Starting UI"
|
||||
source /etc/bunkerweb/ui.env
|
||||
export $(cat /etc/bunkerweb/ui.env)
|
||||
python3 -m gunicorn --config /usr/share/bunkerweb/ui/gunicorn.conf.py --user nginx --group nginx --bind 127.0.0.1:7000 &
|
||||
echo $! > /var/run/bunkerweb/ui.pid
|
||||
python3 -m gunicorn \
|
||||
--config /usr/share/bunkerweb/ui/gunicorn.conf.py \
|
||||
--pythonpath /usr/share/bunkerweb/deps/python/,/usr/share/bunkerweb/ui/ \
|
||||
--user nginx \
|
||||
--group nginx \
|
||||
--bind "127.0.0.1:7000" &
|
||||
while ! [ -f "/var/run/bunkerweb/ui.pid" ]; do
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
# Function to stop the UI
|
||||
|
|
|
|||
|
|
@ -15,12 +15,6 @@ function do_and_check_cmd() {
|
|||
return 0
|
||||
}
|
||||
|
||||
#Start the nginx service if it is not already running
|
||||
# if ! systemctl is-active nginx; then
|
||||
# echo "Starting nginx service..."
|
||||
# do_and_check_cmd systemctl start nginx
|
||||
# fi
|
||||
|
||||
# Give all the permissions to the nginx user
|
||||
echo "Setting ownership for all necessary directories to nginx user and group..."
|
||||
do_and_check_cmd chown -R nginx:nginx /usr/share/bunkerweb /var/cache/bunkerweb /var/lib/bunkerweb /etc/bunkerweb /var/tmp/bunkerweb /var/run/bunkerweb /var/log/bunkerweb
|
||||
|
|
@ -35,11 +29,6 @@ echo "Enabling and starting bunkerweb service..."
|
|||
do_and_check_cmd systemctl enable bunkerweb
|
||||
do_and_check_cmd systemctl start bunkerweb
|
||||
|
||||
# Start and enable bunkerweb-ui service
|
||||
# echo "Enabling and starting bunkerweb-ui service..."
|
||||
# do_and_check_cmd systemctl enable bunkerweb-ui
|
||||
# do_and_check_cmd systemctl start bunkerweb-ui
|
||||
|
||||
# Copy old line from environment file to new one
|
||||
# Check if old environment file exists
|
||||
if [ -f /var/tmp/variables.env ]; then
|
||||
|
|
|
|||
|
|
@ -80,4 +80,5 @@ USER ui:ui
|
|||
HEALTHCHECK --interval=10s --timeout=10s --start-period=30s --retries=6 CMD /usr/share/bunkerweb/helpers/healthcheck-ui.sh
|
||||
|
||||
ENV PYTHONPATH /usr/share/bunkerweb/deps/python
|
||||
|
||||
CMD ["python3", "-m", "gunicorn", "--config", "/usr/share/bunkerweb/ui/gunicorn.conf.py", "--user", "ui", "--group", "ui", "--bind", "0.0.0.0:7000"]
|
||||
|
|
|
|||
|
|
@ -11,8 +11,7 @@ reuse_port = True
|
|||
pidfile = join(sep, "var", "run", "bunkerweb", "ui.pid")
|
||||
worker_tmp_dir = join(sep, "dev", "shm")
|
||||
tmp_upload_dir = join(sep, "var", "tmp", "bunkerweb", "ui")
|
||||
worker_class = "gevent"
|
||||
worker_class = "gthread"
|
||||
threads = 1
|
||||
workers = 1
|
||||
graceful_timeout = 0
|
||||
secure_scheme_headers = {}
|
||||
|
|
|
|||
|
|
@ -20,10 +20,6 @@ for deps_path in [
|
|||
if deps_path not in sys_path:
|
||||
sys_path.append(deps_path)
|
||||
|
||||
from gevent import monkey
|
||||
|
||||
monkey.patch_all()
|
||||
|
||||
from bs4 import BeautifulSoup
|
||||
from copy import deepcopy
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
|
@ -82,7 +78,6 @@ from src.ReverseProxied import ReverseProxied
|
|||
from src.User import User
|
||||
|
||||
from utils import check_settings, path_to_dict
|
||||
from logger import setup_logger # type: ignore
|
||||
from Database import Database # type: ignore
|
||||
from logging import getLogger
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,7 @@ beautifulsoup4==4.12.2
|
|||
Flask==2.3.3
|
||||
Flask_Login==0.6.2
|
||||
Flask_WTF==1.1.1
|
||||
gevent==23.9.0
|
||||
gunicorn==21.2.0
|
||||
gunicorn[gthread]==21.2.0
|
||||
importlib-metadata==6.8.0
|
||||
python_dateutil==2.8.2
|
||||
regex==2023.8.8
|
||||
regex==2023.8.8
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with Python 3.11
|
||||
# This file is autogenerated by pip-compile with Python 3.9
|
||||
# by the following command:
|
||||
#
|
||||
# pip-compile --allow-unsafe --generate-hashes
|
||||
|
|
@ -54,111 +54,16 @@ flask-wtf==1.1.1 \
|
|||
--hash=sha256:41c4244e9ae626d63bed42ae4785b90667b885b1535d5a4095e1f63060d12aa9 \
|
||||
--hash=sha256:7887d6f1ebb3e17bf648647422f0944c9a469d0fcf63e3b66fb9a83037e38b2c
|
||||
# via -r requirements.in
|
||||
gevent==23.9.0 \
|
||||
--hash=sha256:03d7452ec45c71ef84cacbf199dac582af2948fb37c638aa6e7232fe5c2840f1 \
|
||||
--hash=sha256:06a927940f9348b504888f93c8d85c2d8e2277ffd2105734148c0082ade17c20 \
|
||||
--hash=sha256:117904bdb139adeb3378a0631e81fc5939b54edce16ddf21288bde111ab31d47 \
|
||||
--hash=sha256:1578b5c6da4e88f5cade5682b13635d17231ade6c549d8498cc95776954675c4 \
|
||||
--hash=sha256:169784ef1594ddac0a773e85e5f996f6f8512abdbe248bff16ed8a22fafecadb \
|
||||
--hash=sha256:17abeca1a8b61a0ce135127f8328265a317efaa3eda047199d65129ca68f0268 \
|
||||
--hash=sha256:1b9ff212cddf245d44651600970c5370c4168f710d4856d8b2350d734dfff1a6 \
|
||||
--hash=sha256:1ecd70495749ba1ece8e312e41e98d3371f5aa1e98922b47b3635c8263157938 \
|
||||
--hash=sha256:259438ec75b31b199d99941294e50f705d92d20d59578244a882a57c2f0f52b3 \
|
||||
--hash=sha256:2894d82111ed27b7f80dcbf8c713bb9c9c2c7e8890606cf548f6320fb2ae328f \
|
||||
--hash=sha256:291c380fd708c5e04d63fcb8427da21600fda202ffe14ba59a454efd1715f8d5 \
|
||||
--hash=sha256:2bb65683df8a0a1427d42985158cee7dad8a3211247d5824302e276d9fd5bf65 \
|
||||
--hash=sha256:3778609919477ae6eccbf3b10308015f5620c428dbf0dbc6cbeb8a135c9d603a \
|
||||
--hash=sha256:41199f10877f368822058b47aca3276e5a4c453e2c4df814a44f23c1bf059488 \
|
||||
--hash=sha256:436d0e9c1185b15f0204f7e2a687af2fc5307b1fed8ce011b86732ad53edc136 \
|
||||
--hash=sha256:5afcf6402981f33c84567e6a0a8dcf05e52e8c0b03d80b699644c5f251221e02 \
|
||||
--hash=sha256:70bd1e7a6f571837beb190e3a330f289d10ba4d84fa980ffe778b97fb887455c \
|
||||
--hash=sha256:863a244311e986e924baa1516d821c37fcdb4e091e42f86f9d17d13323893c6d \
|
||||
--hash=sha256:91e1e96d50dc4a296dce77b9e28c29a7401fbaca6809989b2029266db6172967 \
|
||||
--hash=sha256:951d95f1066fb84f661f2bb2c1d6423855a63922abf3e5bd1001711cfb1d8f38 \
|
||||
--hash=sha256:96a3ce33e77277995436656e6f7712f4dcbe9dafa527f245ebbe3de44fd3d4bb \
|
||||
--hash=sha256:9b6eecefb35ceaa33693b971d18e98bfc7e63c9488f1b83eddedb8087a567066 \
|
||||
--hash=sha256:b6179e5419044f8e49ab1fd2165391ffd94071362e03a04d2e499a64b619e105 \
|
||||
--hash=sha256:bb645e9f68cb4b009d667507195e07314c594b2dac962ae797bd05bccd4076eb \
|
||||
--hash=sha256:d55cf22d6b29593d256bad9fade978fbdc998d6f3bf3aa3399a81feaa91b5a86 \
|
||||
--hash=sha256:d76871f16df200c9454d3f9695b6cd97e7b80102fdf3e4b69b1e2900f9bd0eee \
|
||||
--hash=sha256:e9e3f81cc36eb623e8716515bd7e28f50ccca5fd930ba493275e60d5fbc69786 \
|
||||
--hash=sha256:f44f1d3a05ce1d041d514b8151aec82e4649e5f8f6e2d837eb9bfc2607d7b64d \
|
||||
--hash=sha256:faad7ed513672083eabe1e45d1dbfbbcd7bde9c0da6ef3598e975128c8aee427
|
||||
# via -r requirements.in
|
||||
greenlet==2.0.2 \
|
||||
--hash=sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a \
|
||||
--hash=sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a \
|
||||
--hash=sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1 \
|
||||
--hash=sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43 \
|
||||
--hash=sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33 \
|
||||
--hash=sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8 \
|
||||
--hash=sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088 \
|
||||
--hash=sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca \
|
||||
--hash=sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343 \
|
||||
--hash=sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645 \
|
||||
--hash=sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db \
|
||||
--hash=sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df \
|
||||
--hash=sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3 \
|
||||
--hash=sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86 \
|
||||
--hash=sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2 \
|
||||
--hash=sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a \
|
||||
--hash=sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf \
|
||||
--hash=sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7 \
|
||||
--hash=sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394 \
|
||||
--hash=sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40 \
|
||||
--hash=sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3 \
|
||||
--hash=sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6 \
|
||||
--hash=sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74 \
|
||||
--hash=sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0 \
|
||||
--hash=sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3 \
|
||||
--hash=sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91 \
|
||||
--hash=sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5 \
|
||||
--hash=sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9 \
|
||||
--hash=sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417 \
|
||||
--hash=sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8 \
|
||||
--hash=sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b \
|
||||
--hash=sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6 \
|
||||
--hash=sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb \
|
||||
--hash=sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73 \
|
||||
--hash=sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b \
|
||||
--hash=sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df \
|
||||
--hash=sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9 \
|
||||
--hash=sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f \
|
||||
--hash=sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0 \
|
||||
--hash=sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857 \
|
||||
--hash=sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a \
|
||||
--hash=sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249 \
|
||||
--hash=sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30 \
|
||||
--hash=sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292 \
|
||||
--hash=sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b \
|
||||
--hash=sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d \
|
||||
--hash=sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b \
|
||||
--hash=sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c \
|
||||
--hash=sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca \
|
||||
--hash=sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7 \
|
||||
--hash=sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75 \
|
||||
--hash=sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae \
|
||||
--hash=sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47 \
|
||||
--hash=sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b \
|
||||
--hash=sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470 \
|
||||
--hash=sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c \
|
||||
--hash=sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564 \
|
||||
--hash=sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9 \
|
||||
--hash=sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099 \
|
||||
--hash=sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0 \
|
||||
--hash=sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5 \
|
||||
--hash=sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19 \
|
||||
--hash=sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1 \
|
||||
--hash=sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526
|
||||
# via gevent
|
||||
gunicorn==21.2.0 \
|
||||
gunicorn[gthread]==21.2.0 \
|
||||
--hash=sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0 \
|
||||
--hash=sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033
|
||||
# via -r requirements.in
|
||||
importlib-metadata==6.8.0 \
|
||||
--hash=sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb \
|
||||
--hash=sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743
|
||||
# via -r requirements.in
|
||||
# via
|
||||
# -r requirements.in
|
||||
# flask
|
||||
itsdangerous==2.1.2 \
|
||||
--hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \
|
||||
--hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a
|
||||
|
|
@ -354,47 +259,3 @@ zipp==3.17.0 \
|
|||
--hash=sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31 \
|
||||
--hash=sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0
|
||||
# via importlib-metadata
|
||||
zope-event==5.0 \
|
||||
--hash=sha256:2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26 \
|
||||
--hash=sha256:bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd
|
||||
# via gevent
|
||||
zope-interface==6.0 \
|
||||
--hash=sha256:042f2381118b093714081fd82c98e3b189b68db38ee7d35b63c327c470ef8373 \
|
||||
--hash=sha256:0ec9653825f837fbddc4e4b603d90269b501486c11800d7c761eee7ce46d1bbb \
|
||||
--hash=sha256:12175ca6b4db7621aedd7c30aa7cfa0a2d65ea3a0105393e05482d7a2d367446 \
|
||||
--hash=sha256:1592f68ae11e557b9ff2bc96ac8fc30b187e77c45a3c9cd876e3368c53dc5ba8 \
|
||||
--hash=sha256:23ac41d52fd15dd8be77e3257bc51bbb82469cf7f5e9a30b75e903e21439d16c \
|
||||
--hash=sha256:424d23b97fa1542d7be882eae0c0fc3d6827784105264a8169a26ce16db260d8 \
|
||||
--hash=sha256:4407b1435572e3e1610797c9203ad2753666c62883b921318c5403fb7139dec2 \
|
||||
--hash=sha256:48f4d38cf4b462e75fac78b6f11ad47b06b1c568eb59896db5b6ec1094eb467f \
|
||||
--hash=sha256:4c3d7dfd897a588ec27e391edbe3dd320a03684457470415870254e714126b1f \
|
||||
--hash=sha256:5171eb073474a5038321409a630904fd61f12dd1856dd7e9d19cd6fe092cbbc5 \
|
||||
--hash=sha256:5a158846d0fca0a908c1afb281ddba88744d403f2550dc34405c3691769cdd85 \
|
||||
--hash=sha256:6ee934f023f875ec2cfd2b05a937bd817efcc6c4c3f55c5778cbf78e58362ddc \
|
||||
--hash=sha256:790c1d9d8f9c92819c31ea660cd43c3d5451df1df61e2e814a6f99cebb292788 \
|
||||
--hash=sha256:809fe3bf1a91393abc7e92d607976bbb8586512913a79f2bf7d7ec15bd8ea518 \
|
||||
--hash=sha256:87b690bbee9876163210fd3f500ee59f5803e4a6607d1b1238833b8885ebd410 \
|
||||
--hash=sha256:89086c9d3490a0f265a3c4b794037a84541ff5ffa28bb9c24cc9f66566968464 \
|
||||
--hash=sha256:99856d6c98a326abbcc2363827e16bd6044f70f2ef42f453c0bd5440c4ce24e5 \
|
||||
--hash=sha256:aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d \
|
||||
--hash=sha256:af169ba897692e9cd984a81cb0f02e46dacdc07d6cf9fd5c91e81f8efaf93d52 \
|
||||
--hash=sha256:b39b8711578dcfd45fc0140993403b8a81e879ec25d53189f3faa1f006087dca \
|
||||
--hash=sha256:b3f543ae9d3408549a9900720f18c0194ac0fe810cecda2a584fd4dca2eb3bb8 \
|
||||
--hash=sha256:d0583b75f2e70ec93f100931660328965bb9ff65ae54695fb3fa0a1255daa6f2 \
|
||||
--hash=sha256:dfbbbf0809a3606046a41f8561c3eada9db811be94138f42d9135a5c47e75f6f \
|
||||
--hash=sha256:e538f2d4a6ffb6edfb303ce70ae7e88629ac6e5581870e66c306d9ad7b564a58 \
|
||||
--hash=sha256:eba51599370c87088d8882ab74f637de0c4f04a6d08a312dce49368ba9ed5c2a \
|
||||
--hash=sha256:ee4b43f35f5dc15e1fec55ccb53c130adb1d11e8ad8263d68b1284b66a04190d \
|
||||
--hash=sha256:f2363e5fd81afb650085c6686f2ee3706975c54f331b426800b53531191fdf28 \
|
||||
--hash=sha256:f299c020c6679cb389814a3b81200fe55d428012c5e76da7e722491f5d205990 \
|
||||
--hash=sha256:f72f23bab1848edb7472309e9898603141644faec9fd57a823ea6b4d1c4c8995 \
|
||||
--hash=sha256:fa90bac61c9dc3e1a563e5babb3fd2c0c1c80567e815442ddbe561eadc803b30
|
||||
# via gevent
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
setuptools==68.2.2 \
|
||||
--hash=sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87 \
|
||||
--hash=sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a
|
||||
# via
|
||||
# zope-event
|
||||
# zope-interface
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
requests==2.31.0
|
||||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🤖 Building antibot stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker app1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🤖 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
requests==2.31.0
|
||||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🔐 Building authbasic stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker app1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🔐 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "📟 Building badbehavior stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "📟 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🏴 Building blacklist stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🏴 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "📦 Building brotli stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker app1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "📦 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🕸️ Building bunkernet stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🕸️ Pull failed ❌"
|
||||
|
|
@ -50,7 +50,7 @@ end=0
|
|||
cleanup_stack () {
|
||||
exit_code=$?
|
||||
if [[ $end -eq 1 || $exit_code = 1 ]] || [[ $end -eq 0 && $exit_code = 0 ]] && [ $manual = 0 ] ; then
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@USE_BUNKERNET: "no"@USE_BUNKERNET: "yes"@' {} \;
|
||||
else
|
||||
sudo sed -i 's@USE_BUNKERNET=.*$@USE_BUNKERNET=yes@' /etc/bunkerweb/variables.env
|
||||
|
|
@ -67,7 +67,6 @@ cleanup_stack () {
|
|||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose down -v --remove-orphans
|
||||
else
|
||||
curl http://127.0.0.1:8080/reset
|
||||
sudo systemctl stop bunkerweb
|
||||
sudo truncate -s 0 /var/log/bunkerweb/error.log
|
||||
fi
|
||||
|
|
@ -217,6 +216,10 @@ do
|
|||
cleanup_stack
|
||||
manual=0
|
||||
|
||||
if [ "$integration" == "linux" ] ; then
|
||||
curl http://127.0.0.1:8080/reset
|
||||
fi
|
||||
|
||||
echo " "
|
||||
done
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "⌨️ Building bwcli stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "⌨️ Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "📝 Building clientcache stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "📝 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
requests==2.31.0
|
||||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🛰️ Building cors stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker app1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🛰️ Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🌍 Building country stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🌍 Pull failed ❌"
|
||||
|
|
@ -41,7 +41,7 @@ end=0
|
|||
cleanup_stack () {
|
||||
exit_code=$?
|
||||
if [[ $end -eq 1 || $exit_code = 1 ]] || [[ $end -eq 0 && $exit_code = 0 ]] && [ $manual = 0 ] ; then
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@BLACKLIST_COUNTRY: "US"@BLACKLIST_COUNTRY: ""@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@WHITELIST_COUNTRY: "FR"@WHITELIST_COUNTRY: ""@' {} \;
|
||||
else
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🔏 Building customcert stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🔏 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "💾 Building db stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker app1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "💾 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🚫 Building dnsbl stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🚫 Pull failed ❌"
|
||||
|
|
@ -80,7 +80,7 @@ cleanup_stack () {
|
|||
trap cleanup_stack EXIT
|
||||
|
||||
echo "🚫 Initializing workspace ..."
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
rm -rf init/output
|
||||
mkdir -p init/output
|
||||
docker compose -f docker-compose.init.yml up --build
|
||||
|
|
@ -116,7 +116,7 @@ for test in "activated" "deactivated" "list"
|
|||
do
|
||||
if [ "$test" = "activated" ] ; then
|
||||
echo "🚫 Running tests with DNSBL activated and the server $server added to the list ..."
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@DNSBL_LIST: ".*"@DNSBL_LIST: "'"$server"'"@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@ipv4_address: 192.168@ipv4_address: '"${ip%%.*}"'.0@' {} \;
|
||||
sed -i 's@subnet: 192.168@subnet: '"${ip%%.*}"'.0@' docker-compose.yml
|
||||
|
|
@ -128,7 +128,7 @@ do
|
|||
fi
|
||||
elif [ "$test" = "deactivated" ] ; then
|
||||
echo "🚫 Running tests without DNSBL ..."
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@USE_DNSBL: "yes"@USE_DNSBL: "no"@' {} \;
|
||||
else
|
||||
sudo sed -i 's@USE_DNSBL=.*$@USE_DNSBL=no@' /etc/bunkerweb/variables.env
|
||||
|
|
@ -136,7 +136,7 @@ do
|
|||
fi
|
||||
elif [ "$test" = "list" ] ; then
|
||||
echo "🚫 Running tests with DNSBL activated and without the server $server added to the list ..."
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@USE_DNSBL: "no"@USE_DNSBL: "yes"@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@DNSBL_LIST: ".*"@DNSBL_LIST: ""@' {} \;
|
||||
else
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
requests==2.31.0
|
||||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "⭕ Building errors stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "⭕ Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🏁 Building greylist stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🏁 Pull failed ❌"
|
||||
|
|
@ -60,7 +60,7 @@ AS_NUMBER=0
|
|||
cleanup_stack () {
|
||||
exit_code=$?
|
||||
if [[ $end -eq 1 || $exit_code = 1 ]] || [[ $end -eq 0 && $exit_code = 0 ]] && [ $manual = 0 ] ; then
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
rm -rf init/output
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@USE_GREYLIST: "yes"@USE_GREYLIST: "no"@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@GREYLIST_IP: "192.168.0.0/24"@GREYLIST_IP: ""@' {} \;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🗜️ Building gzip stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker app1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🗜️ Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🎛️ Building headers stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker bw-php
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🎛️ Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "💉 Building inject stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "💉 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🎚️ Building limit stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🎚️ Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🗃️ Building misc stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🗃️ Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "👮 Building modsecurity stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "👮 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
requests==2.31.0
|
||||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "↩️ Building redirect stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker app1
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "↩️ Pull failed ❌"
|
||||
|
|
@ -36,7 +36,7 @@ end=0
|
|||
cleanup_stack () {
|
||||
exit_code=$?
|
||||
if [[ $end -eq 1 || $exit_code = 1 ]] || [[ $end -eq 0 && $exit_code = 0 ]] && [ $manual = 0 ] ; then
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@REDIRECT_TO: "http://brightlushsilveryawn\.neverssl\.com/online/"@REDIRECT_TO: ""@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@REDIRECT_TO_REQUEST_URI: "yes"@REDIRECT_TO_REQUEST_URI: "no"@' {} \;
|
||||
else
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
requests==2.31.0
|
||||
redis==5.0.0
|
||||
redis==5.0.1
|
||||
fastapi==0.103.1
|
||||
uvicorn[standard]==0.23.2
|
||||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🧰 Building redis stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🧰 Pull failed ❌"
|
||||
|
|
@ -39,6 +39,7 @@ else
|
|||
echo "BLACKLIST_IP_URLS=" | sudo tee -a /etc/bunkerweb/variables.env
|
||||
echo "SESSIONS_NAME=test" | sudo tee -a /etc/bunkerweb/variables.env
|
||||
echo "USE_REVERSE_SCAN=no" | sudo tee -a /etc/bunkerweb/variables.env
|
||||
echo "REVERSE_SCAN_PORTS=80" | sudo tee -a /etc/bunkerweb/variables.env
|
||||
echo "USE_ANTIBOT=no" | sudo tee -a /etc/bunkerweb/variables.env
|
||||
echo "USE_GREYLIST=yes" | sudo tee -a /etc/bunkerweb/variables.env
|
||||
echo "GREYLIST_IP=0.0.0.0/0" | sudo tee -a /etc/bunkerweb/variables.env
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🕵️ Building reversescan stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🕵️ Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🔑 Building selfsigned stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🔑 Pull failed ❌"
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
requests==2.31.0
|
||||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🧳 Building sessions stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🧳 Pull failed ❌"
|
||||
|
|
@ -38,7 +38,7 @@ end=0
|
|||
cleanup_stack () {
|
||||
exit_code=$?
|
||||
if [[ $end -eq 1 || $exit_code = 1 ]] || [[ $end -eq 0 && $exit_code = 0 ]] && [ $manual = 0 ] ; then
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@SESSIONS_SECRET: ".*"$@SESSIONS_SECRET: "random"@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@SESSIONS_NAME: ".*"$@SESSIONS_NAME: "random"@' {} \;
|
||||
else
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ fi
|
|||
echo "🏳️ Building whitelist stack for integration \"$integration\" ..."
|
||||
|
||||
# Starting stack
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
docker compose pull bw-docker
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🏳️ Pull failed ❌"
|
||||
|
|
@ -63,7 +63,7 @@ AS_NUMBER=0
|
|||
cleanup_stack () {
|
||||
exit_code=$?
|
||||
if [[ $end -eq 1 || $exit_code = 1 ]] || [[ $end -eq 0 && $exit_code = 0 ]] && [ $manual = 0 ] ; then
|
||||
if [ "$integration" = "docker" ] ; then
|
||||
if [ "$integration" == "docker" ] ; then
|
||||
rm -rf init/output
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@USE_WHITELIST: "yes"@USE_WHITELIST: "no"@' {} \;
|
||||
find . -type f -name 'docker-compose.*' -exec sed -i 's@WHITELIST_IP: "192.168.0.0/24"@WHITELIST_IP: ""@' {} \;
|
||||
|
|
|
|||
|
|
@ -29,13 +29,13 @@ while not ready:
|
|||
with suppress(RequestException):
|
||||
status_code = get("http://www.example.com/admin").status_code
|
||||
|
||||
if status_code > 500:
|
||||
if status_code > 500 and status_code != 502:
|
||||
print("An error occurred with the server, exiting ...", flush=True)
|
||||
exit(1)
|
||||
|
||||
ready = status_code < 400
|
||||
|
||||
if retries > 10:
|
||||
if retries > 20:
|
||||
print("UI took too long to be ready, exiting ...", flush=True)
|
||||
exit(1)
|
||||
elif not ready:
|
||||
|
|
@ -1169,6 +1169,8 @@ location /hello {
|
|||
|
||||
assert_button_click(driver, "//button[@data-cache-modal-submit='']")
|
||||
|
||||
sleep(3)
|
||||
|
||||
print("The cache file content is correct, trying logs page ...", flush=True)
|
||||
|
||||
access_page(
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
selenium==4.12.0
|
||||
selenium==4.13.0
|
||||
requests==2.31.0
|
||||
|
|
|
|||
|
|
@ -23,19 +23,20 @@ if [ "$integration" = "docker" ] ; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
echo "🤖 Starting stack ..."
|
||||
echo "🌐 Starting stack ..."
|
||||
docker compose up -d
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🤖 Up failed, retrying ... ⚠️"
|
||||
echo "🌐 Up failed, retrying ... ⚠️"
|
||||
docker compose down -v --remove-orphans
|
||||
docker compose up -d
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "🤖 Up failed ❌"
|
||||
echo "🌐 Up failed ❌"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
sudo systemctl stop bunkerweb bunkerweb-ui
|
||||
sudo sed -i "/--bind \"127.0.0.1:7000\" &/c\ --bind \"127.0.0.1:7000\" --log-level debug &" /usr/share/bunkerweb/scripts/bunkerweb-ui.sh
|
||||
sudo mkdir /var/www/html/app1.example.com
|
||||
sudo touch /var/www/html/app1.example.com/index.html
|
||||
export TEST_TYPE="linux"
|
||||
|
|
@ -72,7 +73,7 @@ else
|
|||
while [[ $healthy = "false" && $retries -lt 5 ]] ; do
|
||||
while [ $i -lt 120 ] ; do
|
||||
if sudo grep -q "BunkerWeb is ready" "/var/log/bunkerweb/error.log" ; then
|
||||
echo "🔏 Linux stack is healthy ✅"
|
||||
echo "🌐 Linux stack is healthy ✅"
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
|
|
@ -87,12 +88,12 @@ else
|
|||
sudo cat /var/log/bunkerweb/error.log
|
||||
echo "🛡️ Showing BunkerWeb access logs ..."
|
||||
sudo cat /var/log/bunkerweb/access.log
|
||||
echo "🔏 Linux stack is not healthy ❌"
|
||||
echo "🌐 Linux stack is not healthy ❌"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! [ -z "$(sudo journalctl -u bunkerweb --no-pager | grep "SYSTEMCTL - ❌")" ] ; then
|
||||
echo "🔏 ⚠ Linux stack got an issue, restarting ..."
|
||||
echo "🌐 ⚠ Linux stack got an issue, restarting ..."
|
||||
sudo journalctl --rotate
|
||||
sudo journalctl --vacuum-time=1s
|
||||
manual=1
|
||||
|
|
@ -105,7 +106,7 @@ else
|
|||
fi
|
||||
done
|
||||
if [ $retries -ge 5 ] ; then
|
||||
echo "🔏 Linux stack could not be healthy ❌"
|
||||
echo "🌐 Linux stack could not be healthy ❌"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in a new issue