Propaganda
Eu queria experimentar SiriProxy para alguns Arduinoautomação residencial projetos, mas me recuso a comprar um telefone novo quando meu iPhone 4 ainda está funcionando muito bem (sim, parei de usar o meu HTC One X Por que meu próximo telefone não é um iPhone, de um fã da Apple [Opinião]Já fui chamado fanboy da Apple em várias ocasiões, então posso aceitar o apelido e seguir em frente. Sim, adoro produtos Apple e estremeço ao pensar em tocar no Windows ... consulte Mais informação ; 6 meses com Android é mais do que suficiente para mim). Mas então eu percebi; Eu já tem Siri, no meu iPad 3. Certamente eu poderia usar isso? De fato você pode. Portanto, neste tutorial, orientarei você a fazer com que o SiriProxy funcione com seu iPad 3 e Mac OS X - muito disso será relevante apenas para o Mountain Lion.
Eu também aviso com antecedência, isso é algo bastante difícil e quase todo feito na linha de comando, e enquanto eu tentei decompô-lo passo a passo da maneira exata que funcionou para mim, você pode precisar pesquisar alguns erros no Google quando e quando eles surgir.
Exigências
- iPad ou iPhone com recursos Siri. Não mostrarei como hackear a Siri em dispositivos mais antigos usando servidores falsos, portanto, não pergunte.
- Mac OS X. Você pode instalar o SiriProxy no Linux também, mas não vou tentar isso hoje.
- iOS6.1
Preparando
Faça o download do instalador do pkg para sua versão do OS X em MacPorts.org. MacPorts nos permite instalar uma variedade de utilitários UNIX que foram portados para Mac. Você também precisa ter o XCode instalado, que pode ser baixado gratuitamente da Mac App Store, mas é um download robusto, então comece agora.

