Advertentie
Ik wilde het uitproberen SiriProxy Voor sommigen Arduinodomotica projecten, maar ik weiger een nieuwe telefoon te kopen als mijn iPhone 4 nog steeds prima werkt (ja, ik stopte met het gebruik van mijn HTC One X Waarom mijn volgende telefoon geen iPhone is, van een Apple Fanboy [mening]Ik ben meerdere keren een Apple-fanboy genoemd, dus ik kan net zo goed de naam accepteren en verder gaan. Ja, ik ben dol op Apple-producten en ik huiver bij de gedachte om Windows aan te raken ... Lees verder ; 6 maanden met Android is meer dan genoeg voor mij). Maar toen realiseerde ik me; ik heb Siri al, op mijn iPad 3. Ik zou dat toch kunnen gebruiken? Dat kan inderdaad. Dus in deze tutorial zal ik je helpen SiriProxy aan de praat te krijgen met je iPad 3 en Mac OS X - veel hiervan is echter alleen relevant voor Mountain Lion.
Ik waarschuw je ook van tevoren, dit zijn behoorlijk moeilijke dingen en bijna allemaal gedaan op de opdrachtregel, en terwijl ik het heb geprobeerd het stap voor stap opsplitsen op de exacte manier die voor mij werkte, het kan zijn dat u zelf enkele fouten moet googelen wanneer en wanneer ze zich voordoen ontstaan.
Vereisten
- iPad of iPhone met Siri-mogelijkheden. Ik laat niet zien hoe ik Siri op oudere apparaten kan hacken met behulp van nepservers, dus vraag het niet.
- Mac OS X. Je kunt SiriProxy ook op Linux installeren, maar dat probeer ik vandaag niet.
- iOS 6.1
voorbereidingen treffen
Download het pkg-installatieprogramma voor uw OS X-versie van MacPorts.org. MacPorts stelt ons in staat verschillende UNIX-hulpprogramma's te installeren die naar Mac zijn geporteerd. U moet ook XCode hebben geïnstalleerd, wat kan zijn gratis gedownload uit de Mac App Store, maar het is een flinke download, dus ga nu aan de slag.
MacPorts voegt een aantal nieuwe padvermeldingen toe aan uw systeem, maar wordt niet correct bijgewerkt. Vermijden poortopdracht niet gevonden fouten later rennen
source .profile
Op dit moment moet je ook XCode installeren vanuit de app store. Voer na installatie deze opdracht uit om uw systeem te vertellen waar de compiler zich bevindt:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Installeer vervolgens DNSMasq; een eenvoudige DNS-doorstuurserver waarmee we verzoeken naar een bepaald IP-adres kunnen onderscheppen.
sudo port installeer dnsmasq
Installeer Ruby en RVM
Download en installeer RVM-pakketbeheerder met deze opdracht:
bash <Voer dit vervolgens uit om het correct aan uw systeem toe te voegen:
[[-s "$ HOME / .rvm / scripts / rvm"]] &&. "$ HOME / .rvm / scripts / rvm"Installeer Ruby met de volgende opdracht; dit zal op het moment van schrijven de nieuwste versie 1.9.3 gebruiken, en ik raad u aan hetzelfde te doen of de rest van deze handleiding zal waarschijnlijk niet werken.
rvm installeren 1.9.3Als u een hoop willekeurige rode tekst met een foutmelding krijgt, voert u dit in plaats daarvan uit:
rvm installeer 1.9.3 –with-gcc = clangdan doen
RVM gebruikt 1.9.3 standaardom de standaard Ruby-omgevingsversie in te stellen. Gefeliciteerd, je hebt nu Ruby op je systeem!
SiriProxy downloaden
Begin met Git om het SiriProxy-project naar je machine te klonen.
git clone git: //github.com/plamoni/SiriProxy.gitcd / SiriProxyWanneer u dit voor het eerst doet, krijgt u mogelijk een beveiligingswaarschuwing over gedetecteerde scriptbestanden. Ga je gang en vertrouw dit als je hebt gedownload van de github-bron.
Vervolgens gaan we het configuratiebestand kopiëren.
mkdir ~ / .siriproxycp ./config.example.yml ~ / .siriproxy / config.ymlOpen dat configuratiebestand met je favoriete teksteditor en verander het IP bovenaan het bestand van 0.0.0.0 in het lokale IP van je Mac. Verder gaan:
rvmsudo gem installeer rake bundlerrvmsudo rake installDit zou SiriProxy voor u moeten installeren, maar we zullen dit later moeten herhalen om fouten op te lossen. Laten we voorlopig doorgaan en enkele certificaten maken.
We hebben eerst OpenSSL nodig.
sudo port install opensslDe eerste keer dat ik dit uitvoerde, mislukte het met talloze zlib-fouten; om dit op te lossen moest ik rennen
sudo port -f activeer zlibVervolgens genereren we certificaten:
siriproxy gencertsAls alles goed gaat, zou je een bericht als dit moeten zien.
Gebruik de Finder-> Ga naar map menuoptie om het pad in de uitvoer in te voeren; je zou een moeten vinden ca. pem bestand daar. E-mail dat naar uzelf en open het vervolgens op uw Siri-apparaat. Dit springt naar de instellingen en geeft u de mogelijkheid om het als een nieuw certificaat te installeren. Nee, die van jou zal het wel zeggen niet vertrouwd (in het rood) de eerste keer - ik nam deze schermafbeelding na installatie, dus er staat vertrouwd.
Voer op uw Mac de volgende opdracht uit om enkele willekeurige bestanden bij te werken die nodig zijn.
bundel installerenStel DNS-doorsturen in
De laatste stap is om van je Mac een DNS-server te maken die oproepen naar de servers van Apple kan onderscheppen en in plaats daarvan via SiriProxy kan routeren. Nogmaals, gebruik Finder-> Ga naar map, open / opt / local / etc en bewerk dnsmsq.conf. Voeg de volgende regel toe en vervang 192.168.0.6 door het lokale IP-adres van uw Mac.
adres = / guzzoni.apple.com / 192.168.0.6Voer de volgende stappen uit om de DNSMasq-service te activeren. U moet dit doen bij elke herstart (samen met het starten van SiriProxy zoals we later beschrijven).
sudo / opt / local / sbin / dnsmasqOpen op uw iPad of iPhone uw netwerkinstellingen en verander de DNS-server van de wifi in uw Mac IP-adres. Ja, SiriProxy werkt alleen via uw wifi thuis, maar u kunt theoretisch VPN in uw thuisrouter plaatsen als u deze onderweg wilt gebruiken. We behandelen dat vandaag niet.
Ik moest ook een nieuwe poortdoorschakelregel instellen op mijn router; poort 53 moet worden doorgestuurd naar uw Mac IP. (Dit is de poort die wordt gebruikt door DNS)
Start SiriProxy
De laatste stap is om de SiriProxy-server te starten en te testen. Doe dit met:
export rvmsudo_secure_path = 1Als u op dit moment een scherm vol fouten krijgt zoals "ongeldig symbool" zodra u op de startknop drukt, ga dan verder met deze bit. U krijgt fouten als gevolg van een oudere versie van CFPropertyList die is meegeleverd met het SiriProxy-pakket. Hopelijk wordt dit snel opgelost, dus je hebt dit misschien niet nodig, maar voor het geval ...
Download de nieuwste versie van CFPropertyList als volgt:
sudo gem installeer CFPropertyList -v 2.1.2Gebruik nu Finder om naar map ~ / .rvm / gems / te gaan. Navigeer in de nieuwste Ruby - in mijn geval robijn-1.9.3-p385 / en kopieer de edelstenen / CFPropertyList-2.1.2 / lib map naar ruby-1.9.3-p385@SiriProxy/gems/CFPropertyList 2.2.0 . Ja, verifieer en overschrijf de oudere versie lib met de lib van de nieuwere versie; een vreselijke hack, maar de enige manier om het te laten werken. De laatste vereiste oplossing is om de handmatig te bewerken gemspec het dossier. Doe dit door naar de SiriProxy-directory te gaan en te openen siriproxy.gemspec. Doe dit vanaf de opdrachtregel met VI of Nano met:
sudo vi siriproxy.gemspecOf gebruik gewoon een teksteditor. Vervang de lijn die ongeveer 4 regels vanaf de onderkant bevat "CFPropertyList" met het volgende:
s.add_runtime_dependency ('CFPropertyList', '2.1.2')Ren nu
rvmsudo siriproxy-updateEn alles zou goed moeten zijn met de wereld. Start de server opnieuw en test opnieuw.
rvmsudo siriproxy-serverTest het door Siri te vragen 'siri-proxy te testen' en je zou een antwoord moeten krijgen dat het actief is. Bekijk meer testopdrachten hier.
De volgende keer zullen we enkele SiriProxy-plug-ins bekijken die u kunt uitvoeren en daadwerkelijk gebruik gaan maken van dit ding.
Om eerlijk te zijn, dat hele proces was veel ingewikkelder dan ik had gehoopt, maar ik hoop dat deze gids voor sommigen van jullie nuttig blijkt te zijn, aangezien het me letterlijk de hele dag kostte om het goed te doen. Heb je aanbevelingen voor SiriProxy-plug-ins die ik moet bekijken? Heeft dit proces voor u gewerkt? Laat het ons weten in de comments en ik zal proberen je te helpen, maar de project GitHub-pagina zit vol met veel beter geïnformeerde mensen.
James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt al pc's sinds hij een kind was.