Unicode repair

This commit is contained in:
parent 2b8eff58ac
commit e264750187
49 changed files with 107 additions and 107 deletions

View file

@ -286,18 +286,18 @@
<p>Сервис низкоуровневого ARP-сканирования локальной сети.</p>
<p>Назначение:</p>
<ul class="simple">
<li><p>Обнаружение активных узлов в пределах сетей хоста путём широковещательных ARP‑запросов от имени выбранного интерфейса.</p></li>
<li><p>Обнаружение активных узлов в пределах сетей хоста путём широковещательных ARP-запросов от имени выбранного интерфейса.</p></li>
<li><p>Помощь сервисам более высокого уровня (например, IPService) при проверке занятости адресов перед применением конфигураций.</p></li>
</ul>
<p>Особенности реализации:</p>
<ul class="simple">
<li><p>Определяет подключённые сети интерфейса через <cite>netifaces</cite> и строит CIDR для сканирования.</p></li>
<li><p>Формирует ARP‑пакеты с помощью <cite>scapy</cite> (Ether/ARP) и отправляет их с таймаутом.</p></li>
<li><p>Формирует ARP-пакеты с помощью <cite>scapy</cite> (Ether/ARP) и отправляет их с таймаутом.</p></li>
<li><p>Добавляет локальный адрес интерфейса в результирующий список клиентов.</p></li>
</ul>
<p>Требования/ограничения:</p>
<ul class="simple">
<li><p>Для отправки ARP‑кадров могут потребоваться повышенные привилегии или capability на сырой сокет.</p></li>
<li><p>Для отправки ARP-кадров могут потребоваться повышенные привилегии или capability на сырой сокет.</p></li>
</ul>
<dl class="py class">
<dt class="sig sig-object py" id="services.arp_service.NetworkScanner">

View file

@ -283,14 +283,14 @@
<article role="main" id="furo-main-content">
<section id="module-services.connect_service">
<span id="connect-service"></span><h1>Connect Service<a class="headerlink" href="#module-services.connect_service" title="Link to this heading"></a></h1>
<p>Сервис управления подключениями Wi‑Fi через <cite>nmcli</cite>.</p>
<p>Сервис управления подключениями Wi-Fi через <cite>nmcli</cite>.</p>
<p>Назначение:</p>
<ul class="simple">
<li><p>Предоставляет операции подключения/отключения к точкам доступа и проверки текущего статуса, ориентируясь на системный NetworkManager.</p></li>
</ul>
<p>Поведение:</p>
<ul class="simple">
<li><p>Автоматически определяет активный Wi‑Fi‑интерфейс.</p></li>
<li><p>Автоматически определяет активный Wi-Fi-интерфейс.</p></li>
<li><p>Валидирует наличие SSID в листинге перед подключением и интерпретирует частые ошибки <cite>nmcli</cite> (неверный пароль, отсутствующая сеть и т.п.).</p></li>
</ul>
<p>Ограничения:</p>

View file

@ -283,7 +283,7 @@
<article role="main" id="furo-main-content">
<section id="module-services.firewalld_service">
<span id="firewalld-service"></span><h1>Firewalld Service<a class="headerlink" href="#module-services.firewalld_service" title="Link to this heading"></a></h1>
<p>Сервис для управления firewalld через D‑Bus.</p>
<p>Сервис для управления firewalld через D-Bus.</p>
<p>Назначение:
- Обёртка над интерфейсами <cite>org.fedoraproject.FirewallD1</cite> для выполнения</p>
<blockquote>

View file

@ -283,7 +283,7 @@
<article role="main" id="furo-main-content">
<section id="module-services.ip_service">
<span id="ip-service"></span><h1>IP Service<a class="headerlink" href="#module-services.ip_service" title="Link to this heading"></a></h1>
<p>Сервис проверки и применения IP‑настроек через NetworkManager (D‑Bus).</p>
<p>Сервис проверки и применения IP-настроек через NetworkManager (D-Bus).</p>
<p>Назначение:
- Перед применением конфигурации проверяет занятость IP адреса, сканируя сегмент</p>
<blockquote>
@ -294,7 +294,7 @@
выполняет переподключение интерфейса.</p></li>
</ul>
<p>Требования/ограничения:
- Доступ к системной шине D‑Bus и права на изменения сетевых профилей.
- Доступ к системной шине D-Bus и права на изменения сетевых профилей.
- Структура входных данных должна соответствовать схеме <cite>ipv4_updates</cite> для</p>
<blockquote>
<div><p>корректного обновления вложенных полей у профиля.</p>

View file

