Skip to content
Snippets Groups Projects
Commit 8c8acf6d authored by Elian Loraux's avatar Elian Loraux
Browse files

remove first comma

parent 5dffd4d5
No related tags found
No related merge requests found
#!/bin/bash
# Fonction pour valider une adresse IPv4
# Check valid IP
validate_ipv4() {
local ip="$1"
local regex='^([0-9]{1,3}\.){3}[0-9]{1,3}$'
# Vérifier le format général avec une regex
# Check Format
if [[ ! $ip =~ $regex ]]; then
echo "Invalid IPv4 address: inccorect format"
return 1
fi
# Vérifier que chaque octet est entre 0 et 255
# Chack bit between 0 and 255
IFS='.' read -r -a octets <<< "$ip"
for octet in "${octets[@]}"; do
if ((octet < 0 || octet > 255)); then
......@@ -23,18 +23,31 @@ validate_ipv4() {
return 0
}
# Vérifier si un paramètre est fourni
# Check if parms
if [[ $# -ne 1 ]]; then
echo "Usage: $0 <ipv4 address>"
exit 1
fi
# Vérifier l'adresse IPv4 fournie
# Chack if is IP
validate_ipv4 "$1"
if [[ $? -eq 0 ]]; then
domain=$(docker ps -qa | xargs docker inspect | awk '/traefik.http.routers.*.rule/{print $2}' | sed -e 's/^"Host(`//' -e 's/`)",*//' -e 's/`,`/\n/g' | grep -v 'ClientIP' | sort -u | sed "s/^/\`/" | sed "s/$/\`/" | paste -sd ",")
sed -i "s/HOSTS=.*/HOSTS=$domain/" .env
sed -i "s/^BAN_IPS=\(.*\)/BAN_IPS=\1,\`$1\`/" .env
IP="$1"
# if BAN_IPS is empt or note
if grep -q "^BAN_IPS=" .env && grep -q "^BAN_IPS=$" .env; then
# if BAN_IPS empty, put ip
sed -i "s/^BAN_IPS=$/BAN_IPS=\`$IP\`/" .env
else
# else, add comma between ip
sed -i -E "/^BAN_IPS=/ s/$/,\`$IP\`/" .env
fi
# sed -i "s/^BAN_IPS=\(.*\)/BAN_IPS=\1,\`$1\`/" .env
# sed "s/^BAN_IPS=\(.*\)/BAN_IPS=\1,\`79.85.55.114\`/" .env
docker-compose up -d
else
exit 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment