Заставьте Siri делать то, что вы хотите, с помощью SiriProxy на Mac OS X и iPad 3
IPhone

Заставьте Siri делать то, что вы хотите, с помощью SiriProxy на Mac OS X и iPad 3

Я давно хотел попробовать SiriProxy для некоторых проектов домашней автоматизации Arduino, но я отказываюсь покупать новый телефон, когда мой iPhone 4 все еще отлично работает. Но потом я понял; у меня уже есть Siri на моем iPad 3. Конечно, я могу это использовать? Действительно, можете. Поэтому в этом руководстве я расскажу вам, как заставить SiriProxy работать с вашим iPad 3 и Mac OSX

Я давно хотел попробовать SiriProxy для некоторых проектов домашней автоматизации Arduino, но я отказываюсь покупать новый телефон, когда мой iPhone 4 все еще отлично работает (да, я перестал пользоваться своим HTC One X; 6 месяцев с Android для меня более чем достаточно). Но потом я понял: у меня уже есть Siri на моем iPad 3. Наверняка я могу использовать ее? Действительно, можно. Так что в этом руководстве я расскажу вам, как заставить SiriProxy работать с вашим iPad 3 и Mac OS X – многое из этого будет актуально только для Mountain Lion

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

Требования

  • iPad или iPhone с поддержкой Siri. Я не буду показывать, как взломать Siri на старых устройствах с помощью поддельных серверов, так что не спрашивайте.
  • Mac OS X. Вы можете установить SiriProxy и на Linux, но я не буду пробовать это сегодня.
  • iOS6. 1.

Подготовка

Загрузите программу установки pkg для вашей версии OS X с сайта MacPorts.org. MacPorts позволяет нам устанавливать различные утилиты UNIX, которые были перенесены на Mac. Вам также понадобится установленный XCode, который можно бесплатно загрузить из Mac App Store, но он довольно объемный, так что приступайте к работе прямо сейчас

MacPorts добавляет некоторые новые записи путей в вашу систему, но не обновляет их корректно. Чтобы избежать ошибок port command not found в дальнейшем, выполните

source.profile

На этом этапе вам также потребуется установить XCode из магазина приложений. После установки выполните эту команду, чтобы указать системе, где находится компилятор:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Далее установите DNSMasq – простой DNS-форвардер, который позволяет нам перехватывать запросы к определенному IP

sudo port install dnsmasq

 

Установите Ruby и RVM

Скачайте и установите менеджер пакетов RVM с помощью этой команды:

bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

Затем запустите это, чтобы правильно добавить его в вашу систему:

   -s '$HOME/.rvm/scripts/rvm'    && '$HOME/.rvm/scripts/rvm'

Установите Ruby с помощью следующей команды; здесь будет использоваться последняя версия 1. 9. 3 на момент написания статьи, и я советую вам сделать то же самое, иначе остальная часть этого руководства, вероятно, не будет работать

rvm install 1. 9. 3

Если вы получите кучу случайного красного текста с ошибкой, запустите это вместо этого:

rvm install 1. 9. 3 –with-gcc=clang

тогда делайте

rvm use 1. 9. 3 default

чтобы установить версию среды ruby по умолчанию. Поздравляем, теперь в вашей системе есть Ruby!

Загрузите SiriProxy

Начните с использования Git для клонирования проекта SiriProxy на вашу машину

git clone git://github.com/plamoni/SiriProxy.git

 

cd /SiriProxy

Когда вы делаете это впервые, вы можете получить предупреждение безопасности об обнаружении файлов сценариев. Доверьтесь этому, если вы загрузили его из источника на github

Далее мы скопируем файл конфигурации

mkdir ~/.siriproxy

 

cp./config.example.yml ~/.siriproxy/config.yml

Откройте этот файл конфигурации с помощью вашего любимого текстового редактора и измените IP в верхней части файла с 0. 0. 0. 0 на локальный IP вашего Mac. Двигаемся дальше:

rvmsudo gem install rake bundler

 

rvmsudo rake install

Это должно установить SiriProxy для вас, но нам нужно будет повторить это позже, чтобы разобраться с ошибками. А пока давайте продолжим и создадим несколько сертификатов

Сначала нам понадобится установленный OpenSSL

sudo port install openssl

В первый раз, когда я запустил эту программу, она не сработала из-за многочисленных ошибок zlib; чтобы исправить это, мне нужно было выполнить

sudo port -f activate zlib

Далее мы сгенерируем сертификаты:

