mirror of
https://github.com/ProxymanApp/Proxyman.git
synced 2026-04-25 16:15:55 +03:00
[GH-ISSUE #449] Investigate why Firebase traffics "Realtime Database" doesn't show up on Proxyman #448
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#448
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 @NghiaTranUIT on GitHub (Mar 25, 2020).
Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/449
Originally assigned to: @NghiaTranUIT on GitHub.
Description
A user reports that Firebase traffic (Realtime Database traffic) doesn't present on the app even though he can see other traffic as usual.
Conversation: https://twitter.com/jeanetienne/status/1242659703185764357
Acceptance Criteria
@NghiaTranUIT commented on GitHub (Mar 25, 2020):
After the investigation, it turns out that Proxyman or other tools couldn't capture the traffic from Firebase Realtime Database since it's not an HTTP/HTTPS application layer, so the traffic doesn't respect the HTTP/HTTPS Proxy Config -> Doesn't go through Proxyman -> Doesn't show up.
However, Proxyman can capture other HTTP/HTTPS Requests as usual when authorizing with Firebase server as an example 👍
@jamesdixon commented on GitHub (Nov 30, 2020):
Hello! Is the traffic not sent over a common protocol that Proxyman could recognize?
@jamesdixon commented on GitHub (Nov 30, 2020):
Would love a workaround
@NghiaTranUIT commented on GitHub (Dec 1, 2020):
@jamesdixon You can workaround by using Atlantis (https://github.com/ProxymanApp/atlantis) (see Advanced Usage section)
Basically, you can construct a Request/Response from Firebase and add to Atlantis, then it will display on Proxyman for inspector.
It's manual, but we can see the Firebase traffic 😄
@NicolasCombe5555 commented on GitHub (Sep 24, 2021):
Is this ever going to be integrated or be less manual? Asking for a friend 😅
@NghiaTranUIT commented on GitHub (Sep 24, 2021):
Unfortunately, Firebase SKD is a closed source so I'm unable to integrate Proxyman to Firebase.
From what I investigate recently on Firebase, they are still using a non-HTTP protocol to communicate to Firebase Server. Therefore, Proxyman could not automatically capture it.
I suppose that using Atlantis framework and add the request/response manually is a solution I can think of 👍
Firebase sdk doesn't support HTTP Proxy too, so there is no way to force Firebase to use Proxyman Proxy Server 😿
@NghiaTranUIT commented on GitHub (Nov 25, 2021):
@jamesdixon @NicolasCombe5555 I did an investigation this morning and turnss out Proxyman can capture Firebase Google Analytic. (Some reports mentions that Proxyman could not see any Firebase GA traffic)
Traffic from https://app-mesurement.com/a
Traffic from https://firebaselogging-pa.googleapis.com/v1/firelog/legacy/batchlog
As you can see, Proxyman can capture and partially read the value of the protobuf content. We can also see the event name, event ID, Event Description.
Suggestion
If Proxyman could not capture Firebse GA traffic, I guess that your event is batched and on the schedule.
In order to capture the traffic in real-time, we should use
-FIRDebugEnabled(https://firebase.google.com/docs/analytics/debugview) to force the SDK to send the event immediately (instead of batching and sending in an hour later).Hope that help 👍