GonetsDocs/Документация/Техническая-документация-api/api/services/ufw_service.md
2025-10-14 16:14:11 +05:00

108 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# UFW Service
### *class* services.ufw_service.UFWService
Bases: `object`
Сервис взаимодействия с UFW (Uncomplicated Firewall).
Назначение:
: - Чтение статуса и списка правил брандмауэра.
- Добавление, удаление и массовая обработка правил с поддержкой диапазонов портов,
комментариев и выбором протоколов.
Детали реализации:
: - Команды выполняются через sudo ufw …; вывод парсится в модели pydantic.
- Для операций удаления соблюдается порядок с конца, чтобы не нарушать нумерацию.
#### add_rules(rules: List[UFWRule]) → dict
Добавляет правила UFW.
* **Parameters:**
**rules** – Список правил для добавления
* **Returns:**
Результат добавления правил
* **Return type:**
dict
#### add_rules_base(rules: List[UFWRule], direction: str = '') → bool
Базовый метод для добавления правил UFW.
* **Parameters:**
* **rules** – Список правил для добавления
* **direction** – Направление трафика (“in” или “out”)
* **Returns:**
True если все правила были успешно добавлены, False в противном случае
* **Return type:**
bool
#### add_ufw_in_rules(rules: List[UFWRule]) → bool
Добавляет входящие (in) правила UFW.
* **Parameters:**
**rules** (*List* *[**UFWRule* *]*) – Список правил для добавления
* **Returns:**
True если все правила были успешно добавлены, False в противном случае
* **Return type:**
bool
#### add_ufw_out_rules(rules: List[UFWRule]) → bool
Добавляет исходящие (out) правила UFW.
* **Parameters:**
**rules** (*List* *[**UFWRule* *]*) – Список правил для добавления
* **Returns:**
True если все правила были успешно добавлены, False в противном случае
* **Return type:**
bool
#### delete_rules(rule_numbers: List[int]) → dict
Удаляет правила UFW по их номерам.
* **Parameters:**
**rule_numbers** (*List* *[**int* *]*) – Список номеров правил для удаления
* **Returns:**
Результат операции удаления
* **Return type:**
dict
#### disable_ufw() → bool
Выключает UFW.
* **Returns:**
True если успешно выключен, False в противном случае
* **Return type:**
bool
#### enable_ufw() → bool
Включает UFW.
* **Returns:**
True если успешно включен, False в противном случае
* **Return type:**
bool
#### get_ufw_rules() → UFWRulesResponse
Получает список правил UFW.
* **Returns:**
Объект, содержащий статус UFW и список правил
* **Return type:**
UFWRulesResponse
#### get_ufw_status() → UFWStatus
Проверяет статус UFW.
* **Returns:**
Объект с информацией о статусе UFW
* **Return type:**
UFWStatus