2017-01-01 134 views
10

greasemonkey腳本/ Chrome的用戶腳本如何攔截正在運行的websocket通信?通過腳本閱讀websocket通信

我的目標是有一個在瀏覽器遊戲的附加統計

+0

您是否還在構建瀏覽器內遊戲?如果是這樣,我可能會推薦由Redux Devtools建立的模式,該模式將在Chrome插件可以掛接的應用中提供一個鉤子。代碼位於https://github.com/zalmoxisus/redux-devtools-extension,擴展位於https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd – carpeliam

回答

4

您可以使用Firefox,然後添加Firebug module再加入&使用websocket-monitor module監測的WebSocket。

如果你想從javascript鉤住websocket,你也可以使用wshook

+0

我的目標是將這些websocket事件發佈到內容腳本。一個很棒的演示將會是websocket.org/echo.html,並顯示相同輸出的腳本創建的並行日誌窗口。我看了Websocket Monitor,並試圖擴展它以滿足我的需求。我在view.js中使用了'panel.port.emit()':frameReceived和wsm-panel.js:onFrameReceived。然後嘗試用'self.port.on()'在內容腳本中捕獲該事件。我無法分辨事件是否正在觸發,但內容腳本絕對不會收到。我在這裏採取正確的方法嗎? –

+0

爲什麼不在你的模塊中使用這個websocket鉤子:https://github.com/skepticfx/wshook –

+0

因爲websocket對象隱藏在內容腳本層,所以我不能使用鉤子作爲我的用例。 Websocket Monitor正在攔截較低層的websocket數據包。我無法設法將數據包轉發到內容腳本。 –