Annons
Jag har velat prova SiriProxy för vissa Arduinohemmeautomation projekt, men jag vägrar att köpa en ny telefon när min iPhone 4 fortfarande fungerar bra (ja, jag slutade använda min HTC One X Varför min nästa telefon inte är en iPhone, från en Apple Fanboy [yttrande]Jag har kallats Apple-fanboy vid flera tillfällen, så jag kan lika gärna acceptera moniker och gå vidare. Ja, jag älskar Apple-produkter och jag skakar av tanken på att röra Windows ... Läs mer ; 6 månader med Android är mer än tillräckligt för mig). Men då insåg jag; jag har Siri redan, på min iPad 3. Visst kunde jag använda det? Du kan verkligen göra det. Så i den här tutorialen kommer jag att leda dig genom att få SiriProxy att arbeta med din iPad 3 och Mac OS X - mycket av detta kommer dock att vara relevant för Mountain Lion.
Jag varnar dig också i förväg, det här är ganska svåra grejer och nästan allt gjort på kommandoraden, och medan jag har försökt dela ner det steg för steg på exakt sätt som fungerade för mig, du kan behöva Google några fel själv när och när de stiga upp.
Krav
- iPad eller iPhone med Siri-funktioner. Jag kommer inte att visa hur man hackar Siri på äldre enheter med falska servrar, så fråga inte.
- Mac OS X. Du kan också installera SiriProxy på Linux men det kommer jag inte att prova idag.
- iOS6.1
förbereda
Ladda ner pkg-installationsprogrammet för din OS X-version från MacPorts.org. MacPorts gör att vi kan installera en mängd UNIX-verktyg som har portats till Mac. Du måste också ha XCode installerad, vilket kan vara laddas ner gratis från Mac App Store, men det är en rejäl nedladdning så kom igång nu.
MacPorts lägger till några nya sökposter till ditt system, men uppdateras inte korrekt. Att undvika portkommando hittades inte fel senare, kör
källa .profil
Just nu måste du installera XCode också från app store. När det installeras kör detta kommando för att berätta för ditt system var kompilatorn är:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Installera sedan DNSMasq; en enkel DNS-speditör som låter oss fånga upp förfrågningar till en viss IP.
sudo port installera dnsmasq
Installera Ruby och RVM
Ladda ner och installera RVM-pakethanteraren med det här kommandot:
bash <Kör sedan detta för att lägga till det korrekt i ditt system:
[[-s "$ HOME / .rvm / scripts / rvm"]] &&. "$ HOME / .rvm / scripts / RVM"Installera Ruby med följande kommando; detta kommer att använda den senaste versionen 1.9.3 i skrivande stund, och jag föreslår att du gör samma sak eller resten av den här guiden kommer förmodligen inte att fungera.
rvm installera 1.9.3Om du får ett gäng slumpmässig röd text med ett fel, kör detta istället:
rvm installera 1.9.3 –med-gcc = clanggör sedan
rvm använder 1.9.3 standardför att ställa in standardversionen av rubinmiljön. Grattis, du har nu Ruby på ditt system!
Ladda ner SiriProxy
Börja med att använda Git för att klona SiriProxy-projektet till din maskin.
git klon git: //github.com/plamoni/SiriProxy.gitcd / SiriProxyNär du först gör detta kan du få en säkerhetsvarning om skriptfiler som upptäcks. Gå vidare och lita på detta om du har laddat ner från github-källan.
Nästa kommer vi att kopiera över konfigurationsfilen.
mkdir ~ / .siriproxycp ./config.example.yml ~ / .siriproxy / config.ymlÖppna den konfigurationsfilen med din favorittextredigerare och ändra IP-filen längst upp i filen från 0.0.0.0 till din Mac: s lokala IP. Gå vidare:
rvmsudo gem installera rake bundlerrvmsudo rake installeraDetta bör installera SiriProxy för dig, men vi måste upprepa detta senare för att hantera fel. Låt oss nu fortsätta och göra några certifikat.
Vi behöver OpenSSL installerat först.
sudo port installation opensslFörsta gången jag körde detta misslyckades det med många zlib-fel; för att fixa detta behövde jag köra
sudo port -f aktivera zlibDärefter genererar vi certifikat:
siriproxy gencertsOm allt går bra, bör du se ett meddelande som liknar det här.
Använd Finder-> Gå till mapp menyalternativ för att ange sökvägen som anges i utgången; du bör hitta en ca.pem arkivera där. Skicka det till dig själv och öppna det sedan på din Siri-kapabla enhet. Detta hoppar över till inställningar och ger dig möjlighet att installera det som ett nytt certifikat. Inte, din kommer att säga att det är opålitliga (i rött) första gången - jag tog den här skärmdumpen efter installationen, så det säger betrodd.
Tillbaka på din Mac, kör följande kommando för att uppdatera några slumpmässiga filer som behövs.
paket installeraInställning av DNS-vidarebefordran
Det sista steget är att göra din Mac till en DNS-server som kan fånga samtal till Apples servrar och dirigera dem via SiriProxy istället. Återigen, med Finder-> Gå till mapp, öppna / opt / local / etc och redigera dnsmsq.conf. Lägg till följande rad och ersätt 192.168.0.6 med den lokala IP-adressen på din Mac.
adress = / guzzoni.apple.com / 192.168.0.6Kör följande för att aktivera DNSMasq-tjänsten. Du måste göra detta vid varje omstart (tillsammans med SiriProxy som vi beskriver senare).
sudo / opt / local / sbin / dnsmasqÖppna nätverksinställningarna på din iPad eller iPhone och ändra WiFi-servern för WiFi till din Mac IP-adress. Ja, SiriProxy fungerar bara över ditt WiFi-hem, men du kan teoretiskt VPN in i din hem router om du vill använda den när du är ute och går. Vi täcker inte det idag.
Jag behövde också ställa in en ny port vidarekopplingsregel på min router; port 53 ska vidarebefordras till din Mac IP. (Detta är den port som används av DNS)
Starta SiriProxy
Det sista steget är att starta SiriProxy-servern och testa. Gör detta med:
exportera rvmsudo_secure_path = 1Om du nu får en skärm full av fel som "ogiltig symbol" så snart du trycker på hemknappen, fortsätt med den här biten. Du får fel på grund av en äldre version av CFPropertyList som ingår i SiriProxy-paketet. Förhoppningsvis kommer detta att fixas snart, så att du kanske inte behöver detta, men bara i fall ...
Ladda ner den senaste versionen av CFPropertyList så här:
sudo gem install CFPropertyList -v 2.1.2Använd nu Finder för att gå till mapp ~ / .rvm / gems /. Navigera in i den senaste Ruby - i mitt fall ruby-1.9.3-p385 / och kopiera pärlor / CFPropertyList-2.1.2 / lib mapp över till ruby-1.9.3-p385@SiriProxy/gems/CFPropertyList 2.2.0 . Ja, autentisera och skriva över äldre version lib med lib från den nyare versionen; ett hemskt hack, men det enda sättet jag kunde få det att fungera. Den slutliga fixen som behövs är att manuellt redigera gemspec fil. Gör detta genom att byta till SiriProxy-katalogen och öppna siriproxy.gemspec. Gör detta från kommandoraden med VI eller Nano med:
sudo vi siriproxy.gemspecEller bara använda en textredigerare. Byt ut linjen som är ungefär 4 rader från botten ”CFPropertyList” med följande:
s.add_runtime_dependency ('CFPropertyList', '2.1.2')Kör nu
rvmsudo siriproxy-uppdateringOch allt borde vara bra med världen. Starta servern igen och testa om igen.
rvmsudo siriproxy-serverTesta det genom att be Siri "testa siri proxy" och du bör få ett svar på att det är igång. Visa mer testkommandon här.
Nästa gång tittar vi på några SiriProxy-plugins som du kan köra och faktiskt börja använda dig av den här saken.
För att vara ärlig var hela processen mer oerhört komplicerad än jag hoppades, men jag hoppas att den här guiden visar sig vara användbar för några av er, eftersom det bokstavligen tog mig hela dagen att få rätt. Har du några rekommendationer för SiriProxy-plugins som jag bör kolla in? Fungerade den här processen för dig? Låt oss veta i kommentarerna, så ska jag försöka hjälpa dig, men projekt GitHub-sida är full av mycket mer kunniga människor.
James har en kandidatexamen i artificiell intelligens och är CompTIA A + och Network + certifierad. Han är ledande utvecklare av MakeUseOf och tillbringar sin fritid med att spela VR-paintball och brädspel. Han har byggt datorer sedan han var liten.