ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Скрипт на Bash: Автоматический Whitelist для IP-адресов в ManageWP на Cloudflare

ManageWP является мощным инструментом для управления несколькими сайтами WordPress. Он позволяет устанавливать плагины, обновлять их, делать резервное копирование, заниматься мониторингом безотказной работы и многое другое без необходимости заходить в каждый отдельный WordPress сайт. Некоторые хостинг – провайдеры могут блокировать запросы от ManageWP если вы используете CloudFlare и если у вы испытываете подобные проблемы, то вам необходим будет белый список IP – адресов в ManageWP.

Настоящий перечень ManageWP IP можно найти здесь. В настоящее время существует более 40 IP – адресов, которые я действительно не хочу вводить вручную в Cloudflare. Этот сценарий написан на Баш и требует cURL и CloudFlare API Key и адрес электронной почты.

Скрипт на Bash: Автоматический Whitelist для IP-адресов в ManageWP на Cloudflare

Убедитесь, что cURL установлен на Debian или Ubuntu, также вы можете использовать для установки команду

sudo apt install curl

На CentOS

yum install curl

Создание сценария

sudo nano managewp-cloudflare.sh

Вставить в созданный файл скрипта:

#!/bin/bash

# cloudflare email
CFEMAIL=""
# cloudflare API key
CFAPIKEY=""

cd /tmp
# grab current ManageWP IP list
wget https://managewp.com/wp-content/uploads/2016/11/managewp-ips.txt -qO MANAGEWPTXT

# Turn text file into array
MANAGEWPIPS=$(<MANAGEWPTXT)

# Loop through array and add IPs to Cloudflare whitelist
for MANAGEWPIP in ${MANAGEWPIPS[@]}; do
curl -s -X POST "https://api.cloudflare.com/client/v4/user/firewall/access_rules/rules" \
  -H "X-Auth-Email: $CFEMAIL" \
  -H "X-Auth-Key: $CFAPIKEY" \
  -H "Content-Type: application/json" \
  --data '{"mode":"whitelist","configuration":{"target":"ip","value":"'$MANAGEWPIP'"},"notes":"ManageWP"}'
done

# delete the temporary ManageWP IPs file
rm -rf /tmp/MANAGEWPTXT

 

Скрипт на Bash: Автоматический Whitelist для IP-адресов в ManageWP на Cloudflare

Exit mobile version