Annonse
Jeg har hatt lyst til å prøve ut det SiriProxy for noen Arduinohjemme-automatisering prosjekter, men jeg nekter å kjøpe en ny telefon når iPhone 4-en min fremdeles fungerer helt fint (ja, jeg sluttet å bruke min HTC One X Hvorfor min neste telefon ikke er en iPhone, fra en Apple Fanboy [Opinion]Jeg har blitt kalt en Apple-fanboy ved flere anledninger, så jeg kan like godt ta imot moniker og gå videre. Ja, jeg elsker Apple-produkter, og jeg grøsser ved tanken på å berøre Windows ... Les mer ; 6 måneder med Android er mer enn nok for meg). Men så skjønte jeg; Jeg har Siri allerede, på min iPad 3. Jeg kunne sikkert brukt det? Du kan faktisk gjøre det. Så i denne opplæringen vil jeg lede deg gjennom å få SiriProxy til å jobbe med iPad 3 og Mac OS X - mye av dette vil bare være relevant for Mountain Lion.
Jeg advarer deg også på forhånd, dette er ganske vanskelige ting og nesten alt gjort på kommandolinjen, og mens jeg har prøvd å bryte det ned trinn for trinn på nøyaktig den måten som fungerte for meg. Du må kanskje Google noen feil selv når og når de oppstå.
Krav
- iPad eller iPhone med Siri-evner. Jeg vil ikke vise hvordan jeg hacker Siri på eldre enheter ved å bruke falske servere, så ikke spør.
- Mac OS X. Du kan installere SiriProxy på Linux også, men det prøver jeg ikke i dag.
- iOS6.1
Forbereder
Last ned pkg-installasjonsprogrammet for din OS X-versjon fra MacPorts.org. MacPorts lar oss installere en rekke UNIX-verktøy som er portet til Mac. Du må også ha XCode installert, som kan være det lastet ned gratis fra Mac App Store, men det er en heftig nedlasting så kom i gang nå.

