Skip to content
Aculeasis edited this page Dec 6, 2020 · 15 revisions

Терминал может использовать прокси для генерации голоса, распознавания голоса, получения ключей и генерации моделей. Можно выключать, включать и использовать отдельные прокси для всех кто их поддерживает.

Базовые настройки прокси

[proxy]
enable = 0
monkey_patching = on
proxy = socks5h://127.0.0.1:9050
  • enable: Общий параметр для всех кто использует прокси, может использоваться для "имитации" включения\выключения прокси (0 <-> 1).
  • monkey_patching: Включает поддержку прокси через подмену сокета для библиотек не использующих requests. Если ее отключить STT microsoft не сможет работать через прокси.
  • proxy: Сокращенная запись прокси.

Для работы прокси нужно задать как минимум <proxy_type>, <addr> и <port> иначе она будет проигнорирована.

Для аутентификации нужно задать <user> и <pass> иначе они будут проигнорированы.

Формат объявления прокси

Поддерживается два формата, сокращенный:

proxy = <proxy_type>://<addr>:<port>

с аутентификацией:

proxy = <proxy_type>://<user>:<pass>@<addr>:<port>

И полный:

proxy_type = <proxy_type>
addr = <addr>
port = <port>
# Опционально
username = <user>
password = <pass>

При запросе прокси, вначале ищет сокращенную запись а потом полную.

Типы прокси

В настоящий момент поддерживаются http, socks5 и socks5h. socks5h отличается от socks5 тем что проксирует dns-запросы.

Параметры использования проксей

Все что может использовать прокси имеет свой набор из одного или нескольких параметров. При запросе параметры перебираются в порядке приоритета и используется значение первого найденного. Если ни один параметр не найден используется enable.

Каждый параметр хранит целочисленный индекс прокси. Если индекс равен 0 прокси не используется, а если 1 то используется прокси без индекса (proxy или proxy_type, addr, port, username, password).

Если индекс больше единицы то используется прокси с соответствующим индексом, например с enable = 10 терминал будет искать proxy10 или proxy_type10, addr10, port10, username10, password10.

Список всех пользователей прокси и их параметры в порядке убывания приоритета:

  • TTS google: google_tts, google.
  • TTS yandex: yandex_tts, yandex.
  • TTS azure: azure_tts, azure.
  • TTS aws: aws.
  • TTS rhvoice-rest: rhvoice-rest.
  • STT google: google_stt, google.
  • STT yandex: yandex_stt, yandex.
  • STT azure: azure_stt, azure.
  • STT pocketsphinx-rest: pocketsphinx-rest.
  • STT wit.ai: wit.ai.
  • STT microsoft: microsoft.
  • Получение ключа для yandex: yandex_token, yandex.
  • Компиляция ключевых фраз: snowboy.
  • Авторизация на Azure: azure_token, azure.

Примеры

Через прокси работает только rhvoice-rest:

[proxy]
enable = 0
monkey_patching = on
proxy = socks5h://127.0.0.1:9050
rhvoice-rest = 1

Все что связано с Google работает через proxy2, с Yandex через proxy3, все остальное напрямую (proxy не используется):

[proxy]
enable = 0
google = 2
yandex = 3
proxy = socks5h://127.0.0.1:9050
proxy2 = http://127.0.0.1:8118
proxy3 = socks5://127.0.0.1:1080

Все что связано с Yandex работает через proxy2, получение ключей для Yandex и TTS Google работает напрямую, все остальное через proxy:

[proxy]
enable = 1
yandex = 2
yandex_token = 0
google_token = 0
proxy = socks5h://127.0.0.1:9050
proxy2 = http://127.0.0.1:8118