Скрипт на 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
Редактор: AndreyEx
