Как пользоваться командами и скриптами на iPhone: от Shortcuts до терминала

Современные iPhone скрывают под оболочкой iOS мощные инструменты для автоматизации, отладки и расширенного управления — от простых команд в приложении «Команды» (Shortcuts) до низкоуровневых скриптов через Terminal или SSH. Однако Apple не афиширует эти возможности: большинству пользователей они просто не нужны, а неосторожное использование может привести к блокировке устройства или потере гарантии.

В этом руководстве мы разберём легитимные и неочевидные способы работы с командами на iPhone — от базовых скриптов в Shortcuts до продвинутых инструментов вроде Pythonista или подключения по SSH к джейлбрейкнутому устройству. Вы узнаете, как автоматизировать рутинные задачи, тестировать сети, управлять файлами и даже запускать Linux-команды прямо на смартфоне. Но помните: некоторые методы требуют разблокировки загрузчика или установки сторонних утилит — это риск, на который готов не каждый.

1. Базовые команды в приложении «Команды» (Shortcuts)

Приложение Shortcuts (ранее Workflow) — это официальный инструмент Apple для автоматизации действий на iPhone. Здесь нет классического «терминала», но есть визуальный конструктор скриптов, который позволяет комбинировать команды из сотен предопределённых действий. Например, можно создать скрипт, который:

  • 📎 Автоматически сохраняет все вложения из писем в iCloud Drive;
  • 🔄 Конвертирует видео в GIF и отправляет в Telegram;
  • 📊 Собирает статистику использования приложений за неделю.

Чтобы создать свою первую команду:

  1. Откройте приложение Shortcuts.
  2. Нажмите «Создать команду» (значок «+»).
  3. Добавьте действия из библиотеки (например, «Получить файлы» → «Сохранить файл»).
  4. Настройте параметры и сохраните.

Готовые команды можно запускать:

  • 🔘 Из виджетов на главном экране;
  • 🗣️ Голосом через Siri («Эй, Сири, запусти команду Резервное копирование фото»);
  • 🔗 По ссылке (если включена опция «Показать в разделе «Общий доступ»).
📊 Как часто вы используете приложение «Команды» (Shortcuts)?
Никогда не пробовал
Редко, для простых задач
Регулярно, автоматизирую рутину
Пишу сложные скрипты с API

2. Терминал на iPhone: как запускать Linux-команды

Официально iOS не предоставляет доступ к терминалу, но есть обходные пути:

  1. Приложения-эмуляторы терминала (например, a-Shell или Termius). Они позволяют выполнять ограниченный набор команд в пессочнице iOS, но без прав суперпользователя.
  2. Jailbreak + терминал. После взлома системы (например, через palera1n или Dopamine) устанавливается полноценный bash с правами root.
  3. Удалённое подключение по SSH. Если на iPhone запущен SSH-сервер (требуется джейлбрейк), можно подключаться с ПК и выполнять команды.

Пример простых команд в a-Shell:

# Просмотр списка файлов в папке документов

ls ~/Documents

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

ping apple.com

Вывод информации о системе (ограниченная версия)

uname -a

Что будет, если пытаться получить root-доступ без джейлбрейка?

Без взлома системы любые попытки выполнить команды от имени суперпользователя (например, sudo) завершатся ошибкой «Operation not permitted». iOS блокирует такие действия на уровне ядра.

Для продвинутых пользователей есть приложение Pythonista — оно позволяет писать и выполнять скрипты на Python 3 прямо на iPhone. Например, скрипт для скачивания файлов:

import requests

url = "https://example.com/file.zip"

response = requests.get(url)

with open("file.zip", "wb") as f:

f.write(response.content)

3. Команды для отладки сети и диагностики

Если ваш iPhone плохо ловит сеть или тормозит интернет, можно использовать скрытые команды для диагностики. Большинство из них доступны через режим полета + спецкоды:

