2012-11-20 24 views
2

我正在尋找一些關於如何在支持HTTPS的Ruby中編寫代理的示例。我有一個使用Webricks HTTPProxyServer實現的簡單代理,但我注意到,HTTPS流量只是隧道式(因爲它應該;))。但我想用VCR錄製內容(關於我的問題在這裏VCRProxy: Record PhantomJS ajax calls with VCR inside Capybara),只要內容只通過錄制,錄像機就無法錄製它。Ruby MITM代理

所以我想寫代理作爲一箇中間人,即時生成SSL證書(我不在乎證書錯誤,它只是爲了測試),然後我就可以稍後錄製內容/回放。

因此,如果有人從如何開始,或教程或要點,有一個很好的資源,請讓我知道。

PS:我已經看到了這個問題,但他們沒有提供任何進一步的東西(它需要在紅寶石):

回答

0

Python中有一個很好的MITM代理,名字爲mitmproxy。作者的netlib圖書館做的竅門和mitmproxy使用它。

由於您瞭解Ruby,因此代碼庫不是很大,不應該很難通過它。

+0

我已經看到了,但我需要在紅寶石代理,因爲我必須圍繞net :: http調用VCR記錄它的塊。 – 23tux

+0

我建議你應該看看它的參考,因爲你的問題意味着你要在Ruby中實現一個。 – 2012-11-20 17:03:01

+0

Thx,我會看看這個,但是我的Python不太好;),所以當有人得到一個紅寶石的例子,我會很高興聽到它 – 23tux

1

一個古老的問題,但爲了完整起見,還有另一個答案。

我在Ruby中實現了一個HTTP/HTTPS攔截代理,該項目是hosted in github

該項目是新的,所以它還沒有像Python的mitmproxy一樣成熟,但是它支持HTTPS並且可以即時生成證書。

+0

好項目做得好! – Tiago