github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/content/ru/docs/dashboard/gate/_index.md (about)

     1  
     2  ---
     3  title: "Gate"
     4  linkTitle: "Gate"
     5  date: 2024-01-04
     6  description: >
     7    
     8  ---
     9  
    10  {{< figure src="/smart-home/img/gate-network.svg" >}}
    11  
    12  Gate-сервер в системе Smart Home представляет собой ключевой компонент, обеспечивающий безопасный и удобный удаленный доступ к умному дому даже при отсутствии статического IP-адреса. Этот сервер позволяет пользователям управлять и мониторить свой дом из любой точки мира через интернет, обеспечивая защиту данных и комфортное взаимодействие.
    13  
    14  #### Преимущества Gate-сервера в системе Smart Home
    15  
    16  1. **Безопасность:**
    17      - **Шифрование данных:** Все данные, передаваемые между устройствами и Gate-сервером, шифруются для предотвращения несанкционированного доступа.
    18      - **Аутентификация:** Встроенные механизмы аутентификации гарантируют, что только авторизованные пользователи имеют доступ к системе.
    19  
    20  2. **Удобство Удаленного Доступа:**
    21      - **Без белого IP:** Пользователи могут подключаться к системе даже при отсутствии статического IP-адреса, что делает удаленный доступ более удобным и доступным.
    22  
    23  3. **Гибкость настройки:**
    24      - **Подключение к тестовому шлюзу:** Smart Home предоставляет встроенный Gate-клиент, который может подключаться к тестовому шлюзу по адресу https://gate.e154.ru:8443 для тестирования и настройки удаленного доступа.
    25  
    26  4. **Масштабируемость:**
    27      - **Поддержка множества устройств:** Gate-сервер спроектирован для обработки одновременных запросов от множества устройств, обеспечивая масштабируемость системы.
    28  
    29  #### Работа с Gate-клиентом в системе Smart Home
    30  
    31  1. **Настройка Gate-клиента:**
    32      - Включите режим Gate-сервера в системе Smart Home, указав адрес тестового шлюза или установив свой Gate-сервер.
    33      - Настройте параметры безопасности, такие как шифрование и аутентификация.
    34  
    35  2. **Подключение к Gate-серверу:**
    36      - Gate-клиент автоматически устанавливает безопасное соединение с Gate-сервером, не требуя белого IP-адреса.
    37      - Пользователи могут использовать мобильные приложения или веб-интерфейс для удаленного доступа.
    38  
    39  3. **Безопасное Удаленное Управление:**
    40      - Пользователи могут управлять устройствами, мониторить статус дома и получать уведомления даже находясь вдали от дома.
    41  
    42  ### Конфигурация сервера
    43  
    44  ```bash
    45  cat config.gate.json
    46  
    47  {
    48    "api_http_port": 8080,
    49    "api_https_port": 8443,
    50    "api_debug": false,
    51    "api_gzip": true,
    52    "pprof": false,
    53    "domain": "localhost",
    54    "https": false,
    55    "proxy_timeout": 5,
    56    "proxy_idle_timeout": 10,
    57    "proxy_secret_key": ""
    58  }
    59  
    60  ```
    61  Свойства полей для файла настроек `config.gate.json`:
    62  
    63  1. **`http_port` (int):**
    64     - **Описание:** Порт для HTTP API сервера.
    65     - **Пример значения:** `8080`.
    66  
    67  2. **`https_port` (int):**
    68     - **Описание:** Порт для HTTPS API сервера.
    69     - **Пример значения:** `8443`.
    70  
    71  3. **`debug` (bool):**
    72     - **Описание:** Включение режима отладки API сервера.
    73     - **Пример значения:** `true` (включено).
    74  
    75  4. **`gzip` (bool):**
    76     - **Описание:** Включение сжатия Gzip для API запросов.
    77     - **Пример значения:** `true` (включено).
    78  
    79  5. **`domain` (string):**
    80     - **Описание:** Доменное имя для Gate-сервера.
    81     - **Пример значения:** `example.com`.
    82  
    83  6. **`pprof` (bool):**
    84     - **Описание:** Включение режима профилирования сервера.
    85     - **Пример значения:** `true` (включено).
    86  
    87  7. **`https` (bool):**
    88     - **Описание:** Включение использования Let's Encrypt для автоматического получения SSL-сертификата для указанного домена.
    89     - **Пример значения:** `true` (включено).
    90  
    91  8. **`proxy_timeout` (int):**
    92     - **Описание:** Таймаут для прокси-соединений в секундах.
    93     - **Пример значения:** `5`.
    94  
    95  9. **`proxy_idle_timeout` (int):**
    96     - **Описание:** Таймаут прокси-соединений при отсутствии активности в секундах.
    97     - **Пример значения:** `10`.
    98  
    99  10. **`proxy_secret_key` (string):**
   100     - **Описание:** Секретный ключ для обеспечения безопасности прокси-соединений.
   101     - **Пример значения:** `mySecretKey`.
   102  
   103  Эти параметры предоставляют гибкий контроль над настройками Gate-сервера, включая безопасность, режимы работы и использование SSL-сертификатов через Let's Encrypt.
   104  
   105  ### Запуск сервера
   106  
   107  Gate сервер встроен в систему smart-home как отдельный режим, включаемый аргументом `gate``.
   108  
   109  ```bash
   110  ./smart-home help gate
   111  Organization of remote access without white IP
   112  
   113  Usage:
   114    server gate [flags]
   115  
   116  Flags:
   117    -h, --help   help for gate
   118  
   119  
   120  ./smart-home gate
   121  
   122    ___      _
   123   / __|__ _| |_ ___
   124  | (_ / _' |  _/ -_)
   125   \___\__,_|\__\___|
   126  
   127  
   128  INFO	gate            	server/gate_server.go:93 >	Started ...
   129  INFO	gate            	server/server.go:117 >	server started at :8080
   130  ```
   131