curl-cffi TLS指纹伪造

curl-cffi TLS指纹伪造

源码分析

curl-cffi依赖curl-impersonate。Windows AMD64、Linux AMD64已经预编译了curl-impersonate, ARM架构则需要自己编译。

测试代码:

1
2
3
4
from curl_cffi import requests

r = requests.get("https://tls.browserleaks.com/json", impersonate="chrome110")
print(r.json())

curl-cffi提供了requests 样式的接口,底层实际上是调用libcurl。

image-20240112173648510

image-20240112173848618

image-20240112173933525

各个版本Chrome的TLS指纹信息在chrome/patches/curl-impersonate.patch中,如需自定义指纹,只需要在这儿进行添加、修改。

https://github.com/lwthiker/curl-impersonate/blob/845db62e79853081f5b8396b9a8ce34500d80100/chrome/patches/curl-impersonate.patch#L1091

image-20240112174223085

参考

https://pypi.org/project/curl-cffi/#files

https://github.com/lwthiker/curl-impersonate

https://github.com/yifeikong/curl_cffi/

https://github.com/lwthiker/curl-impersonate/blob/845db62e79853081f5b8396b9a8ce34500d80100/firefox/patches/curl-impersonate.patch#L114