Поможет импортировать ваши домены в Cloudflare
Если вы знаете что такое composer, то просто выполните команду:
$ composer install
Иначе распакуйте архив build.zip в отдельную папку и переходит к настройке.
Для начала переименуйте файл config.php.example
в config.php
.
Все манипуляции проводятся в файле config.php
:
<?php
return [
'cloudflare' => [
'email' => '',
'key' => '',
],
];
По пунктам:
email
- Это ваш email в Cloudflare. Обязателен.key
- API ключ, который вы можете получить на странице https://www.cloudflare.com/a/profile нажав на кнопку "View API Key" напротив строчки "Global API Key".
После настройки config.php
можно начинать работать.
Скрипт запускается из консоли командой:
php cloud.php <command>
Где <command>
- одна из доступных команд.
Доступны следующие команды:
- version - Показывает текущую версию скрипта
- show-domains - Возвращает список всех доменов добавленных в CloudFlare аккаунт
- add-domains - Добавить домены
- add-subdomains - Добавить сабдомены
- remove-domains - Удалить домены из аккаунта
- change-ip - Смена IP у добавленных доменов (у всех DNS записей для каждого домена)
Пример запуска:
php cloud.php version
Доступные параметры:
- --save-to (-s) - позволяет указать имя файла куда будет записан результат (CSV файл)
Примеры запуска:
# Обычный
php cloud.php show-domains
# С сохранением в файл
php cloud.php show-domains --save-to my-domains.csv
Доступные аргументы:
- filename - имя файла в котором хранятся домены (по-умолчанию: domains.txt)
Доступные параметры:
- --ip - IP на который будут прикрепляться домены (не обязателен)
- --wildcard (-w) - Если указан, то для каждого домена будет добавлена wildcard (*) DNS запись
- --skip-existing (-s) - Если указан, то скрипт не будет пытаться добавить DNS записи для доменов которые уже добавлены в аккаунт
- --enable-proxy (-p) - Если указан, то скрипт будет включать проксирование для добавленных DNS записей
- --enable-always-online - Если указан, то скрипт не будет отключать AlwaysOnline для доменов. (по-умолчанию скрипт отключает эту настройку)
- --enable-https - Если указан, вклчюает опцию "Always use Https" (эта опция включает автоматический редирект http -> https)
- --ssl-mode - Изменить тип SSL который использует CloudFlare. Доступные опции: off, flexible, full, strict.
- --security-level - Изменить Security Level в настройках firewall. Доступные опции: essentially_off, low, medium, high, under_attack.
- --stop-on-fail - Остановить выполнение скрипта если не смогли добавить домен (по-умолчанию false)
- --failed-attempts - Кол-во повторных попыток добавить домен в случае ошибки ' Message: domain.com is not a registered domain'. По-умолчанию: 3. (пример: --failed-attempts=5 установит 5 попыток)
Если не указан параметр --ip
, то IP должен быть указан для КАЖДОГО домена в файле с доменами (в формате домен|ip
).
Пример такого файла:
domain1.com|127.0.0.1
domain2.com|127.0.0.1
domain3.com|127.0.0.2
Примеры запуска:
# Простой (домены лежат в файле domains.txt)
php cloud.php add-domains --enable-proxy --ip "127.0.0.1"
# С включенным wildcard
php cloud.php add-domains --enable-proxy -w
# или так
php cloud.php add-domains --enable-proxy --wildcard
# Кастомный файл с доменами
php cloud.php add-domains freenom-domains.txt
# Изменяем тип SSL, устанавливаем тип Flexible
php cloud.php add-domains --ssl-mode="flexible" --enable-https
# SSL от CloudFlare будет отключен
php cloud.php add-domains --ssl-mode="off"
Доступные аргументы:
- filename - имя файла в котором хранятся домены (по-умолчанию: domains.txt)
Доступные параметры:
- --ip - IP на который будут прикрепляться домены (не обязателен)
- --enable-proxy (-p) - Если указан, то скрипт будет включать проксирование для добавленных DNS записей
Если не указан параметр --ip
, то действуют такие же правила как для команды add-domains
.
Сабдомены так же указываются в файле с доменами через запятую:
domain1.com|127.0.0.1|www,mobile,network
domain2.com||wp,wordpress,www
domain3.com||www1,www2,www3
(если в файле с домена опущен IP, то должен быть обязательно указан параметр --ip
при вызове скрипта)
Примеры запуска:
# Простой (домены лежат в файле domains.txt)
php cloud.php add-subdomains --enable-proxy
# С указание IP
php cloud.php add-subdomains --ip "127.0.0.1" --enable-proxy
Доступные аргументы:
- filename - имя файла в котором хранятся домены (по-умолчанию: domains.txt)
Примеры запуска:
php cloud.php remove-domains domains.txt
Доступные аргументы:
- filename - имя файла в котором хранятся домены (по-умолчанию: domains.txt)
Доступные параметры:
- --ip - IP на который будут прикрепляться домены (не обязателен)
(для IP работают такие же правила как и в командах add-domains
и add-subdomains
)
Примеры запуска:
php cloud.php change-ip --ip "127.0.0.1"