mirror of
https://github.com/ProxymanApp/Proxyman.git
synced 2026-04-26 16:45:57 +03:00
[GH-ISSUE #1722] [Feature Request] Automatically decompress Brotli compressed response body #1715
Labels
No labels
Discussion
Feature request
In Progress...
Plugins
Waiting response
Windows
Windows
bug
duplicate
enhancement
feature
good first issue
iOS
macOS 10.11
question
wontfix
✅ Done
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/Proxyman#1715
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @GalvinGao on GitHub (Jul 23, 2023).
Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/1722
Description
Currently, Proxyman iOS App doesn't seems to be supporting Brotli decompression out of the box. I have to export the response body and decompress it using
unbrotli, which loses all of the awesome feature (such as TreeView) from Proxyman and instead I have to open the response (typically a JSON) in external programs like VSCode and inspect the response from there.It would be awesome if the Proxyman iOS App can decompress the Brotli response body based on the
Content-Encodingheader returned by the server!Why this feature/change is important?
For one or two responses this might be OK, but for just a bit more responses and the process would feel much more devastating. Considering that Cloudflare supported Brotli compression a while ago, this feature would be a very useful one to have when requesting any modern sites that uses the Brotli compression algorithm.
@NghiaTranUIT commented on GitHub (Jul 25, 2023):
@GalvinGao Proxyman already supports
brotlidecompression as long as theContent-Encodingisbr.I guess your Response Header doesn't have the Content-Encoding, right? So Proxyman doesn't know what decoder should be used -> Use raw binary.
@GalvinGao commented on GitHub (Jul 25, 2023):
I see. Thanks for the information! I just double checked and it seems that there's a small discrepancy of how Proxyman handles the
proxymanlogv2file (that I captured on my iPhone using the Proxyman iOS App and the builtin VPN-based capture) and thehar(that I captured on macOS using the Proxyman macOS App and the HTTP Proxy-based capture) file. Due to the sensitive nature of those files, unfortunately, I am not able to share the files that I've encountered the issue with, but here are some screenshots for a better explanation. Despite havingContent-Encoding: br, theBodyinproxymanlogv2still only gives a hex viewer.The

Content-Encoding: brbody inproxymanlogv2:The

Content-Encoding: brbody inhar:@NghiaTranUIT commented on GitHub (Jul 25, 2023):
It seems Proxyman could not decode your
brbody.I realize that Proxyman is using
google/brotli, but with a commit 5 years ago. It's out of date.I'm going to upgrade it and send you a Beta build, let see if it can fix it.
@NghiaTranUIT commented on GitHub (Jul 25, 2023):
@GalvinGao if you don't mind, let's try this beta build: https://download.proxyman.io/beta/Proxyman_4.9.0_Update_1.0.9_brotli.dmg
The Brotli library is updated to the latest tag, 1.0.9