docs: обновление документации

This commit is contained in:
2025-07-24 22:27:38 +03:00
parent bd215f0aca
commit c21b4a0310
2 changed files with 39 additions and 120 deletions

View File

@@ -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'
```

129
README.MD
View File

@@ -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": "<span class='alert__msg'>Операция выполнена успешно</span>"
},
"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": "<span class='alert__msg'>Операция выполнена успешно</span>"
},
"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": "<span class='alert__msg'>запись удалена</span>"
},
"data": {
"success": true
}
}
ihc-dns domain-record delete 'example-1.com' 'some-name' --user='me@example.com' --password='s3cr3T'
```