ProxymanApp / Proxyman

Modern. Native. Delightful Web Debugging Proxy for macOS, iOS, and Android ⚑️
https://proxyman.io
5.57k stars 187 forks source link

[Request] Support Scripting, Breakpoint and Others tools for Websocket protocol #740

Open 4nif opened 3 years ago

4nif commented 3 years ago

Proxyman version? (Ex. Proxyman 2.15.1)

macOS Version? (Ex. mac 10.15.7)

Steps to reproduce

Expected behavior

Screenshots (optional)

NghiaTranUIT commented 3 years ago

Hi @4nif, I would like to collect more requests from other users in order to start implementing this feature since it’s quite challenging to support debugging tools with Websocket 🧐

Thank you for opening this ticket πŸ‘

NghiaTranUIT commented 3 years ago

I might support Breakpoint for WS since it might be easier I believe.

Can you share with me what tasks you would like to achieve with WS?

4nif commented 3 years ago

@NghiaTranUIT for starter

additionally I want to be able to perform local mock and streaming websocket message payload from proxyman to the client app πŸ’―

NghiaTranUIT commented 3 years ago

ability to breakpoint websocket tcp handshake (changes payload or header, etc)

This feature seems to be easy because, behind the scene, the WS/WSS will make an HTTP/HTTPS request (with Upgrade: websocket header), so I can modify the Breakpoint to capture it.

modify/update websocket messages after websocket connection established

It's a huge task as I estimate, let me collect more feature requests and consider soon πŸ‘

Floperoid commented 3 years ago

Also map remote for websocket connection would be great feature. It's working in Charles now, might give you some ideas

phaseOne commented 2 years ago

I too would like to use map remote, so that when developing locally, I can redirect connections in my browser from our dev RabbitMQ instance wss://broker.dev.example.com to a local instance at ws://locahost:15675.

Can also confirm that this works in Charles today if you need it.

zh-d-d commented 2 years ago

This is a great feature

helsonxiao commented 2 years ago

I need scripting to add query params for ws. Hope this can be implemented soon.

phaseOne commented 2 years ago

If you need this feature right now, it’s possible with mitmproxy addons, though you will have to accept using an app other than Proxyman.

NghiaTranUIT commented 2 years ago

Thanks for all your requests. It seems it's reasonable to start implementing the Breakpoint for WS. I will checkout πŸ‘

mprice-banno commented 2 years ago

Adding my vote for breakpoint, and if possible scripting, for Websockets. Currently using Burp when I have to play with Websockets and it's not up to Proxyman's standard! Scripting would be really nice, as in my use case I need to use the request in part of the response.

4nif commented 2 years ago

Hopefully this feature can be implemented soon @NghiaTranUIT

rilham97 commented 1 year ago

I hope this feature can be add soon, so I just paid to your product only

Here their feature https://portswigger.net/burp/documentation/desktop/testing-workflow/websockets/manipulating-websocket-messages

NghiaTranUIT commented 1 year ago

Hey folks, thanks for all input here πŸ‘

I suppose that I can implement the WebSocket Repeater like what Burp does at: https://portswigger.net/burp/documentation/desktop/testing-workflow/websockets/manipulating-websocket-messages


To @Floperoid and @phaseOne Map Remote for Websocket is already done: https://github.com/ProxymanApp/Proxyman/issues/1218