@ -283,16 +283,16 @@
<article role="main" id="furo-main-content">
<section id="module-services.network_service">
<span id="network-service"></span><h1>Network Service<a class="headerlink" href="#module-services.network_service" title="Link to this heading"></a></h1>
<p>Сервис чтения сетевого состояния через NetworkManager (D‑Bus).</p>
<p>Сервис чтения сетевого состояния через NetworkManager (D-Bus).</p>
<p>Назначение:
- Предоставляет асинхронные методы для сборки унифицированных моделей</p>
<blockquote>
<div><p>сетевых интерфейсов (Ethernet/Wi‑Fi), их IP‑конфигураций, а также получения
имени хоста. Используется API‑слоем для визуализации и управления.</p>
<div><p>сетевых интерфейсов (Ethernet/Wi-Fi), их IP-конфигураций, а также получения
имени хоста. Используется API-слоем для визуализации и управления.</p>
</div></blockquote>
<p>Особенности:
- Фильтрация loopback и явно неактивных интерфейсов.
- Адаптация данных D‑Bus в pydantic‑модели (<cite>NetworkInterface</cite>, <cite>WiFiDevice</cite>,</p>
- Адаптация данных D-Bus в pydantic-модели (<cite>NetworkInterface</cite>, <cite>WiFiDevice</cite>,</p>
<blockquote>
<div><p><cite>NetworkInterfacesContainer</cite>).</p>
</div></blockquote>

View file

@ -292,7 +292,7 @@
<dt>Источники данных:</dt><dd><ul class="simple">
<li><p>MacLookup: сопоставление префикса MAC (OUI) с названием производителя.</p></li>
<li><p>DNS: <cite>gethostbyaddr</cite> с малым таймаутом для обратного разрешения имени.</p></li>
<li><p>NetBIOS (nbtscan): опрос сегмента сети для извлечения NetBIOS‑имён.</p></li>
<li><p>NetBIOS (nbtscan): опрос сегмента сети для извлечения NetBIOS-имён.</p></li>
</ul>
</dd>
<dt>Политика кэширования:</dt><dd><ul class="simple">
@ -347,7 +347,7 @@
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Класс для хранения и управления данными об устройствах.</p>
<dl>
<dt>Формат файла подсети:</dt><dd><p>JSON‑структура вида
<dt>Формат файла подсети:</dt><dd><p>JSON-структура вида
{</p>
<blockquote>
<div><p>“devices”: [Device, …]</p>
@ -355,7 +355,7 @@
<p>}</p>
</dd>
<dt>Политика очистки:</dt><dd><ul class="simple">
<li><p>Метод <cite>_clean_old_devices</cite> удаляет оффлайн‑устройства, не наблюдавшиеся
<li><p>Метод <cite>_clean_old_devices</cite> удаляет оффлайн-устройства, не наблюдавшиеся
более 7 дней, чтобы поддерживать актуальность списка.</p></li>
</ul>
</dd>
@ -409,7 +409,7 @@ devices (List[Device]): Список устройств для сохранен
<p>Класс для сканирования подсети с использованием ARP-запросов.</p>
<dl class="simple">
<dt>Назначение:</dt><dd><p>Обнаруживает активные устройства в локальной сети, отправляя широковещательные
ARP‑запросы по указанной подсети и собирая ответы (IP, MAC).</p>
ARP-запросы по указанной подсети и собирая ответы (IP, MAC).</p>
</dd>
<dt>Детали реализации:</dt><dd><ul class="simple">
<li><p>Использует <cite>scapy</cite> (<cite>Ether</cite> + <cite>ARP</cite>) для генерации пакетов и <cite>srp</cite> для
@ -449,7 +449,7 @@ ARP‑запросы по указанной подсети и собирая о
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Класс для сканирования открытых портов на устройствах.</p>
<dl class="simple">
<dt>Назначение:</dt><dd><p>Плейсхолдер для будущего функционала активного сканирования TCP/UDP‑портов
<dt>Назначение:</dt><dd><p>Плейсхолдер для будущего функционала активного сканирования TCP/UDP-портов
у обнаруженных узлов. В текущей версии возвращает пустой список.</p>
</dd>
<dt>План развития:</dt><dd><ul class="simple">
@ -489,8 +489,8 @@ ARP‑запросы по указанной подсети и собирая о
<li><p>Определение подсети (вручную или авто по интерфейсу).</p></li>
<li><p>Загрузка ранее сохранённых устройств подсети.</p></li>
<li><p>Добавление локального устройства (если принадлежит подсети).</p></li>
<li><p>ARP‑сканирование и параллельная обработка узлов (обогащение данных).</p></li>
<li><p>Маркировка оффлайн‑узлов из кэша, не встреченных в текущем скане.</p></li>
<li><p>ARP-сканирование и параллельная обработка узлов (обогащение данных).</p></li>
<li><p>Маркировка оффлайн-узлов из кэша, не встреченных в текущем скане.</p></li>
<li><p>Сортировка по IP и сохранение объединённого списка в JSON.</p></li>
</ol>
</dd>

View file

@ -287,7 +287,7 @@
<dt class="sig sig-object py" id="services.wifi_service.WifiService">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">services.wifi_service.</span></span><span class="sig-name descname"><span class="pre">WifiService</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">translations</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Translations</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Depends(translations_dependency)</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/services/wifi_service.html#WifiService"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#services.wifi_service.WifiService" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Сервис для сканирования текущих Wi‑Fi точек доступа и заметок.</p>
<p>Сервис для сканирования текущих Wi-Fi точек доступа и заметок.</p>
<dl class="simple">
<dt>Источники данных:</dt><dd><ul class="simple">
<li><p><cite>pywifi</cite> для базового сканирования и получения списка AP.</p></li>
@ -338,7 +338,7 @@
<dt class="sig sig-object py" id="services.wifi_service.WifiStorage">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">services.wifi_service.</span></span><span class="sig-name descname"><span class="pre">WifiStorage</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">storage_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'storage/wifi/wifi.json'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">translations</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Translations</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Depends(translations_dependency)</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/services/wifi_service.html#WifiStorage"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#services.wifi_service.WifiStorage" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Класс для хранения данных о Wi‑Fi сетях и их заметках по SSID.</p>
<p>Класс для хранения данных о Wi-Fi сетях и их заметках по SSID.</p>
<dl>
<dt>Формат:</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“networks”: [{“ssid”: str, “note”: Optional[str]}]</p>