Команда Описание Как запустить
*#06# Показывает IMEI устройства Набрать в приложении «Телефон»
3001#12345# Открывает Field Test Mode (проверка сигнала сотовой сети) Набрать → нажать «Вызов»
##002# Сброс всех переадресаций вызовов Набрать → «Вызов»
*#5005*7672# Проверка номера SMS-центра Набрать → «Вызов»

В Field Test Mode (код 3001#12345#) отображаются технические данные о сети:

  • 📶 Уровень сигнала в dBm (чем ближе к -50, тем лучше);
  • 📡 Тип сети (LTE, 5G NR, UMTS);
  • 🔄 Информация о соте и операторе.

Для диагностики Wi-Fi используйте приложение Network Analyzer (бесплатно в App Store). Оно показывает:

  • 📊 Скорость загрузки/отдачи;
  • 🔌 Список подключённых устройств в сети;
  • 🛡️ Тип шифрования (WPA3, WPA2).

4. Автоматизация с помощью скриптов на JavaScript

В iOS 15+ появилась поддержка JavaScript-скриптов в приложении «Команды». Это позволяет создавать более сложную логику, чем стандартные действия. Например, скрипт для парсинга веб-страницы:

// Получение данных с сайта и извлечение заголовков

const url = "https://example.com/news";

const response = await fetch(url);

const html = await response.text();

// Используем регулярку для извлечения заголовков

const titles = html.match(/<h2>(.*?)<\/h2>/g);

completion(titles.join("\n"));

Чтобы добавить такой скрипт:

  1. В приложении Shortcuts создайте новую команду.
  2. Добавьте действие «Выполнить скрипт».
  3. Выберите язык JavaScript и вставьте код.
  4. Добавьте действие «Показать результат» для вывода данных.

Убедиться, что iOS обновлён до версии 15 или новее|Включить опцию «Показывать в разделе Общий доступ» для отладки|Проверить подключение к интернету (для fetch-запросов)|Сохранить резервную копию команды перед тестированием-->

Примеры полезных скриптов:

  • 📅 Автоматическое добавление событий из Google Calendar в Календарь iOS;
  • 📊 Агрегация данных из нескольких API (погода, курсы валют);
  • 🔍 Поиск дубликатов фото в Галерее.
const data = await fetch(`https://api.openweathermap.org/data/2.5/weather?q=Москва&appid=YOUR_API_KEY`).then(r => r.json());-->

5. Работа с файлами через команды (без джейлбрейка)

Даже без взлома системы можно управлять файлами через:

  • 📁 Файлы iCloud (доступ через Shortcuts);
  • 🔌 WebDAV/SSH (приложения FileExplorer или Termius);
  • 🖥️ Подключение к ПК по AFP/SMB.

Пример команды в Shortcuts для перемещения файлов:

# Получаем все PDF-файлы из папки "Загрузки"

Get Files from "iCloud Drive/Загрузки" where Name ends with ".pdf"

Перемещаем их в папку "Документы/PDF"

Move Files to "iCloud Drive/Документы/PDF"

Для работы с системными файлами (например, логами) потребуется джейлбрейк. После его установки:

  1. Подключитесь по SSH (например, через Termius).
  2. Используйте команды:
# Просмотр логов системы

log show --last 1h --predicate 'process == "SpringBoard"'

Поиск больших файлов (>100 МБ)

find /var -type f -size +100M -exec ls -lh {} \;

6. Опасные команды: что не стоит запускать

Некоторые команды могут нарушить работу iOS или привести к потере данных. Вот что категорически не рекомендуется делать:

  • 🚨 Удаление системных файлов (например, rm -rf / — это мгновенный brick устройства);
  • 🔧 Изменение прав доступа к системным папкам (chmod 777 /System);
  • 🔄 Принудительный сброс NVRAM (может сбросить настройки сети).
Что такое "brick"?

Это состояние, когда iPhone перестаёт включаться или загружается только в режим DFU. Восстановить устройство можно только через перепрошивку, что часто ведёт к потере данных.

Даже без джейлбрейка некоторые действия в Shortcuts могут быть опасны. Например:

# Этот скрипт удалит ВСЕ фотографии из галереи!

Delete All Photos from "Recents"

⚠️ Внимание: Если вы используете команды для работы с iCloud, убедитесь, что у вас есть резервная копия. Ошибка в скрипте может привести к синхронизации пустых данных и потере файлов на всех устройствах.

7. Продвинутые инструменты: SSH, ADB и Python

Для опытных пользователей доступны инструменты, которые выходят за рамки стандартных возможностей iOS:

Инструмент Назначение Требования
Termius (SSH) Удалённое управление iPhone через терминал Jailbreak + установленный OpenSSH
Pythonista 3 Запуск Python-скриптов на устройстве iOS 12+ (без джейлбрейка)
iSH Shell Эмулятор Alpine Linux в пессочнице Без джейлбрейка, но с ограничениями
ADB (Android Debug Bridge) Отладка через ПК (ограниченно) Только для iTools или 3uTools

Пример подключения по SSH:

# Сначала установите OpenSSH через Cydia (для джейлбрейка)

Затем подключитесь с ПК:

ssh root@IP_ADRES_IPhONE

Пароль по умолчанию: alpine (измените его сразу!)

В Pythonista можно писать скрипты для автоматизации iOS. Например, бот для Telegram:

import telebot

import requests

bot = telebot.TeleBot("YOUR_TOKEN")

@bot.message_handler(commands=['start'])

def start(message):

bot.reply_to(message, "Hello from iPhone!")

bot.polling()

⚠️ Внимание: При использовании ADB через iTools не все команды Android будут работать на iPhone. Например, adb shell pm list packages вернёт пустой список — iOS не использует APK.

FAQ: Частые вопросы о командах на iPhone

Можно ли запускать команды на iPhone без джейлбрейка?

Да, но с серьёзными ограничениями. Вы можете использовать:

  • Приложение «Команды» (Shortcuts) для автоматизации;
  • Эмуляторы терминала вроде a-Shell (без прав root);
  • Скрипты на JavaScript/Python в специализированных приложениях.

Доступа к системным файлам или полноценного bash без взлома не будет.

Как узнать IP-адрес iPhone через команду?

Есть несколько способов:

  1. В Shortcuts добавьте действие «Получить сетевые детали»;
  2. В терминале (a-Shell) выполните:
    ifconfig | grep "inet "
  3. В Field Test Mode (код 3001#12345#) посмотрите раздел Serving Cell Info.
Можно ли через команды разблокировать iCloud?

Нет. Любые обещания «разблокировки» через терминал или скрипты — мошенничество. Apple ID и iCloud привязаны к аппаратному идентификатору (ECID), и обойти эту защиту программно невозможно. Единственный легальный способ — обратиться в поддержку Apple с доказательством владения устройством.

Какие команды помогут ускорить iPhone?

Скрипты не могут физически ускорить устройство, но могут оптимизировать его работу:

  • 🧹 Очистка кэша через Shortcuts (действие «Очистить кэш Safari»);
  • 🔋 Отключение фоновой активности приложений (настройка в Настройки → Основные → Обновление контента);
  • 📵 Сброс сетевых настроек (код *#31# или через Настройки).

Для реального ускорения поможет только сброс до заводских настроек или замена аккумулятора (если устройство тормозит из-за износа батареи).

Как создать команду для автоматического ответа на SMS?

В приложении «Команды»:

  1. Добавьте действие «Когда получено сообщение»;
  2. Укажите условие (например, текст «где ты?»);
  3. Добавьте действие «Отправить сообщение» с ответом;
  4. Включите команду в Автоматизации.

Для работы в фоновом режиме может потребоваться jailbreak или стороннее ПО вроде Activator.