Mit dem Erscheinen des Jailbreaks für die Firmware 5.0.1 für iPhone 4 / 3GS / iPad 1, fand auch ein Siri Port namens Spire (Blogeintrag von chpwn) den Weg auf unsere Geräte. Ohne hier jetzt näher auf die Vorgehensweise zum Jailbreak oder der eigentlichen Installation von Spire einzugehen, erläutern wir, wie man sich zu Hause einen eigenen SiriProxy Server mit Hilfe eines iPhone 4S aufsetzt, um Siri auch auf einem iPhone 4 oder 3GS nutzen kann.
Der SiriProxy wurde weder von uns entwickelt, noch können wir sagen, wie lange diese Vorgehensweise funktioniert. Soviel sei gesagt: Derzeit geht es!
Diese Anleitung ist frei übersetzt und mit eigenen Anmerkungen aus meinem Selbstversuch versehen. Diese hier benutze SiriProxy GUI ist entwickelt von Nick Whyte, einem 16-jährigen Australier, eigentlich unglaublich, aber er versteht sein “Handwerk”.
Quelle: Nick Whytes Blog Nicks Twitter @nickw444
Grundvoraussetzungen
- iPhone 4S (Eigenes oder eines Freundes für die Zertifikate)
- iPhone 4/3GS/iPod touch 4. Gen (Jailbreak + Spire Installation)
- Einen Linux-Rechner oder eine virtuelle Linux-Maschine
- MAC: Wenn ihr einen Mac nutzt, empfehlen wir Parallels Desktop (Testversion auf der Herstellerseite verfügbar), Ubuntu könnt Ihr nach erfolgreicher Installation direkt in Parallels herunterladen und installieren. Im Anschluss via Software Center alle Aktualisierungen laden und die VM neustarten.
- WINDOWS: Solltet ihr Windows nutzen, empfehlen wir die VirtualBox von Oracle + Ubuntu 11.10 Download (beides kostenfrei), auch hier nach erfolgreicher Installation die Updates laden & die VM neustarten.
- Als Netzwerktyp auf beiden Systemen muss Netzwerkbrücke / Bridged Mode in den VM-Einstellungen verwendet werden, zudem empfiehlt es sich der VM eine feste IP-Adresse im Netzwerk zuzuordnen.
- Download des SiriProxy Installers von Nick Whyte => Link (bitte aus der VM heraus herunterladen)
Installation
Öffnet das Terminal aus Applications-> Zubehör-> Terminal
Sobald das Terminal geöffnet ist, werden wir mit dem Installationsvorgang beginnen. Dieses Tutorial geht davon aus, dass wir die SiriProxy Installer-Dateien in einem Ordner namens SiriProxy auf der Arbeitsfläche entpackt haben.
ANMERKUNG: Ich habe eine deutsche Version von Ubuntu und habe im Persönlichen Ordner einfach einen Ordner namens „Desktop“ erstellt und die heruntergeladene zip-Datei dorthin entpackt – damit musste ich die Befehle nicht auf „Arbeitsfläche“anpassen.
Im Terminal eingeben, Zeile für Zeile (also 2 Befehle):
cd ~/Desktop/SiriProxy
sudo ./setup.sh
Die automatische Installation startet und installiert alle erforderlichen Dateien.
Eventuelle Fragen bitte mit „j“ bzw. „y“ beantworten (je nach Systemsprache)
Anschließend installieren wir die UPnP Funktionalität (muss vom Router unterstützt werden – sonst müssen die Ports 443 TCP & UDP an die IP-Adresse der Ubuntu Maschine weitergeleitet werden im Router!)
cd upnp/
sudo ./setup.sh
Lokale IP-Adresse rausfinden / festlegen (am besten eine feste IP)
Einfach in der Nähe der oberen rechten Ecke des Bildschirms auf das Netzwerk-Symbol klicken, das wie zwei Pfeile aussieht. Sobald sich das Menü öffnet, auf den Menüpunkt “Connection Information” klicken. Unter dem IPv4-Abschnitt sieht man seine derzeitige lokale IP-Adresseund.
Für dieses Tutorial ist meine IP-Adresse 192.168.0.25. Eure ist höchstwahrscheinlich anders.
Der Einstieg in die WebUI
Jetzt brauchen wir den Firefox Browser aus Ubuntu um das Web-Interface der SiriProxyGui aufzurufen.
http://YOUR-IP-ADDRESS/
in meinem Fall: http://192.168.0.25/
Zertifikate erzeugen
Scrolle nach unten in der WebUI, bis zum “Certificate Generator”. SiriProxyGUI erstellt die Zertifikate fast vollautomatisch.
Hier geben wir je nach Bedarf unsere jeweilige Information ein:
WICHTIG: An dieser Stelle entscheidet Ihr, ob der Server nur im Heimnetzwerk verfügbar ist oder auch von Außen via UMTS/Internet angesprochen werden kann! Der Keys-Inject via VPN eines entfernten iPhone 4S kann auch bei der lokalen Variante genutzt werden!
Offen zugängliche Server bieten ein hohes Gefahrenpotenzial und wir raten definitiv zur lokalen Variante als Test!
Wenn wir von außen zugreifen wollen auf den Proxy: Feste IP (nur wenn vorhanden) ODER DynDNS-Name
Wenn wir nur zu Hause auf den Proxy zugreifen wollen: Interne IP-Adresse der Ubuntu-VM
Klickt einfach auf die “Generate Config File”-Taste.
Ins Terminal wechseln & diese beiden Befehle eingeben:
cd /var/www/SiriProxy/
sudo ./create.sh
Jetzt ganz wichtig (anders als Ihr es bei den anderen Anleitungen gewohnt seid!) außer an den Stellen wo Ihr ein Passwort vergeben sollt, nur mit Enter durch den gesamten Prozess gehen – hier wird nichts mehr eingetragen – kein guzzoni – keine IP oder Sonstiges!
“You will be then asked for the exact same details again as above, except this time asked for a challenge passphrase. Once again, don’t enter anything, and make sure you leave the challenge passphrase blank as well.”
Heißt soviel: Lasst das Challenge Passwort bitte ebenso frei!
Schließlich werdet Ihr zur Eingabe des Passworts für die ca.key gefragt. Dies ist das Passwort, das Ihr am Anfang des Create.sh Scripts eingetragen habt.
Abschließende Schritte wenn die Zertifikatserstellung abgeschlossen ist
Gehen wir zurück in den Web-Browser, wo die GUI geöffnet wird/ist. Start drücken. Der Server läuft
Zertifikat ans iPhone 4S übertragen / Einrichten von DNS
DNS Server: Scrollt bis zum Ende in der WebGUI in das Feld “DNS-Generator”, dort gebt Ihr die lokale IP-Adresse des SiriProxy ein. In meinem Fall wäre es “192.168.0.25″ - danach auf die DNS Config-Taste klicken.
Im Terminal folgende Befehle eingeben:
cd /var/www/SiriProxy/
sudo ./dns.sh
Nun trennt sich die Anleitung einmal in lokal (meint 4S & 4er im gleichen heimischen Netzwerk) und extern (4er im Heimnetzwerk, 4S eines Bekannten, der aber nicht im gleichen Netzwerk ist)
Nur lokal erreichbarer Proxy im heimischen WLAN / iPhone 4S & iPhone 4 im selben Netzwerk
(4S extern verbinden via VPN weiter unten):
Zertifikate am iPhone 4S installieren (mit iPhone im heimischen WLAN):
Öffne MobileSafari:
http://SERVER_IP_ADDRESS/SiriProxy/ca.crt
Ersetze Server_IP_Adresse mit der IP des SiriProxy – in meinem Fall 192.168.0.25
anschließend das Profil installieren.
Verbindung zum SiriProxy mit einem 4S im heimischen WLAN:
Einstellungen => WLAN => Eigenes WLAN mit blauen Pfeil am Ende auswählen – Feste IP passend zum heimischen Netz vergeben – Beachtet hierbei eure eigene Netzstruktur und vermeidet Doppelzuweisungen. Desweiteren habe ich dem DNS-Eintrag noch die DNS meines Routers anghängt, damit sich das iPhone nach wie vor mit dem Internet verbinden kann.
z.B.:
IP 192.168.0.3
Subnetz: 255.255.255.0
Router: 192.168.0.1
DNS: Hier jetzt die lokale IP der Ubuntu VM (in meinem Fall 192.168.0.25,192.168.0.1)
Speichern. iPhone Neustarten.
Anschließend WLAN Verbindung herstellen, mit Siri kurz sprechen. In der WebGUI sollte nun der Status auf “4S Certificates: Present” springen. Alles ist gut. Nun könnt Ihr das 4er einrichten und verbinden.
Einstellungen iPhone 4/3GS/iPod Touch 4G
Zertifikat installieren.
Öffne MobileSafari:
http://SERVER_IP_ADDRESS/SiriProxy/ca.crt
Ersetze Server_IP_Adresse mit der IP des SiriProxy – in meinem Fall 192.168.0.25
anschließend das Profil installieren.
In Einstellungen => Spire den Proxy eintragen: Lokale IP von Ubuntu (Form: https://192.168.0.25)
Siri in Einstellungen => Allgemein => Siri aktivieren.
Respring oder Neustart.
Siri sollte nun auf Eure Eingaben reagieren. Glückwunsch
Für den externen Betrieb
Konfiguration iPhone 4
Zertifikate am iPhone 4 installieren (mit iPhone im heimischen WLAN):
Öffne MobileSafari:
http://SERVER_IP_ADDRESS/SiriProxy/ca.crt
Ersetze Server_IP_Adresse mit der IP des SiriProxy – in meinem Fall 192.168.0.25
anschließend das Profil installieren.
In Einstellungen => Spire den Proxy eintragen: Eure feste IP oder DynDNS (Form: https://xxx.xx.xxx.xx ohne Portangabe!)
Siri in Einstellungen => Allgemein => Siri aktivieren.
Respring oder Neustart.
Solltet Ihr kein 4S haben, aber einen Freund der eins hat, dann ein Zertifikat an ein entferntes 4S senden:
Ubuntu => Persönlicher Ordner => Oben in der Leiste „Gehe zu“
/var/www/SiriProxy
ca.crt kopieren – einfachkeitshalber evtl. zur Dropbox o.ä. / oder per Mail ans iPhone 4S senden
dann stellt eine VPN-Verbindung ins heimische Netzwerk her:
VPN Verbindung zur VM
Meine Konfiguration: (entsprechende IPs müssen natürlich euren angepasst werden)
Virtual Box Ubuntu 11.10 mit fester IP 192.168.0.25 – Verbindungsmodus: Netzwerkbrücke (saubere Installation mit allen Updates um Fehler auszuschließen)
Router: FritzBox 7390 Ports: 1723 und GRE an 192.168.0.25 weitergeleitet (wichtig, informiert euch entsprechend eurer Hardware!)
Folgende Schritte werden alle in Ubuntu ausgeführt!
1. Als erstes müssen wir uns den pptpd Server (PPTP VPN) in Ubuntu installieren:
Terminal öffnen und folgenden Befehl ausführen (mit Enter)
sudo apt-get install pptpd
2. Nun müssen wir die /etc/pptpd.conf Datei bearbeiten:
sudo gedit /etc/pptpd.conf
3. Weiter unten finden wir die benötigten Einstellungen die wir auskommentieren (#-Zeichen entfernen) und an unser System anpassen:
localip ist die lokale IP unserer Ubuntu Maschine
remoteip beinhaltet die IP die das verbundene Gerät erhalten soll – entweder ein IP-Bereich oder eben eine feste IP
Im Anschluss einfach Speichern & schließen
(! Evtl. Fehlermeldungen von gedit im Terminal können ignoriert werden.)
4. Nun müssen wir noch festlegen, wer sich per VPN verbinden darf, dazu müssen wir die /etc/ppp/chap-secrets Datei via Terminal bearbeiten:
sudo gedit /etc/ppp/chap-secrets
Nun legen wir Benutzer an (Name dann TAB-Taste usw. )
# Secrets for authentication using CHAP
# client server secret IP addresses
Benutzername pptpd password *
Hinweis: “Benutzername & password” sind frei wählbar und sollten wohlüberlegt gewählt werden.
Im Anschluss einfach Speichern & schließen.
5. Jetzt müssen wir noch einen Eintrag vornehmen (wieder via Terminal)
sudo gedit /etc/ppp/pptpd-options
und die Zeile weiter unten ms-dns auskommentieren (#-Zeichen entfernen)
ms-dns IP.der.Ubuntu.Maschine (in meinem Fall 192.168.0.25)
6. Schlussendlich müssen wir den pptpd Server neustarten mit Hilfe dieses Terminal Befehls:
sudo /etc/init.d/pptpd restart
That’s it!
7. iPhone 4S verbinden
Einstellungen => Allgemein => Netzwerk => VPN => VPN hinzufügen
Oben „PPTP“ auswählen
Beschreibung: Nach Wunsch
Server: Feste IP oder DynDNS-Adresse (ohne irgendwas, also sprich ohne http, Port oder sonstiges)
Account: Benutzername von weiter oben
RSA-SecurID: unberührt lassen
Kennwort: selbsterklärend
Verschlüsselung (wichtig): Automatisch
Für alle Daten (ebenso wichtig): ja für alle Daten – Schieber auf ein
Oben rechts sichern. Das wars – Verbinden (über UMTS) – sollte alles richtig eingerichtet sein, erscheint oben in der Leiste am iPhone das VPN Symbol.
In Ubuntu bekommt Ihr keine Benachrichtigung, ob man erfolgreich verbunden ist. Man kann mit folgendem Befehl
Ifconfig –a
aber überprüfen ob die pptpd Schnittstelle genutzt wird – schaut auf den Eintrag: ppp0 und dann sieht man wer/oder was verbunden ist.
Am iPhone 4S muss dann nur VPN gestartet werden und einmal mit Siri gesprochen werden, Ihr solltet nun ein positives Feedback im Proxy-Server bekommen
danach kann die Verbindung getrennt werden und das 4er kann Siri nutzen.
Siri sollte nun auf Eure Eingaben reagieren. Glückwunsch :-D
Ich hoffe das hilft dem Ein oder Anderen von Freunden (!) leichter an die Keys zu kommen, da der Aufwand für den Spender minimal ist.
Noch ein letzter Tipp:
Um eure Spender nicht zu nerven, wenn irgendwas nicht so wirklich geht, probiert es am Besten mit Eurem 4er aus und testet die VPN-Verbindung:
Proxy in der VM starten.
1.) Evtl. “vermurkste” apple.assistent.plist in iFile (/var/mobile/Library/Preferences) löschen – evtl. Bearbeitungen der Host-Datei auch rückgängig machen (werden eh nicht benötigt)
2.) In den Einstellungen des 4er => Allgemein => Siri => Ausschalten
3.) Einstellungen => Spire => https://guzzoni.apple.com eintragen
(wir simulieren ein 4S damit, da dort der Proxy ja auch vorgegeben ist)
4.) WICHTIG: Respring oder Reboot
5.) In den Einstellungen des 4er => Allgemein => Siri => Einschalten
6.) VPN Verbindung via UMTS/Edge herstellen
7.) mit Siri sprechen (die natürlich ohne Keys wieder Fehler ausspuckt)
aber dann habt Ihr alles richtig gemacht und ein 4S, welches sich verbindet, könnte die Keys loswerden
Zu guter letzt will ich mich bei den großartigen Mitgliedern vom iSzene-Forum bedanken, ohne deren Hilfe ich das Aufsetzen des Proxys wahrscheinlich nicht geschafft hätte!!
Für Jeden der sich weitergehend damit beschäftigen möchte, empfehle ich die beiden Ursprungsanleitungen und die dazugehörigen Diskussionsthreads im Forum
[ANLEITUNG] Siri Proxy + Spire – MAC & Windows über W-LAN von sylver
und
[ANLEITUNG] Siri Proxy + Spire – MAC & Windows über UMTS von evilfler

Pingback: Spire Proxy Server Siri [Liste] - Seite 9
Pingback: Siri @home - Seite 9 - IP-Symcon Community Forum