siriproxy gencerts

Если все идет хорошо, вы должны увидеть сообщение, подобное этому

Используйте опцию меню Finder->Go to Folder для ввода пути, указанного в выводе; вы должны найти там файл ca.pem. Отправьте его себе по электронной почте, а затем откройте его на устройстве с поддержкой Siri. Это приведет к переходу к настройкам и даст вам возможность установить его как новый сертификат. Нет, в первый раз на вашем сертификате будет написано недоверенный (красным цветом) – я сделал этот снимок экрана после установки, поэтому на нем написано доверенный

Вернувшись на свой Mac, выполните следующую команду, чтобы обновить некоторые необходимые произвольные файлы

bundle install

 

Настройте переадресацию DNS

Последний шаг – превратить ваш Mac в DNS-сервер, который может перехватывать звонки на серверы Apple и направлять их через SiriProxy. Снова, используя Finder->Go To Folder, откройте /opt/local/etc и отредактируйте dnsmsq.conf. Добавьте следующую строку, заменив 192. 168. 0. 6 на локальный IP-адрес вашего Mac

address=/guzzoni.apple.com/192. 168. 0. 6

Чтобы активировать службу DNSMasq, выполните следующее. Вам нужно будет делать это при каждом перезапуске (вместе с запуском SiriProxy, как мы опишем позже)

sudo /opt/local/sbin/dnsmasq

На iPad или iPhone откройте настройки сети и измените DNS-сервер WiFi на IP-адрес вашего Mac. Да, SiriProxy будет работать только через ваш домашний WiFi, но теоретически вы можете подключить VPN к вашему домашнему маршрутизатору, если хотите использовать его вне дома. Мы не будем рассматривать этот вопрос сегодня

Мне также нужно установить новое правило переадресации портов на маршрутизаторе; порт 53 должен быть перенаправлен на IP-адрес вашего Mac.(Это порт, используемый DNS)

Запустите SiriProxy

Последний шаг – запуск сервера SiriProxy и тестирование. Сделайте это, используя:

export rvmsudo_secure_path=1

Если на этом этапе вы получаете экран, полный ошибок типа ‘недопустимый символ’, как только вы нажимаете кнопку Home, продолжайте этот пункт. Вы получаете ошибки из-за старой версии CFPropertyList, включенной в пакет SiriProxy. Надеюсь, это будет исправлено в ближайшее время, так что, возможно, вам это не понадобится, но на всякий случай

Загрузите самую новую версию CFPropertyList следующим образом:

sudo gem install CFPropertyList -v 2. 1. 2

Теперь используйте F inder для Go To Folder ~/.rvm/gems/. Перейдите внутрь последней версии Ruby – в моем случае ruby-1. 9. 3-p385/ и скопируйте папку gems/CFPropertyList-2. 1. 2/lib в ruby-1. 9. 3-p385@SiriProxy/gems/CFPropertyList 2. 2. 0 . Да, проверьте подлинность и перезапишите либу старой версии либой из новой версии; ужасный хак, но это единственный способ, которым я смог заставить ее работать. Последнее необходимое исправление – это ручное редактирование файла gemspec. Для этого перейдите в каталог SiriProxy и откройте siriproxy.gemspec. Сделайте это из командной строки с помощью VI или Nano, используя:

sudo vi siriproxy.gemspec

Или просто используйте текстовый редактор. Замените строку, которая находится примерно в 4 строке снизу и содержит ‘CFPropertyList’ , на следующую:

s.add_runtime_dependency('CFPropertyList', '2. 1. 2')

Теперь запустите

rvmsudo siriproxy update

И все должно быть хорошо в мире. Запустите сервер снова и проведите повторное тестирование

rvmsudo siriproxy server

Проверьте его, попросив Siri ‘test siri proxy’, и вы должны получить ответ, что он работает. Посмотреть другие тестовые команды можно здесь

В следующий раз мы рассмотрим некоторые плагины SiriProxy, которые вы можете запустить и начать использовать эту штуку

Честно говоря, весь этот процесс оказался более сложным, чем я надеялся, но я надеюсь, что это руководство окажется полезным для некоторых из вас, так как у меня ушел буквально целый день на то, чтобы все сделать правильно. Есть ли у вас какие-либо рекомендации по плагинам SiriProxy, которые я должен проверить? Сработал ли этот процесс для вас? Дайте нам знать в комментариях, и я постараюсь вам помочь, но на странице проекта на GitHub полно гораздо более знающих людей

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий