1

BACKGROUND

I have a number of Ruby plugins for SiriProxy I have either written myself or use others for voice control of my home (https://github.com/elvisimprsntr?tab=repositories). SiriProxy is basically a MITM proxy which allows one to interject your own actions and responses into the Siri protocol. Unfortunately, Apple made some extensive changes to the Siri protocol which breaks SiriProxy in iOS 7. Siri in iOS 7 uses MPTCP, a new ACE protocol, and possibly different certificates. We have been unsuccessful getting SiriProxy to work with iOS 7. (https://github.com/plamoni/SiriProxy/issues/542)

ALTERNATIVE TO SIRI

Since it is highly unlikely that Apple will ever release a public API for Siri, or automator apps like AutoVoice and Tasker on iOS, I thought an alternative would be use the Google voice search app which is available for both iOS and Android, which there are a number of advantages:
- Speech to Text is performed on the device.
- Does not use MPTCP, HTTPS, or require a login
- The Google voice search simply builds an HTTP GET google search query URL. In some cases the app will speak the response.
- I think the google search uses cookies, but not sure if that is critical.

REQUIREMENTS

I have read a number of posts, forums, etc. looking for the best way to approach this, unfortunately there seems to be a number of ways to approach this.
- Must be implemented in Ruby in order to maximize reuse of existing SiriProxy plugins.
- A proxy which would allow me to parse the URL for keywords in the search query.
- Allow me to simply pass the results of the google query when a keyword match is not made.
- Allow me to replace the google search results my own response.

QUESTION

What I am struggling with in where to begin. I can’t be the first one to have a need for a similar proxy in Ruby. Any suggestions would be welcome.

UPDATE: REF POSTS

Help with HTTP Intercepting Proxy in Ruby?
accessing a website through a proxy using Net::HTTP proxy in ruby
Ruby Eventmachine & HTTP requests via proxy
How to create proxy server in ruby that accepts HTTPS
Ruby MITM proxy

Community
  • 1
  • 1
Elvis
  • 318
  • 1
  • 2
  • 12

1 Answers1

0

best today is mitmproxy (python) and then communicate between python and ruby somehow (RPC-style) and python runs with mitmdump -s your-script.py

localhostdotdev
  • 1,795
  • 16
  • 21