Настройка правил
Правила передаются в Пас сворк через JSON-файл. Может быть использован только один файл правил для текущего устройства. Импорт нового файла заменяет все ранее сохранённые правила.
Формат файла
Файл должен содержать номер версии и массив правил. Ниже примеры файлов для соответствующих операционных систем:
- Windows
- macOS
- Linux
{
"version": 1,
"rules": [
{
"name": "SSH через PuTTY",
"match": {
"protocol": "ssh"
},
"command": {
"program": "C:\\Program Files\\PuTTY\\putty.exe",
"arguments": [
"-ssh",
"{URL:HOST}",
"-P",
"{URL:PORT:22}",
"-l",
"{LOGIN}"
]
}
},
{
"name": "Подключение к удалённому рабочему столу",
"match": {
"protocol": "rdp"
},
"command": {
"program": "C:\\Windows\\System32\\mstsc.exe",
"arguments": [
"/v:{URL:HOST}:{URL:PORT:3389}"
]
}
}
]
}
{
"version": 1,
"rules": [
{
"name": "SSH через SecureCRT",
"match": {
"protocol": "ssh"
},
"command": {
"program": "/Applications/SecureCRT.app/Contents/MacOS/SecureCRT",
"arguments": [
"/SSH2",
"/L",
"{LOGIN}",
"/P",
"{URL:PORT:22}",
"{URL:HOST}"
]
}
}
]
}
{
"version": 1,
"rules": [
{
"name": "SSH через GNOME Terminal",
"match": {
"protocol": "ssh"
},
"command": {
"program": "/usr/bin/gnome-terminal",
"arguments": [
"--",
"/usr/bin/ssh",
"-p",
"{URL:PORT:22}",
"{LOGIN}@{URL:HOST}"
]
}
},
{
"name": "Подключение через FreeRDP",
"match": {
"protocol": "rdp"
},
"command": {
"program": "/usr/bin/xfreerdp",
"arguments": [
"/v:{URL:HOST}:{URL:PORT:3389}",
"/u:{LOGIN}"
]
}
}
]
}
В примерах используются следующие ссылки:
ssh://server.company.com:22— запуск SSH-клиента;rdp://server.company.com:3389— запуск RDP-клиента в Windows или Linux;
Пути к программам, их названия и поддерживаемые аргументы зависят от операционной системы и способа установки программы. Перед импортом необходимо адпатировать файл под используемые приложения.
Параметры файла и правил
| Параметр | Описание |
|---|---|
version | Версия формата файла 1. |
rules | Массив правил. Должен содержать хотя бы одно правило. |
name | Назв ание правила, отображается при подтверждении запуска. |
match.protocol | URI-схема без ://, например rdp, ssh или vnc. |
command.program | Программа, которую нужно запустить. |
command.arguments | Массив аргументов программы. Каждый элемент массива передаётся как отдельный аргумент. |
Регистр URI-схемы не учитывается. Значения RDP, rdp и rdp: обрабатываются как одна схема. Для одной URI-схемы можно определить только одно правило. Если в файле несколько правил с одинаковой схемой, файл не будет импортирован.
Подстановки
В аргументах программы можно использовать данные записи и части URI.
| Подстановка | Значение |
|---|---|
{NAME} | Название записи. |
{LOGIN} | Логин из записи. |
{PASSWORD} | Пароль из записи. |
{URL} | Полный URI, по которому пользователь выполнил переход. |
{URL:SCM} | URI-схема без двоеточия. |
{URL:HOST} | Имя хоста без порта. |
{URL:PORT} | Порт из URI. Если порт не указан, передаётся пустая строка. |
{URL:PORT:значение} | Порт из URI или указанное значение по умолчанию. Например, {URL:PORT:22}. |
{URL:PATH} | Путь из URI. |
{URL:QUERY} | Строка запроса вместе с ?. |
{URL:USERINFO} | Имя пользователя и пароль из URI, если они указаны. |
{URL:USERNAME} | Имя пользователя из URI. |
{URL:PASSWORD} | Пароль из URI. |
{URL:RMVSCM} | URI без схемы: хост, порт, путь и строка запроса. |
{CUSTOM:Имя поля} | Значение дополнительного поля записи с указанным именем. |
Имена подстановок и дополнительных полей чувствительны к регистру. Если дополнительное поле не найдено, вместо него передаётся пустая строка. Подстановки разрешены только в command.arguments. Путь к программе в command.program должен быть постоянным.
При подстановки {PASSWORD}, {URL:PASSWORD}, {URL:USERINFO} и дополнительных полей с типом пароль передают программе чувствительные данные. Перед таким запуском Пассворк запрашивает отдельное подтверждение.
Импорт файла
При импорте Пассворк:
- проверяет размер и структуру JSON-файла;
- проверяет обязательные параметры каждого правила;
- проверяет URI-схемы, пути к программам и подстановки;
- отклоняет дублирующиеся URI-схемы;
- показывает пользователю список соответствий
URI-схема → программа; - сохраняет правила только после подтверждения пользователя.
Если одно правило не прошло проверку, весь файл отклоняется. Остальные правила из этого файла также не импортируются. Полный список ограничений на файл и программы приведён в разделе ограничения и безопасность.