MacPorts legger til noen nye stioppføringer til systemet ditt, men oppdateres ikke riktig. Å unngå portkommando ikke funnet feil senere, løp
kilde .profil
På dette tidspunktet må du installere XCode også fra app store. Når det er installert, kjør denne kommandoen for å fortelle systemet ditt hvor kompilatoren er:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Deretter installerer du DNSMasq; en enkel DNS-speditør som lar oss avskjære forespørsler til en viss IP.
sudo port installer dnsmasq
Installer Ruby og RVM
Last ned og installer RVM-pakkehåndterer med denne kommandoen:
bash <Kjør deretter dette for å legge det riktig til i systemet ditt:
[[-s "$ HOME / .rvm / scripts / rvm"]] &&. "$ HOME / .rvm / scripts / RVM"Installer Ruby ved hjelp av følgende kommando; dette vil bruke den nyeste versjonen 1.9.3 i skrivende stund, og jeg foreslår at du gjør det samme, eller resten av denne guiden vil sannsynligvis ikke fungere.
rvm installere 1.9.3Hvis du får en haug med tilfeldig rød tekst med en feil, kjører du dette i stedet:
rvm installere 1.9.3 –med-gcc = klangså gjør
rvm bruk 1.9.3 standardfor å angi standardversjonen av rubinmiljøet. Gratulerer, du har nå Ruby på systemet ditt!
Last ned SiriProxy
Begynn med å bruke Git for å klone SiriProxy-prosjektet til maskinen din.
git klon git: //github.com/plamoni/SiriProxy.gitcd / SiriProxyNår du først gjør dette, kan du få en sikkerhetsadvarsel om skriptfiler som er oppdaget. Gå foran og stol på dette hvis du har lastet ned fra github-kilden.
Neste gang skal vi kopiere på tvers av konfigurasjonsfilen.
mkdir ~ / .siriproxycp ./config.example.yml ~ / .siriproxy / config.ymlÅpne konfigurasjonsfilen din ved hjelp av favoritttekstredigereren din, og endre IP-en øverst i filen fra 0.0.0.0 til Mac-en din lokale IP. Går videre:
rvmsudo perle installere rake bundlerrvmsudo rake installereDette bør installere SiriProxy for deg, men vi må gjenta dette senere for å håndtere feil. For nå, la oss fortsette og lage noen sertifikater.
Vi trenger OpenSSL installert først.
sudo port installerer opensslFørste gang jeg kjørte dette, mislyktes det med mange feil i zlib; å fikse dette jeg trengte å løpe
sudo port - hvis du vil aktivere zlibDeretter genererer vi sertifikater:
siriproxy gencertsHvis alt går bra, bør du se en melding som ligner på denne.
Bruke Finder-> Gå til mappe menyalternativ for å legge inn banen som er oppført i utgangen; du bør finne en ca.pem fil der. Send det til deg selv, og åpne det deretter på din Siri-kompatible enhet. Dette vil hoppe over til innstillinger, og gi deg muligheten til å installere det som et nytt sertifikat. Ikke, din vil si det er uklarert (i rødt) første gang - jeg tok dette skjermbildet etter installasjon, så det står klarert.
Kjør følgende kommando på Mac-maskinen din for å oppdatere noen tilfeldige filer som er nødvendige.
pakke installereOppsett av videresending av DNS
Det siste trinnet er å gjøre Mac-en din til en DNS-server som kan avlytte samtaler til Apples servere og rute dem via SiriProxy i stedet. Igjen, ved hjelp av Finder-> Gå til mappe, åpne / opt / local / etc, og rediger dnsmsq.conf. Legg til følgende linje, og erstatt 192.168.0.6 med den lokale IP-adressen til Mac-en.
adresse = / guzzoni.apple.com / 192.168.0.6Kjør følgende for å aktivere DNSMasq-tjenesten. Du må gjøre dette ved hver omstart (sammen med SiriProxy som vi beskriver senere).
sudo / opt / local / sbin / dnsmasqÅpne nettverksinnstillingene på iPad, eller iPhone, og endre DNS-serveren til WiFi til Mac IP-adressen din. Ja, SiriProxy vil bare fungere over ditt WiFi-hjem, men du kan teoretisk VPN inn i hjemmeruteren din hvis du ønsker å bruke den mens du er ute og går. Vi vil ikke dekke det i dag.
Jeg trengte også å sette en ny port forwarding-regel på ruteren min; port 53 bør videresendes til Mac IP. (Dette er porten som brukes av DNS)
Start SiriProxy
Det siste trinnet er å starte SiriProxy-serveren og teste. Gjør dette ved å bruke:
eksport rvmsudo_secure_path = 1Hvis du nå får en skjerm full av feil som "ugyldig symbol" så snart du trykker på startknappen, fortsett med denne biten. Du får feil på grunn av en eldre versjon av CFPropertyList inkludert i SiriProxy-pakken. Forhåpentligvis løses dette snart, slik at du kanskje ikke trenger dette, men bare i tilfelle ...
Last ned den nyeste versjonen av CFPropertyList slik:
sudo gem install CFPropertyList -v 2.1.2Nå bruker du Finder for å gå til mappe ~ / .rvm / gems /. Naviger inne i den siste Ruby - i mitt tilfelle rubin-1.9.3-p385 / og kopiere perler / CFPropertyList-2.1.2 / lib mappe over til ruby-1.9.3-p385@SiriProxy/gems/CFPropertyList 2.2.0 . Ja, autentiser og overskriv eldre versjon lib med lib fra den nyere versjonen; et fryktelig hack, men den eneste måten jeg kunne få det til å fungere. Den endelige løsningen som trengs er å manuelt redigere gemspec fil. Gjør dette ved å endre til SiriProxy-katalogen, og åpne opp siriproxy.gemspec. Gjør dette fra kommandolinjen med VI eller Nano ved å bruke:
sudo vi siriproxy.gemspecEller bare bruk en tekstredigerer. Bytt ut linjen som er omtrent 4 linjer fra bunnen “CFPropertyList” med følgende:
s.add_runtime_dependency ('CFPropertyList', '2.1.2')Nå løp
rvmsudo siriproxy-oppdateringOg alt skal være bra med verden. Start serveren på nytt og prøv på nytt.
rvmsudo siriproxy-serverTest den ved å be Siri om å "teste siri proxy", og du bør få et svar på at den er i gang. Se mer testkommandoer her.
Neste gang skal vi se på noen SiriProxy-plugins du kan kjøre og faktisk begynne å gjøre bruk av denne tingen.
For å være ærlig, var hele prosessen mer utrolig komplisert enn jeg håpet, men jeg håper denne guiden viser seg å være nyttig for noen av dere, siden det bokstavelig talt tok meg hele dagen å komme til orde. Har du noen anbefalinger for SiriProxy-plugins som jeg bør sjekke ut? Virket denne prosessen for deg? Gi oss beskjed i kommentarene, så prøver jeg å hjelpe deg, men prosjekt GitHub-side er full av mye mer kunnskapsrike mennesker.
James har en BSc i kunstig intelligens, og er CompTIA A + og Network + sertifisert. Han er hovedutvikler av MakeUseOf, og bruker fritiden sin på å spille VR paintball og brettspill. Han har bygd pc-er siden han var liten.