O MacPorts adiciona novas entradas de caminho ao seu sistema, mas não é atualizado corretamente. Evitar comando port não encontrado erros depois, corra
origem .profile
Nesse ponto, você também precisará instalar o XCode, na loja de aplicativos. Quando instalado, execute este comando para informar ao seu sistema onde está o compilador:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Em seguida, instale o DNSMasq; um encaminhador de DNS simples que vamos interceptar solicitações para um determinado IP.
instalação da porta sudo dnsmasq
Instale Ruby e RVM
Faça o download e instale o gerenciador de pacotes RVM com este comando:
bash <Em seguida, execute isso para adicioná-lo corretamente ao seu sistema:
[[-s "$ HOME / .rvm / scripts / rvm"]] &&. "$ HOME / .rvm / scripts / rvm"Instale o Ruby usando o seguinte comando; isso usará a versão mais recente 1.9.3 no momento da redação deste artigo e sugiro que você faça o mesmo ou o restante deste guia provavelmente não funcionará.
rvm install 1.9.3Se você receber um monte de texto em vermelho aleatório com um erro, execute o seguinte:
instalação do rvm 1.9.3 –with-gcc = clangentão faça
rvm use 1.9.3 padrãopara definir a versão padrão do ambiente ruby. Parabéns, agora você tem o Ruby no seu sistema!
Baixar SiriProxy
Comece usando o Git para clonar o projeto SiriProxy na sua máquina.
git clone git: //github.com/plamoni/SiriProxy.gitcd / SiriProxyQuando você faz isso pela primeira vez, você pode receber um aviso de segurança sobre os arquivos de script detectados. Vá em frente e confie nisto se tiver baixado da fonte do github.
Em seguida, copiaremos o arquivo de configuração.
mkdir ~ / .siriproxycp ./config.example.yml ~ / .siriproxy / config.ymlAbra esse arquivo de configuração usando seu editor de texto favorito e altere o IP na parte superior do arquivo de 0.0.0.0 para o IP local do seu Mac. Se movendo:
rvmsudo gem instalar rake bundlerinstalação do ancinho rvmsudoIsso deve instalar o SiriProxy para você, mas precisamos repetir isso mais tarde para lidar com erros. Por enquanto, vamos continuar e fazer alguns certificados.
Primeiro, precisamos instalar o OpenSSL.
instalação da porta sudo opensslA primeira vez que executei isso, falhou com vários erros do zlib; para corrigir isso eu precisava correr
porta sudo -f ativar zlibEm seguida, geraremos certificados:
siriproxy gencertsSe tudo correr bem, você verá uma mensagem semelhante a esta.
Use o Localizador-> Ir para a Pasta opção de menu para inserir o caminho listado na saída; você deve encontrar um ca.pem arquivo lá. Envie por e-mail para si mesmo e abra-o no seu dispositivo compatível com Siri. Isso passará para as configurações e lhe dará a opção de instalá-lo como um novo certificado. Não, o seu dirá que é não confiável (em vermelho) na primeira vez - tirei esta captura de tela após a instalação, por isso diz confiável.
De volta ao seu Mac, execute o seguinte comando para atualizar alguns arquivos aleatórios necessários.
instalação do pacoteConfigurar encaminhamento de DNS
A etapa final é transformar seu Mac em um servidor DNS que possa interceptar chamadas para os servidores da Apple e encaminhá-las por meio do SiriProxy. Novamente, usando o Finder-> Ir para a pasta, abra / opt / local / etc e edite o dnsmsq.conf. Adicione a seguinte linha, substituindo 192.168.0.6 pelo endereço IP local do seu Mac.
endereço = / guzzoni.apple.com / 192.168.0.6Para ativar o serviço DNSMasq, execute o seguinte. Você precisará fazer isso a cada reinicialização (junto com o lançamento do SiriProxy, como descreveremos mais adiante).
sudo / opt / local / sbin / dnsmasqNo seu iPad ou iPhone, abra as configurações de rede e altere o servidor DNS do WiFi para o endereço IP do seu Mac. Sim, o SiriProxy funcionará apenas no WiFi doméstico, mas você pode teoricamente VPN no seu roteador doméstico se desejar usá-lo enquanto estiver fora. Hoje não abordaremos isso.
Eu também precisava definir uma nova regra de encaminhamento de porta no meu roteador; a porta 53 deve ser encaminhada para o seu IP Mac. (Esta é a porta usada pelo DNS)
Iniciar o SiriProxy
A etapa final é iniciar o servidor SiriProxy e testar. Faça isso usando:
export rvmsudo_secure_path = 1Se, neste ponto, você estiver recebendo uma tela cheia de erros como "símbolo inválido", assim que pressionar o botão home, continue com este bit. Você está recebendo erros devido a uma versão mais antiga do CFPropertyList incluída no pacote SiriProxy. Espero que isso seja corrigido em breve, então você pode não precisar disso, mas apenas no caso…
Faça o download da versão mais recente do CFPropertyList como esta:
sudo gem install CFPropertyList -v 2.1.2Agora, use Finder para Ir para a pasta ~ / .rvm / gems /. Navegue dentro do último Ruby - no meu caso ruby-1.9.3-p385 / e copie o gems / CFPropertyList-2.1.2 / lib pasta para ruby-1.9.3-p385@SiriProxy/gems/CFPropertyList 2.2.0 . Sim, autentique e substitua o versão antiga lib com a lib da versão mais recente; um truque horrível, mas a única maneira de fazê-lo funcionar. A correção final necessária é editar manualmente o gemspec Arquivo. Faça isso alterando para o diretório SiriProxy e abrindo siriproxy.gemspec. Faça isso na linha de comando com VI ou Nano usando:
sudo vi siriproxy.gemspecOu apenas use um editor de texto. Substitua a linha que fica a cerca de 4 linhas da parte inferior "CFPropertyList" com o seguinte:
s.add_runtime_dependency ('CFPropertyList', '2.1.2')Agora corra
atualização do rvmsudo siriproxyE tudo deve ser bom com o mundo. Inicie o servidor novamente e teste novamente.
servidor rvmsudo siriproxyTeste-o pedindo à Siri para "testar o proxy da siri" e você deverá obter uma resposta de que está em funcionamento. Veja mais comandos de teste aqui.
Da próxima vez, veremos alguns plug-ins do SiriProxy que você pode executar e começar a usar isso.
Para ser sincero, todo esse processo foi imensamente complicado do que eu esperava, mas espero que este guia seja útil para alguns de vocês, pois literalmente demorei o dia inteiro para me acertar. Você tem alguma recomendação para os plugins SiriProxy que eu devo consultar? Este processo funcionou para você? Informe-nos nos comentários e tentarei ajudá-lo, mas o página do projeto GitHub está cheio de pessoas bem mais informadas.
James é bacharel em Inteligência Artificial e possui certificação CompTIA A + e Network +. Ele é o principal desenvolvedor do MakeUseOf e passa seu tempo livre jogando paintball e jogos de tabuleiro em VR. Ele está construindo PCs desde que era criança.