From c21b4a0310ba2fefbaaf53a3c9287cb22652da0b Mon Sep 17 00:00:00 2001 From: Voomra Date: Thu, 24 Jul 2025 22:27:38 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CERTBOT.MD | 30 +++++-------- README.MD | 129 ++++++++++++----------------------------------------- 2 files changed, 39 insertions(+), 120 deletions(-) diff --git a/CERTBOT.MD b/CERTBOT.MD index 91df74f..9385460 100644 --- a/CERTBOT.MD +++ b/CERTBOT.MD @@ -1,7 +1,5 @@ Данный инструмент будет полезен для автоматизации продления сертификатов **Let's Encrypt** (certbot). -Для парсинга json ответов используется инструмент [jq](https://jqlang.github.io/jq/). - ## certbot_auto.sh ```bash @@ -12,7 +10,7 @@ certbot certonly \ --preferred-challenges=dns \ --manual-auth-hook /path/to/authenticator.sh \ --manual-cleanup-hook /path/to/cleanup.sh \ - -d 'example.com, *.example.com' + -d 'example-1.ru, *.example-1.ru' ``` ## authenticator.sh @@ -20,11 +18,12 @@ certbot certonly \ ```bash #!/bin/bash -bash /path/to/ihc-dns.sh \ - --user 'me%40example.com' \ - --password 's3cr3T' \ - --domain 'example.com' \ - --add --name '_acme-challenge' --type 'TXT' --content "$CERTBOT_VALIDATION" +bash /path/to/ihc-dns domain-record add \ + "example-1.ru" \ + --name="_acme-challenge" \ + --type="TXT" \ + --content="$CERTBOT_VALIDATION" + --user='me@example.com' --password='s3cr3T' ``` ## cleanup.sh @@ -32,15 +31,8 @@ bash /path/to/ihc-dns.sh \ ```bash #!/bin/bash -V_RECORD=$(bash /path/to/ihc-dns.sh \ - --user 'me%40example.com' \ - --password 's3cr3T' \ - --domain 'example.com' \ - --list | jq -r '. | select(.name == "_acme-challenge") | .id') - -bash /path/to/ihc-dns.sh \ - --user 'me%40example.com' \ - --password 's3cr3T' \ - --domain 'example.com' \ - --delete --record $V_RECORD +bash /path/to/ihc-dns domain-record delete \ + "example-1.ru" \ + "_acme-challenge" \ + --user='me@example.com' --password='s3cr3T' ``` diff --git a/README.MD b/README.MD index 9954ae3..622151a 100644 --- a/README.MD +++ b/README.MD @@ -1,126 +1,53 @@ -# IHС Tool +# IHС DNS Tools -Инструмент командной строки для работы с IHC.ru +Инструмент командной строки для работы с DNS от [IHC.ru](https://ihc.ru). -## DNS - -Результат выполнения в формате JSON. - -- login: `me@example.com` -- passwd: `s3cr3T` - -### Получить список доменов +## Получить список доменов ```shell -ihc-dns.sh --list --user 'me%40example.com' --password 's3cr3T' +ihc-dns domains --user='me@example.com' --password='s3cr3T' ``` -```json -{ - "id": 123456, - "domain": "example.com" -} -{ - "id": 554433, - "domain": "some-domain.ru" -} +``` + ID | Домен | Punycode +--------|--------------|-------------------------- + 111111 | example-1.ru | + 222222 | example-2.ru | + 333333 | пример-3.рф | xn---3-mlcluqhd.xn--p1ai ``` -### Получить список DNS записей домена +## Получить список DNS записей домена ```shell -ihc-dns.sh --domain 'example.com' --list --user 'me%40example.com' --password 's3cr3T' +ihc-dns domain-record list 'example-1.ru' --user='me@example.com' --password='s3cr3T' ``` -```json -{ - "readOnly": true, - "id": 1111111, - "name": "", - "type": "SOA", - "content": "ns1.ihc.ru. info.ihc.ru. 9999999999 99999 9999 999999 9999", - "prio": null -} -{ - "readOnly": true, - "id": 2222222, - "name": "", - "type": "NS", - "content": "ns1.ihc.ru", - "prio": null -} -{ - "readOnly": true, - "id": 3333333, - "name": "", - "type": "NS", - "content": "ns2.ihc.ru", - "prio": null -} -{ - "readOnly": false, - "id": 4444444, - "name": "_some_txt_name", - "type": "TXT", - "content": "SomeTxtContent", - "prio": null -} +``` + ID | Запись | Тип | Приоритет | Контент | Только для чтения +----------|---------------------|-------|-----------|-------------------------------------------------------------|------------------- + 7000001 | | SOA | | ns1.ihc.ru. info.ihc.ru. 2014120801 10800 3600 604800 3600 | да + 7000002 | | NS | | ns1.ihc.ru | да + 7000003 | | NS | | ns2.ihc.ru | да + 7000004 | yamail-XXXXXXXXXXXX | CNAME | | mail.yandex.ru | нет + 7000005 | | MX | 10 | mx.yandex.ru | нет + 7000006 | | A | | 127.0.0.1 | нет + 7000007 | _acme-challenge | TXT | | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | нет ``` -### Добавить DNS запись +## Добавить DNS запись ```shell -ihc-dns.sh --domain 'example.com' --add --name '_acme-challenge' --type 'TXT' --content 'SomeTxtContent' --user 'me%40example.com' --password 's3cr3T' +ihc-dns domain-record add 'example-1.ru' --name='some-name' --type='TXT' --content='some-content' --user='me@example.com' --password='s3cr3T' ``` -```json -{ - "alert": { - "type": "success", - "message": "Операция выполнена успешно" - }, - "data": { - "success": true - } -} -``` - -### Редактирование DNS записи - -Перед редактированием, нужно узнать `id`. Для примера возьмём `id` из примера получения списка DNS записей. +## Редактирование DNS записи ```shell -ihc-dns.sh --domain 'example.com' --edit --record '4444444' --type 'TXT' --content 'SomeTxtContent' --user 'me%40example.com' --password 's3cr3T' +ihc-dns domain-record edit 'example-1.ru' 'some-name' --content='some-content-2' --user='me@example.com' --password='s3cr3T' ``` -```json -{ - "alert": { - "type": "success", - "message": "Операция выполнена успешно" - }, - "data": { - "success": true - } -} -``` - -### Удалить DNS записи - -Перед редактированием, нужно узнать `id`. Для примера возьмём `id` из примера получения списка DNS записей. +## Удалить DNS записи ```shell -ihc-dns.sh --domain 'example.com' --delete --record '4444444' --user 'me%40example.com' --password 's3cr3T' -``` - -```json -{ - "alert": { - "type": "success", - "message": "запись удалена" - }, - "data": { - "success": true - } -} +ihc-dns domain-record delete 'example-1.com' 'some-name' --user='me@example.com' --password='s3cr3T' ```