SECURE PIPES 2 Руководство пользователя

Снимки показывают английский интерфейс; схемы отображаются на языке руководства. Названия элементов в приложении могут отличаться в зависимости от выбранного языка.

AppleScript — Справочник команд

Описания команд и примеры для копирования соответствуют разделу автоматизации в приложении для Mac. Справочники включают существующие команды и дополнения версии 2.0.17.

Справочник команд AppleScript

Описания всех команд и полные примеры синхронизированы со встроенной справкой Mac. Перед запуском замените имена и ID из примеров. Они могут менять реальные подключения и настройки; не запускайте всю страницу как один сценарий.

Справочник команд

Используйте приведённую фразу команды. Имя подключения или тег группы указывайте в кавычках.

start

Запускает Secure Pipes без отображения окна.

tell application "Secure Pipes" to start

show

Показывает окно Secure Pipes.

tell application "Secure Pipes" to show

hide

Скрывает окно, оставляя Secure Pipes и подключения запущенными.

tell application "Secure Pipes" to hide

shutdown

Завершает Secure Pipes и останавливает активные подключения.

tell application "Secure Pipes" to shutdown

list connections

Показывает список сохранённых подключений.

tell application "Secure Pipes" to list connections

list connection groups

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

tell application "Secure Pipes" to list connection groups

connect connection "Build Tunnel (Local Forward)"

Запускает сохранённое подключение.

tell application "Secure Pipes" to connect connection "Build Tunnel (Local Forward)"

disconnect connection "Build Tunnel (Local Forward)"

Останавливает сохранённое подключение.

tell application "Secure Pipes" to disconnect connection "Build Tunnel (Local Forward)"

connection status "Build Tunnel (Local Forward)"

Возвращает текущее состояние подключения.

tell application "Secure Pipes" to connection status "Build Tunnel (Local Forward)"

connect group "engineering"

Запускает группу с сохранёнными настройками.

tell application "Secure Pipes" to connect group "engineering"

disconnect group "engineering"

Останавливает группу и подключения её участников.

tell application "Secure Pipes" to disconnect group "engineering"

Используйте UUID подключения в скриптах, чтобы они работали и после переименования. Также поддерживаются уникальные имена и полные имена с типом. При совпадении имён используйте UUID.

Удалённый рабочий стол

list remote desktops

Список сохранённых подключений RDP/VNC.

tell application "Secure Pipes" to list remote desktops

get remote desktop "<ID>"

Получить подключение по ID без учётных данных.

tell application "Secure Pipes" to get remote desktop "DESKTOP-ID"

create remote desktop <JSON>

Создать с помощью name и values. Для заданного хоста укажите hostProfileUUID.

tell application "Secure Pipes" to create remote desktop "{\"name\":\"Office desktop\",\"values\":{\"hostProfileUUID\":\"PRESET-HOST-ID\",\"remoteDesktopType\":\"rdp\",\"remoteDesktopUsername\":\"alice\",\"remoteHost\":\"192.168.1.91\"}}"
tell application "Secure Pipes" to create remote desktop "{\"name\":\"Office VNC\",\"values\":{\"hostProfileUUID\":\"PRESET-HOST-ID\",\"remoteDesktopType\":\"vnc\",\"remoteDesktopVNCOpenMode\":\"screenSharing\"}}"

update remote desktop <JSON>

Обновить по id; name и values необязательны.

tell application "Secure Pipes" to update remote desktop "{\"id\":\"DESKTOP-ID\",\"values\":{\"remoteDesktopOptions\":{\"screen mode id\":1,\"audiomode\":2}}}"

open remote desktop "<ID>"

При необходимости запустить SSH-туннель, затем открыть сохранённый клиент RDP/VNC.

tell application "Secure Pipes" to open remote desktop "DESKTOP-ID"

delete remote desktop "<ID>"

Удалить отключённое подключение по ID.

tell application "Secure Pipes" to delete remote desktop "DESKTOP-ID"

Имена пользователей можно записывать, но они никогда не возвращаются. Пароли SSH и файлы ключей задаются в Secure Pipes; пароль рабочего стола вводится в клиенте.

Планы заданий

Создавать и контролировать задания. Чтение никогда не возвращает пароли или содержимое закрытых ключей.

list task plans

Показать планы как JSON без конфиденциальных данных.

tell application "Secure Pipes" to list task plans

get task plan "work-start"

Прочитать план по ID как JSON без конфиденциальных данных.

tell application "Secure Pipes" to get task plan "work-start"

create task plan <JSON>

Создать проверенный план с ID подключений/групп в действиях, без учётных данных.

tell application "Secure Pipes"
    create task plan "{\"id\":\"work-start\",\"hour\":9,\"minute\":0,\"repeat\":2,\"actions\":[{\"type\":\"start_group\",\"id\":\"work\"}]}"
end tell

update task plan <JSON>

Обновить по существующему ID и изменяемым полям.

