{{define "settings-body"}}

Настройки

{{if .Error}}
{{.Error}}
{{end}}

Установка на новую машину

Выполните на Linux-клиенте под root. Скрипт сам скачает бинарник, поставит сервис и зарегистрирует машину.

{{.InstallShort}}
латиница и цифры, от 3 до 24; новый код отменяет старую ссылку
Полные варианты (секрет в команде)
{{.InstallCurl}}
{{.InstallWget}}
{{if .Direct}}
{{.DirectShort}}
{{.DirectCurl}}
{{end}}

Без переменных окружения скрипт спросит секрет интерактивно: curl -fsSL {{.Host}}/install.sh | sudo sh

Адрес хоста

URL, на который звонят агенты. Подставляется в скрипт установки.

Имя, которое ведёт прямо на сервер, мимо прокси. Агенты переходят на него, если основной недоступен 30 секунд, и возвращаются, когда он ответит; уже установленные получат его сами. Установщик качает агента с него, если основной не отвечает. Если хост туннеля ниже не задан, туннель тоже идёт на этот хост. Ключи доступа с основного домена работают на прямом, если он его поддомен (direct.lpra.example.com).

Прямой туннель (tcp/udp проброс)

{{if not .TunnelDefault}}

Прямой туннель отключён при запуске сервера (пустой -tunnel / LPRA_TUNNEL_ADDR).

{{else}}

Адрес, к которому агенты подключаются для проброса в режимах tcp/udp. Агенты забирают его с панели сами - при подключении и при каждом опросе, так что смена применяется без переустановки. Хост можно оставить пустым (тогда берётся хост из адреса панели) или указать IP/другое имя.

Сейчас сервер слушает порт {{.TunnelPort}} (tcp и udp). При смене порта сервер сразу начинает слушать новый, агенты переподключаются в течение ~30 секунд, правило ufw переносится. Агенты старше 0.0.3 и агенты с заданными TUNNEL_ADDR/TUNNEL_PORT адрес с панели не берут.

{{end}}

ИИ-ассистент

Чат в правом нижнем углу панели: видит вкладки и активный терминал, предлагает команды, которые пользователь выполняет одним нажатием. Каждый включает его себе сам в профиле. Ключ хранится на сервере и в браузер не уходит.

{{if .AI.Key}}{{end}}

Enroll-секрет

Общий секрет для регистрации новых агентов.

{{.Secret}}

Пользователи

Администратор видит всё. Пользователь - только выданные ему машины, без настроек. «Пароль» - можно ли входить по паролю (выключить можно, когда у человека есть ключ доступа); «Закрепить» - он не сможет сам поменять это в своём аккаунте.

{{range .Admins}} {{end}}
ИмяРольВходПарольЗакрепить
{{.Username}}{{if eq .ID $.Me.ID}} (вы){{end}} {{index $.AgentCounts .ID}} {{with index $.KeyCounts .ID}}ключей: {{.}}{{else}}только пароль{{end}} {{if index $.KeyCounts .ID}}
{{end}}
Машины пользователя

Firewall (ufw)

{{if not .UfwInstalled}}

ufw не установлен на хосте - интеграция недоступна.

{{else if not .UfwRunnable}}

ufw установлен, но сервер не может им управлять (нужны права root). Запустите сервер под root или настройте sudo для ufw.

{{else}}

Статус ufw: {{if .UfwActive}}активен{{else}}выключен{{end}} · Интеграция: {{if .UfwEnabled}}включена{{else}}выключена{{end}}

При создании правила проброса порт открывается в ufw автоматически (для tcp/udp - также порт туннеля{{if .TunnelPort}} {{.TunnelPort}}{{end}}); для http-проброса открывается tcp-порт хоста. Порты правил, слушающих только 127.0.0.1, не открываются.

{{if .UfwError}}
Последняя команда ufw завершилась ошибкой: {{.UfwError}}
{{end}}
{{if .UfwRules}}

Правила, созданные панелью

{{range .UfwRules}} {{end}}
{{.Port}}/{{.Proto}} {{if .Manual}}вручную{{else if .RuleID}}проброс{{else}}туннель{{end}}
{{else}}

Панель пока не открывала портов в ufw.

{{end}} {{if and .UfwActive .UfwEnabled}}

Открыть порт вручную

Такое правило не привязано к пробросу и остаётся, пока его не отменить здесь.

{{end}} {{end}}

LPRA сервер · версия {{.ServerVersion}}

{{end}}