Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Siri-Proxy - wer hat know how und will mitbasteln?
Siri-Proxy - wer hat know how und will mitbasteln?
Hallo Kollegen,
ich bastele derzeit auch gerade am Siri Proxy rum. Allerdings nicht an der Ruby Geschichte sondern teste es gerade auf Pythonbasis. Allerdings scheint das Problem auch nicht an der Implementierung zu liegen. Ich habe das Zertifikat erstellt und auf dem iPhone installiert. Auf meinem Server habe ich dnsmasq eingerichtet und sowohl kryten.apple.com als auch guzzoni.apple.com auf meinen Siri Proxy Server umgebogen. Allerdings scheint die Kommunikation nicht über diesen zu laufen. Ich sehe im Proxy zwar einige Connect Anfragen, aber die eigentliche Kommunikation sehe ich nicht. Zum Testen habe ich mal dnsmasq gestoppt. Dann kann ich auf dem iPhone nicht mehr surfen (klar, Namen werden nicht aufgelöst), aber Siri funktioniert nach wie vor.
Hat sich da mit iOS 6 oder dem iPhone 5 gravierend was geändert (hardkodierte IPs oder dergleichen) oder hat sonst jemand eine Idee an was das liegen kann?
EDIT: habe gerade den Post von Thorsten gelesen, dass seit iOS 6 auch über 3G gegangen wird... werde ich mal testen ob es daran liegt. Danke!
Hi
mit iOS6 müsst ihr aufpassen - scheinbar benutzt das iPhone dann auch 3G obwohl es WLAN hat (vorallem wenn es probleme im WLAN feststellt) - in der iOS6 Beta gab es dafür sogar einen Schalter.
Zum testen rate ich: Fligmodus an - und dann WLAN einschalten - dann ist sichergestellt das nur WLAN geht ;-)
Ich hab' so das Gefühl die Komunikation klappt nicht so ganz.
[WARN ]: [iPhone]: [2012-11-04 13:05:00]: ROGUE PACKET!!! WHAT IS IT?! TELL US!!! IN IRC!! COPY THE STUFF FROM BELOW
Unhandled Error
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/python/log.py", line 84, in callWithLogger
return callWithContext({"system": lp}, func, *args, **kw)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/python/log.py", line 69, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/python/context.py", line 81, in callWithContext
return func(*args,**kw)
--- <exception caught here> ---
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
why = selectable.doRead()
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/tcp.py", line 203, in doRead
return self._dataReceived(data)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/tcp.py", line 209, in _dataReceived
rval = self.protocol.dataReceived(data)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/protocols/tls.py", line 413, in dataReceived
self._flushReceiveBIO()
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/protocols/tls.py", line 383, in _flushReceiveBIO
ProtocolWrapper.dataReceived(self, bytes)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/protocols/policies.py", line 118, in dataReceived
self.wrappedProtocol.dataReceived(data)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/protocols/basic.py", line 572, in dataReceived
return self.rawDataReceived(data)
File "/opt/pysiriproxy/pysiriproxy/connections/connection.py", line 190, in rawDataReceived
self.__processCompressedData()
File "/opt/pysiriproxy/pysiriproxy/connections/connection.py", line 214, in __processCompressedData
while self.__hasNextObject():
File "/opt/pysiriproxy/pysiriproxy/connections/connection.py", line 252, in __hasNextObject
self.log.warn(unpacked.to_hex)
exceptions.AttributeError: 'str' object has no attribute 'to_hex'
[ERROR]: [iPhone]: [2012-11-04 13:05:00]: Error matching packet!
[ERROR]: [iPhone]: [2012-11-04 13:05:00]: 36 33 36 46 36 44 32 45 36 31
[WARN ]: [iPhone]: [2012-11-04 13:05:00]: ROGUE PACKET!!! WHAT IS IT?! TELL US!!! IN IRC!! COPY THE STUFF FROM BELOW
Unhandled Error
Traceback (most recent call last):
File "./siriproxy", line 111, in <module>
reactor.run()
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/base.py", line 1169, in run
self.mainLoop()
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/base.py", line 1181, in mainLoop
self.doIteration(t)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/epollreactor.py", line 379, in doPoll
log.callWithLogger(selectable, _drdw, selectable, fd, event)
--- <exception caught here> ---
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/python/log.py", line 84, in callWithLogger
return callWithContext({"system": lp}, func, *args, **kw)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/python/log.py", line 69, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/python/context.py", line 81, in callWithContext
return func(*args,**kw)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/posixbase.py", line 627, in _doReadOrWrite
self._disconnectSelectable(selectable, why, inRead)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/posixbase.py", line 264, in _disconnectSelectable
selectable.connectionLost(failure.Failure(why))
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/internet/tcp.py", line 287, in connectionLost
protocol.connectionLost(reason)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/protocols/tls.py", line 456, in connectionLost
self._flushReceiveBIO()
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/protocols/tls.py", line 383, in _flushReceiveBIO
ProtocolWrapper.dataReceived(self, bytes)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/protocols/policies.py", line 118, in dataReceived
self.wrappedProtocol.dataReceived(data)
File "/usr/local/lib/python2.7/dist-packages/Twisted-12.1.0-py2.7-linux-i686.egg/twisted/protocols/basic.py", line 572, in dataReceived
return self.rawDataReceived(data)
File "/opt/pysiriproxy/pysiriproxy/connections/connection.py", line 190, in rawDataReceived
self.__processCompressedData()
File "/opt/pysiriproxy/pysiriproxy/connections/connection.py", line 214, in __processCompressedData
while self.__hasNextObject():
File "/opt/pysiriproxy/pysiriproxy/connections/connection.py", line 252, in __hasNextObject
self.log.warn(unpacked.to_hex)
exceptions.AttributeError: 'str' object has no attribute 'to_hex'
[INFO ]: [iPhone]: [2012-11-04 13:05:00]: Connection made.
[INFO ]: [iPhone]: [2012-11-04 13:05:00]: Connection made.
[INFO ]: [iPhone]: [2012-11-04 13:05:00]: Connection made.
[INFO ]: [iPhone]: [2012-11-04 13:05:21]: Connection lost: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionLost'>: Connection to the other side was lost in a non-clean fashion: Connection lost.
]
[INFO ]: [iPhone]: [2012-11-04 13:05:21]: Closing Guzzoni connection.
[INFO ]: [iPhone]: [2012-11-04 13:05:22]: Connection lost: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionLost'>: Connection to the other side was lost in a non-clean fashion: Connection lost.
]
[INFO ]: [iPhone]: [2012-11-04 13:05:22]: Closing Guzzoni connection.
[INFO ]: [iPhone]: [2012-11-04 13:05:28]: Connection lost: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionLost'>: Connection to the other side was lost in a non-clean fashion: Connection lost.
]
[INFO ]: [iPhone]: [2012-11-04 13:05:28]: Closing Guzzoni connection.
Manchmal erkennt der pysiriproxy alle gesprochenen Befehle.
Manchmal bekommt es aber gar nichts mit.
Und scheinbar routet das iPhone auch an dem Proxy vorbei, wenn der nicht richtig oder gar nicht läuft,
obwohl er eingetragen ist als DNS im iPhone.
Wenn ich den Port 443 nutzen will, muss ich root Rechte haben. Wenn ich als root oder als user mit sudo siriproxy ausführe nimmt er immer als Homeverzeichnis das root-Homeverzeichnis.
Wie kann ich mit sudo als normaler user das Programm ausführen und gleichzeitig das Home-Verzeichnis des users nutzen?
Alle Ports unter 1024 sind sg. Restricted Ports und müssen immer als Root ausgeführt werden.
Da Siriproxy und mal so programmiert ist, die Daten im Homeverzeichnis des Users zu suchen, kann man da wenig machen. Einzige Möglichkeit, das zu ändern, wäre den entsprechenden Teil im Code zu modifizieren.
Eine weitere Variante wäre es, einfach einen symbolischen Link (cd ~root ; ln -s /user/blafasel/.siriproxy .) zu erstelle, der vom root Homeverzeichnis auf einen anderen Ort zeigt.
Wenn ich den siriproxy auf einen Port über 1024 einstelle, startet er als user siri einwandfrei. Ich bekomme aber die iPhone Anfrage nicht auf den anderen Port umgeboden.
Wie kann ich im dnsmasq meines Routers die Anfragen auf guzzoni bzw. kryten auf den Siriproxy mit Port > 1024 umbiegen?
Das iPhone kannst Du nicht umbiegen, das ist klar und dnsmasq ist nur zum verbiegen der DNS Anfragen, macht aber nix mit den Ports.
Hier kündetest Du mit iptables (die Syntax schüttel ich jetzt nicht aus dem Ärmel) den Port umbiegen.
ich habe mich mal am pysiriproxy versucht...
Installiert bekomm ich es, funktioniert auch bis auf:
Variante eins:
Wenn ich den Port 443 nutzen will, muss ich root Rechte haben. Wenn ich als root oder als user mit sudo siriproxy ausführe nimmt er immer als Homeverzeichnis das root-Homeverzeichnis.
Wie kann ich mit sudo als normaler user das Programm ausführen und gleichzeitig das Home-Verzeichnis des users nutzen?
Variante zwei:
Wenn ich den siriproxy auf einen Port über 1024 einstelle, startet er als user siri einwandfrei. Ich bekomme aber die iPhone Anfrage nicht auf den anderen Port umgeboden.
Wie kann ich im dnsmasq meines Routers die Anfragen auf guzzoni bzw. kryten auf den Siriproxy mit Port > 1024 umbiegen?
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: