2017-01-01 1 views
10

Comment un script greasemonkey/le script utilisateur de Chrome peuvent-ils intercepter une communication websocket?Lire la communication websocket via le script utilisateur

Mon but est d'avoir des statistiques supplémentaires pour un jeu en navigateur

+0

Développez-vous également le jeu dans le navigateur? Si oui, je pourrais recommander le modèle établi par Redux Devtools, qui est de fournir un crochet dans l'application qu'un plugin Chrome peut accrocher. Code sur https://github.com/zalmoxisus/redux-devtools-extension, extension à l'adresse https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd – carpeliam

Répondre

4

Vous pouvez utiliser Firefox, puis ajoutez le Firebug module puis ajoutez & utiliser websocket-monitor module pour surveiller websocket.

Si vous souhaitez accrocher websocket à partir de javascript, vous pouvez également utiliser wshook.

+0

Mon but est de publier ces événements websocket à script de contenu. Une excellente démo serait websocket.org/echo.html avec une fenêtre de journal parallèle créée par le script affichant une sortie identique. J'ai regardé Websocket Monitor et j'essaie de l'étendre pour répondre à mes besoins. J'ai essayé 'panel.port.emit()' dans view.js: frameReceived et wsm-panel.js: onFrameReceived. Et puis tenté de capturer cet événement dans le script de contenu avec 'self.port.on()'. Je ne peux pas dire si l'événement est déclenché ou non, mais le script de contenu ne le reçoit définitivement pas. Est-ce que je prends la bonne approche ici? –

+0

Pourquoi ne pas utiliser ce hook de socket Web à l'intérieur de votre module: https://github.com/skepticfx/wshook –

+0

Je ne peux pas utiliser de hooks pour mon cas d'utilisation car l'objet websocket est masqué dans la couche de script de contenu. Websocket Monitor intercepte les paquets websocket sur une couche inférieure. Je n'arrive tout simplement pas à transférer les paquets vers le script de contenu. –