Feature Request: WebSocket protocol support
Proxyman version? (Ex. Proxyman 1.4.3)
Version 2.35.0 (23500)
macOS Version? (Ex. mac 10.14)
11.6 (20G165)
Steps to reproduce
Using any programming language SDK to start a websocket server (ws or wss) at 127.0.0.1:8003 or other ip/port, and then start a client to connect this websocket server.
Expected behavior
See ws traffic in Proxyman GUI, just like Charles.
Screenshots (optional)
Hey @zhuyingda I'm not sure if you know that Proxyman and Charles Proxy could not capture WS/WSS from the iOS app anymore since WS/WSS traffic doesn't go through the HTTP Proxy Server.
If you use WS/WSS from web browser, Proxyman can capture it as usual 👍
You can read more at: https://github.com/ProxymanApp/Proxyman/issues/586#issuecomment-720197948
Solution: Use Atlantis framework and capture WS/WSS (https://github.com/ProxymanApp/Proxyman/issues/586#issuecomment-821054334)
@NghiaTranUIT I tried Chrome, Safari and the url https://echo.websocket.org. SSL is enabled. No wss:// in the list. Proxy overridden. How to troubleshoot this?
@bubnov from what I see, https://echo.websocket.org/ is not a Websocket connection. You can see it in the Network Tab and Firefox. It's just a simple HTTPS Request.
As a result, Proxyman just displays as a HTTPS request/response.
@NghiaTranUIT I just used this comment as a reference https://github.com/ProxymanApp/Proxyman/issues/586#issuecomment-675834504
After we enable SSL-Proxying, Proxyman is able to read the header and understand that it's a WSS and handle the WSS traffic.
It's from 2020, and https://echo.websocket.org doesn't send any WS/WSS traffic when accessing from Web Browser. If you use NodeJS to make a WS Connection to this server, it will work.
To use WS on web browser, please use this https://socketsbay.com/test-websockets
@NghiaTranUIT Thanks for clarification. I managed to get it working with https://v3.piesocket.com/websocket-tester and in Chrome only. It is not working in Safari for some reason. Is it possible to capture websockets from Safari?
from what I have experienced, Safari Websocket doesn't respect the system HTTP Proxy, it goes to the Internet without going to Proxyman.
@NghiaTranUIT I see. I have no questions so far. Thanks for your help! :-)