Anuncio
He estado queriendo probar SiriProxy para algunos Arduinoautomatización del hogar proyectos, pero me niego a comprar un nuevo teléfono cuando mi iPhone 4 todavía funciona bien (sí, dejé de usar mi HTC uno X Por qué mi próximo teléfono no es un iPhone, de un fanboy de Apple [Opinión]Me han llamado fanboy de Apple en numerosas ocasiones, por lo que bien puedo aceptar el apodo y seguir adelante. Sí, me encantan los productos de Apple, y me estremezco ante la idea de tocar Windows ... Lee mas ; 6 meses con Android es más que suficiente para mí). Pero luego me di cuenta; yo ya tiene Siri, en mi iPad 3. ¿Seguramente podría usar eso? De hecho puedes. Entonces, en este tutorial, lo guiaré para que SiriProxy funcione con su iPad 3 y Mac OS X, aunque gran parte de esto será relevante para Mountain Lion.
También te advierto de antemano, esto es algo bastante difícil y casi todo se hace en la línea de comando, y aunque he tratado de descomponerlo paso a paso de la manera exacta que funcionó para mí, es posible que necesite Google algunos errores usted mismo cuando surgir.
Requisitos
- iPad o iPhone con capacidades Siri. No mostraré cómo piratear Siri en dispositivos más antiguos usando servidores falsos, así que no preguntes.
- Mac OS X. También puede instalar SiriProxy en Linux, pero hoy no lo intentaré.
- iOS6.1
Preparando
Descargue el instalador de pkg para su versión de OS X desde MacPorts.org. MacPorts nos permite instalar una variedad de utilidades UNIX que se han portado a Mac. También necesita tener instalado XCode, que puede ser descargado gratis del Mac App Store, pero es una descarga considerable, así que comience ahora.
MacPorts agrega algunas entradas de ruta nuevas a su sistema, pero no se actualiza correctamente. Para evitar errores de comando de puerto no encontrado luego corre
fuente .perfil
En este punto, también necesitará instalar XCode, desde la tienda de aplicaciones. Cuando esté instalado, ejecute este comando para decirle a su sistema dónde está el compilador:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
A continuación, instale DNSMasq; un reenviador de DNS simple que nos permite interceptar solicitudes a una determinada IP.
sudo port install dnsmasq
Instalar Ruby y RVM
Descargue e instale el administrador de paquetes RVM con este comando:
bash <Luego ejecute esto para agregarlo correctamente a su sistema:
[[-s "$ HOME / .rvm / scripts / rvm"]] &&. "$ HOME / .rvm / scripts / rvm"Instala Ruby usando el siguiente comando; utilizará la última versión 1.9.3 en el momento de la escritura, y le sugiero que haga lo mismo o el resto de esta guía probablemente no funcionará.
rvm install 1.9.3Si obtiene un montón de texto rojo aleatorio con un error, ejecute esto en su lugar:
rvm install 1.9.3 –with-gcc = clangentonces hazlo
rvm usa 1.9.3 predeterminadopara establecer la versión predeterminada del entorno ruby. ¡Felicitaciones, ahora tienes Ruby en tu sistema!
Descargar SiriProxy
Comience usando Git para clonar el proyecto SiriProxy en su máquina.
git clone git: //github.com/plamoni/SiriProxy.gitcd / SiriProxyCuando hace esto por primera vez, puede recibir una advertencia de seguridad sobre los archivos de script detectados. Siga adelante y confíe en esto si lo ha descargado de la fuente de Github.
A continuación, vamos a copiar el archivo de configuración.
mkdir ~ / .siriproxycp ./config.example.yml ~ / .siriproxy / config.ymlAbra ese archivo de configuración con su editor de texto favorito y cambie la IP en la parte superior del archivo de 0.0.0.0 a la IP local de su Mac. Hacia adelante:
rvmsudo gem install rake bundlerrvmsudo rake installEsto debería instalar SiriProxy para usted, pero tendremos que repetir esto más adelante para tratar los errores. Por ahora, continuemos y hagamos algunos certificados.
Primero necesitaremos OpenSSL instalado.
sudo port install opensslLa primera vez que ejecuté esto, falló con numerosos errores de zlib; para arreglar esto necesitaba correr
sudo puerto -f activar zlibA continuación, generaremos certificados:
gencerts siriproxiSi todo va bien, debería ver un mensaje similar a este.
Utilizar el Buscador-> Ir a la carpeta opción de menú para ingresar la ruta que aparece en la salida; deberías encontrar un ca.pem archivo allí. Envíelo por correo electrónico y luego ábralo en su dispositivo compatible con Siri. Esto saltará a la configuración y le dará la opción de instalarlo como un nuevo certificado. No, el tuyo dirá que es no confiable (en rojo) la primera vez: tomé esta captura de pantalla después de la instalación, por lo que dice de confianza.
De vuelta en su Mac, ejecute el siguiente comando para actualizar algunos archivos aleatorios que se necesitan.
paquete de instalaciónConfigurar el reenvío de DNS
El último paso es convertir su Mac en un servidor DNS que pueda interceptar llamadas a los servidores de Apple y enrutarlas a través de SiriProxy. Nuevamente, usando Finder-> Ir a la carpeta, abra / opt / local / etc, y edite dnsmsq.conf. Agregue la siguiente línea, reemplazando 192.168.0.6 con la dirección IP local de su Mac.
dirección = / guzzoni.apple.com / 192.168.0.6Para activar el servicio DNSMasq, ejecute lo siguiente. Deberá hacer esto en cada reinicio (junto con el lanzamiento de SiriProxy como describimos más adelante).
sudo / opt / local / sbin / dnsmasqEn su iPad o iPhone, abra la configuración de red y cambie el servidor DNS del WiFi a su dirección IP de Mac. Sí, SiriProxy solo funcionará a través de la conexión WiFi de su hogar, pero en teoría puede usar VPN en el enrutador de su hogar si desea usarlo mientras está fuera de casa. No cubriremos eso hoy.
También necesitaba establecer una nueva regla de reenvío de puertos en mi enrutador; el puerto 53 debe reenviarse a su Mac IP. (Este es el puerto utilizado por DNS)
Inicie SiriProxy
El último paso es iniciar el servidor SiriProxy y probarlo. Haz esto usando:
export rvmsudo_secure_path = 1Si en este momento, aparece una pantalla llena de errores como "símbolo no válido" tan pronto como presiona el botón de inicio, continúe con este bit. Obtendrá errores debido a una versión anterior de CFPropertyList incluida con el paquete SiriProxy. Con suerte, esto se solucionará pronto, por lo que es posible que no lo necesite, pero por si acaso ...
Descargue la versión más reciente de CFPropertyList de esta manera:
sudo gem install CFPropertyList -v 2.1.2Ahora usa Fpara ir a la carpeta ~ / .rvm / gems /. Navega dentro del último Ruby, en mi caso ruby-1.9.3-p385 / y copie el gems / CFPropertyList-2.1.2 / lib carpeta a ruby-1.9.3-p385@SiriProxy/gems/CFPropertyList 2.2.0 . Sí, autenticar y sobrescribir el versión anterior lib con la lib de la versión más nueva; un truco horrible, pero la única forma en que podía hacerlo funcionar. La solución final necesaria es editar manualmente gemspec archivo. Haga esto cambiando al directorio SiriProxy y abriendo siriproxy.gemspec. Haga esto desde la línea de comando con VI o Nano usando:
sudo vi siriproxy.gemspecO simplemente use un editor de texto. Reemplace la línea que está aproximadamente a 4 líneas del fondo que contiene "CFPropertyList" con lo siguiente:
s.add_runtime_dependency ('CFPropertyList', '2.1.2')Ahora corre
actualización rvmsudo siriproxyY todo debería ser bueno con el mundo. Inicie el servidor nuevamente y vuelva a probar.
servidor rvmsudo siriproxyPruébelo pidiéndole a Siri que "pruebe el proxy siri" y debería obtener una respuesta de que está funcionando. Ver más comandos de prueba aquí.
La próxima vez, veremos algunos complementos de SiriProxy que puede ejecutar y realmente comenzaremos a utilizarlo.
Para ser honesto, todo el proceso fue mucho más complicado de lo que esperaba, pero espero que esta guía resulte útil para algunos de ustedes, ya que literalmente me llevó todo el día hacerlo bien. ¿Tiene alguna recomendación para los complementos de SiriProxy que debería consultar? ¿Este proceso funcionó para usted? Háganos saber en los comentarios e intentaré ayudarlo, pero el página del proyecto GitHub está lleno de gente mucho más conocedora.
James tiene una licenciatura en Inteligencia Artificial y está certificado por CompTIA A + y Network +. Es el desarrollador principal de MakeUseOf, y pasa su tiempo libre jugando VR paintball y juegos de mesa. Ha estado construyendo computadoras desde que era un niño.