tell application "Secure Pipes"
    update task plan "{\"id\":\"work-start\",\"hour\":8,\"minute\":45,\"repeat\":2,\"actions\":[{\"type\":\"start_group\",\"id\":\"work\"}]}"
end tell

set task plan enabled "work-start"

Включить/отключить без изменения расписания. Параметр по умолчанию true.

tell application "Secure Pipes" to set task plan enabled "work-start" enabled false
tell application "Secure Pipes" to set task plan enabled "work-start" enabled true

run task plan "work-start"

Выполнить план сейчас и вернуть результат JSON.

tell application "Secure Pipes" to run task plan "work-start"

delete task plan "work-start"

Удалить сохранённый план по ID.

tell application "Secure Pipes" to delete task plan "work-start"

JSON поддерживает repeat 0–6, выбранные дни, диапазоны ISO 8601 или YYYY-MM-DD и проверенные действия. Сначала получите ID через list connections и list connection groups.

Правила и сценарии использования

Для изменения правил или переключения сценария используйте ID либо уникальное имя. При переключении активные подключения разрываются и устанавливаются заново. При удалении сценария его правила сохраняются; правила без других сценариев становятся общими.

list proxy rules

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

tell application "Secure Pipes" to list proxy rules

list scenarios

Показывает сценарии, включая Universal, с ID, именем и состоянием активности.

tell application "Secure Pipes" to list scenarios

current scenario

Показывает имя активного сценария.

tell application "Secure Pipes" to current scenario

switch scenario "Office"

Переключает сценарий по ID или уникальному имени и переподключает затронутые соединения по выбранным правилам.

tell application "Secure Pipes" to switch scenario "Office"

enable proxy rule "Work websites"

Включает правило по ID или уникальному имени.

tell application "Secure Pipes" to enable proxy rule "Work websites"

disable proxy rule "Work websites"

Отключает правило, не удаляя его.

tell application "Secure Pipes" to disable proxy rule "Work websites"

set rule scenarios "Work websites" scenarios {"Office", "Travel"}

Заменяет назначенные правилу сценарии. Universal делает правило универсальным.

tell application "Secure Pipes" to set rule scenarios "Work websites" scenarios {"Office", "Travel"}

create scenario "Travel"

Создаёт сценарий с уникальным именем и возвращает его ID.

tell application "Secure Pipes" to create scenario "Travel"

rename scenario "Travel" to "Mobile work"

Переименовывает сценарий, сохраняя назначения правил.

tell application "Secure Pipes" to rename scenario "Travel" to "Mobile work"

delete scenario "Travel"

Удаляет сценарий, но сохраняет его правила. Правила без других сценариев становятся универсальными.

tell application "Secure Pipes" to delete scenario "Travel"

Полный пример

tell application "Secure Pipes"
    set savedRules to list proxy rules
    set savedScenarios to list scenarios
    set selectedScenario to current scenario
    switch scenario "Office"
    enable proxy rule "Work websites"
    disable proxy rule "Work websites"
    set rule scenarios "Work websites" scenarios {"Office", "Travel"}
    set rule scenarios "Work websites" scenarios {}
    set newScenarioID to create scenario "Travel"
    rename scenario newScenarioID to "Mobile work"
    delete scenario newScenarioID
end tell

Прокси и общий доступ к сети

Общий доступ использует сохранённые адрес, порт и параметры аутентификации. При необходимости открывается окно подтверждения. Для режима шлюза по-прежнему нужны подтверждение рисков и разрешение macOS.

list proxy servers

Показывает настроенные прокси-серверы: ID, имя, тип и адрес, без учётных данных.

tell application "Secure Pipes" to list proxy servers

transparent proxy status

Показывает состояние прозрачного прокси и системного расширения, а также соответствие версий.

tell application "Secure Pipes" to transparent proxy status

initialize transparent proxy

Устанавливает или восстанавливает системное расширение. macOS может запросить разрешение; прозрачный прокси не запускается.

tell application "Secure Pipes" to initialize transparent proxy

start transparent proxy

Запускает прозрачный прокси с текущими правилами маршрутизации после подготовки расширения.

tell application "Secure Pipes" to start transparent proxy

stop transparent proxy

Останавливает прозрачный прокси. Общий доступ к сети зависит от этой службы.

tell application "Secure Pipes" to stop transparent proxy

network sharing status

Показывает состояние общего доступа и шлюза. Во время работы отображаются действующие режимы, после остановки — сохранённые.

tell application "Secure Pipes" to network sharing status

set sharing modes "both"

Выбирает прокси, шлюз, оба режима или отключение для следующего ручного запуска. Перед сменой режима остановите общий доступ.

tell application "Secure Pipes" to set sharing modes "both"

start network sharing

Запускает выбранные режимы с сохранёнными адресом, портом и параметрами аутентификации. Может потребоваться подтверждение.

tell application "Secure Pipes" to start network sharing

stop network sharing

Останавливает шлюз и общий прокси-сервер. Прозрачный прокси продолжает работать.

tell application "Secure Pipes" to stop network sharing

Полный пример

tell application "Secure Pipes"
    set servers to list proxy servers
    set proxyState to transparent proxy status
    initialize transparent proxy
    start transparent proxy
    set sharing modes "both"
    set sharingState to network sharing status
    start network sharing
    stop network sharing
    stop transparent proxy
end tell

Подключения, активность и журналы

Используйте ID из списков для точного поиска. Подробности возвращаются как текст JSON.

group status "engineering"

Показывает результат группы и состояние каждого участника.

tell application "Secure Pipes" to group status "engineering"

wait for connection "Build Tunnel" timeout 30

Ждёт готовности подключения; сбой или тайм-аут возвращает ошибку.

tell application "Secure Pipes" to wait for connection "Build Tunnel" timeout 30

preview route "example.com" port 443

Предсказывает локальное правило в текущем сценарии; доступность не проверяется.

tell application "Secure Pipes" to preview route "example.com" port 443 application "com.apple.Safari" transport "TCP"

test proxy server "proxy-id"

Проверяет сохранённый прокси и возвращает результат, причину и время.

tell application "Secure Pipes" to test proxy server "proxy-id"

list active flows "PROXY"

Показывает активность прокси; LAN — общий доступ, ALL — оба вида.

tell application "Secure Pipes" to list active flows "PROXY"

list active flows "LAN"

Показывает подключения общего доступа к сети.

tell application "Secure Pipes" to list active flows "LAN"

end active flow "flow-id"

Закрывает активный поток по его ID.

tell application "Secure Pipes" to end active flow "flow-id"

list recent logs

Показывает до 200 последних очищенных записей журнала, начиная с новых.

tell application "Secure Pipes" to list recent logs

log detail "log-id"

Показывает полную недавнюю запись журнала по ID.

tell application "Secure Pipes" to log detail "log-id"

Примеры для Терминала

Выполните команду AppleScript в Терминале с помощью osascript. macOS может запросить разрешение на управление Secure Pipes из Терминала.

Список групп подключений

osascript -e 'tell application "Secure Pipes" to list connection groups'

Пример результата

engineering, on-call

Теги определяют состав группы. Запуск учитывает сохранённый порядок, параллельный или последовательный режим и обработку ошибок.

Запуск или остановка группы

osascript -e 'tell application "Secure Pipes" to connect group "engineering"'
osascript -e 'tell application "Secure Pipes" to disconnect group "engineering"'

Просмотр и управление подключением

osascript -e 'tell application "Secure Pipes" to list connections'
osascript -e 'tell application "Secure Pipes" to connection status "Build Tunnel (Local Forward)"'
osascript -e 'tell application "Secure Pipes" to connect connection "Build Tunnel (Local Forward)"'

Запуск из Терминала

Сохраните файл и передайте его путь команде osascript:

osascript ~/Scripts/Connect\ Tunnel.applescript

Запуск из файла сценария

Сохраните пример с расширением .applescript и запустите его в редакторе сценариев или через osascript.

Подключение по имени

Замените пример именем из списка list connections.

on run
    -- Leave this blank to skip opening a URL after connecting.
    set postConnectURL to ""
    -- Get the saved connections.
    tell application "Secure Pipes"
        set availableConnections to list connections
    end tell
    if (count of availableConnections) is 0 then return

    set selectedConnection to choose from list availableConnections
    if selectedConnection is false then return
    set targetConnection to item 1 of selectedConnection

    -- Start the selected connection and wait up to 90 seconds.
    tell application "Secure Pipes"
        connect connection targetConnection
        set currentState to "connecting"
        repeat with attempt from 1 to 90
            set currentState to connection status targetConnection
            if currentState is "connected" then exit repeat
            if currentState is "authentication failed" or currentState is "unknown host key" or currentState is "host key changed" or currentState is "invalid" or currentState is "error" then exit repeat
            delay 1
        end repeat
    end tell
    -- Open the URL only if the connection comes up.
    if currentState is "connected" and postConnectURL is not "" then
        open location postConnectURL
    end if
    return currentState
end run

Выбор и запуск группы

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

on run
    -- Get the groups saved in Secure Pipes.
    tell application "Secure Pipes"
        set availableGroups to list connection groups
    end tell
    -- Let the user know if there are no groups to choose from.
    if (count of availableGroups) is 0 then
        display dialog "No tagged connection groups are available." buttons {"OK"}
        return
    end if

    -- Ask which group to start.
    set selectedGroup to choose from list availableGroups
    if selectedGroup is false then return
    set targetGroup to item 1 of selectedGroup

    tell application "Secure Pipes"
        connect group targetGroup
    end tell
end run

Разрешение на автоматизацию

Если macOS запросит разрешение, разрешите приложению, запускающему сценарий (например, Терминалу или редактору сценариев), управлять Secure Pipes в разделе «Системные настройки» > «Конфиденциальность и безопасность» > «Автоматизация».

На основе Secure Pipes 2.0.17 · Обновлено 9 ноября 2026 г.