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 branches found
No related tags found
No related merge requests found
#!/bin/bash #!/bin/bash
# Fonction pour valider une adresse IPv4 # Check valid IP
validate_ipv4() { validate_ipv4() {
local ip="$1" local ip="$1"
local regex='^([0-9]{1,3}\.){3}[0-9]{1,3}$' 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 if [[ ! $ip =~ $regex ]]; then
echo "Invalid IPv4 address: inccorect format" echo "Invalid IPv4 address: inccorect format"
return 1 return 1
fi fi
# Vérifier que chaque octet est entre 0 et 255 # Chack bit between 0 and 255
IFS='.' read -r -a octets <<< "$ip" IFS='.' read -r -a octets <<< "$ip"
for octet in "${octets[@]}"; do for octet in "${octets[@]}"; do
if ((octet < 0 || octet > 255)); then if ((octet < 0 || octet > 255)); then
...@@ -23,18 +23,31 @@ validate_ipv4() { ...@@ -23,18 +23,31 @@ validate_ipv4() {
return 0 return 0
} }
# Vérifier si un paramètre est fourni # Check if parms
if [[ $# -ne 1 ]]; then if [[ $# -ne 1 ]]; then
echo "Usage: $0 <ipv4 address>" echo "Usage: $0 <ipv4 address>"
exit 1 exit 1
fi fi
# Vérifier l'adresse IPv4 fournie # Chack if is IP
validate_ipv4 "$1" validate_ipv4 "$1"
if [[ $? -eq 0 ]]; then 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 ",") 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/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 docker-compose up -d
else else
exit 1 exit 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment