Ruby http代理

时间:2014-01-18 23:36:46

标签: ios ruby http proxy

背景

我有很多用于SiriProxy的Ruby插件我自己编写或使用其他人来控制我家的语音(https://github.com/elvisimprsntr?tab=repositories)。 SiriProxy基本上是一个MITM代理,它允许您将自己的操作和响应插入Siri协议。不幸的是,Apple对Siri协议做了一些大的修改,在iOS 7中打破了SiriProxy.SIMI 7中的Siri使用了MPTCP,一种新的ACE协议,可能还有不同的证书。我们未能成功将SiriProxy与iOS 7配合使用。(https://github.com/plamoni/SiriProxy/issues/542

替代SIRI

由于Apple不太可能为Siri发布公共API,或者在iOS上自动发布AutoVoice和Tasker等应用程序,我认为另一种方法是使用适用于iOS和Android的Google语音搜索应用程序,其中有许多优点:
- 在设备上执行语音到文本 - 不使用MPTCP,HTTPS或要求登录
- 谷歌语音搜索只是构建一个HTTP GET谷歌搜索查询URL。在某些情况下,应用会说出回应 - 我认为谷歌搜索使用cookies,但不确定这是否至关重要。

要求

我已经阅读了一些帖子,论坛等,寻找最佳方法来解决这个问题,不幸的是,似乎有很多方法可以解决这个问题。
- 必须在Ruby中实现,以最大限度地重用现有的SiriProxy插件 - 允许我解析搜索查询中关键字的URL的代理 - 当没有进行关键字匹配时,允许我简单地传递google查询的结果 - 允许我将谷歌搜索结果替换为我自己的回复。

问题

我在哪里开始挣扎。我不能成为第一个需要在Ruby中使用类似代理的人。欢迎大家提出意见。

更新: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

1 个答案:

答案 0 :(得分:0)

今天最好的是mitmproxy(python),然后以某种方式在python和ruby之间进行通信(RPC样式),并且python使用-Command运行