-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Contribution, new fingerprints, OS, browsers, versions #46
Comments
Thanks for your interests. Here are some general patterns I observed:
If you would like to contribute, you can help to verify that Chromium-based browsers do share the same fingerprints and find new fingerprints for different versions of Safari. Here is a simple doc on how to capture values for this project. |
Thanks so much! Checking the docs now. Final question is about iOS, how do you capture values on that platform too? I would like to try for Chrome iOS/iPad... |
Wireshark. |
@yifeikong, for Safari, Priority should be 255 not 265, and Exclusive should be 0 not 1. I have looked in |
What do you mean by priority? I just checked here, and did not see any 255 value. Besides, there is not 265 value in the code. |
My mistake I mean the 'priority weight'. Check |
I see. the chrome values are:
but for safari, they are:
These values are not for chrome and safari. And you are right, it should be added for Safari. It's very straightforward to change, you can add this like the firefox version. |
Where would it need to be changed? In the patch file? I don't really want to make another 'safari' version alongside chrome if possible. Right now, to add new browsers or update versions, I modify the curl-impersonate.patch file. I am not using Firefox at all. |
I'm planning on fixing this in #20. |
Good to hear. Another notable point is that MAX_CONCURRENT_STREAMS is hardcoded to 1000, whereas in Safari iOS latest the value is 100. If we can maintain as much configurability for all options instead of making assumptions, we will be covered for the future in case browsers diverge away from 'chrome defaults'. It's a completely different subject, but have you considered using a single reference for all of these values, json for example, and then building the curl patch etc. with a bash script? Or making use of what is already in place for testing. Right now, there is a lot of repetition, and it's not easy for users to add their own custom fingerprints. I think that should be a core goal: let users do their own discovery, and define their own fingerprint parameters rather than providing them. One last point... I think a core value of this project should be to support the latest versions of browsers a priority. Supporting older versions isn't so important for the vision of bypassing detection, considering the fact that in this modern age all browsers force auto updates. |
I believe MAX_CONCURRENT_STREAMS has been fixed to 100 for safari since v0.6. |
Here it's hardcoded to 1000. In most browsers and clients, its the default of 100. I don't know when Chrome changed to 1000. The point is, that these values need to be configurable without assumptions made or hardcoded values (the same for priorty weight, priorty exclusive, etc.) |
No, it's not hardcoded, it's set using this option. |
I'm aware of the curl easy option, but my thinking is that the value for max conncurent streams should be configurable for each browser as other values are (e.g. for Safari, set 100 in this part). Then, if different browsers or versions change the value, the variation can be maintained. Without needing to externally remember that MAX_CONCURRENT_STREAMS needs to be manually set to 100 for Safari because curl-impersonate will incorrectly assume a default of 1000. |
From readme. |
I understand, thank you, I missed it at a glance due to the ordering of the parameters (3 is after 4!) Thank you again! |
Hi,
README mentions custom header for Edge or Android. Wrapper scripts metion Wireshark.
Wanted to get your 2 cents on how to contribute to the project, adding more natively supported browsers. Such as chrome120 on Windows, Linux, Android, and different MacOS versions.
I am using libcurl ffi bindings via env vars, so I don't believe creating new wrapper scripts will be usable.
The text was updated successfully, but these errors were encountered: