mirror of
https://github.com/lwthiker/curl-impersonate.git
synced 2025-08-09 13:19:37 +00:00

Add automated testing infrastructure with tests verifying that `curl-impersonate` has the same TLS signature as that of the impersonated browser. Each wrapper script (e.g. curl_chrome98) is launched to wikipedia.org while a packet capture is running in the background. The Client Hello is extracted from the capture, parsed and then compared to the known browser signature. The known signatures are stored in a YAML database.
22 lines
480 B
Docker
22 lines
480 B
Docker
FROM python:3.10.1-slim-buster
|
|
|
|
WORKDIR /tests
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y tcpdump libbrotli1 libnss3
|
|
|
|
COPY requirements.txt requirements.txt
|
|
|
|
RUN pip install --upgrade pip && \
|
|
pip install -r requirements.txt
|
|
|
|
RUN mkdir /tests/firefox /tests/chrome
|
|
|
|
# Copy the built binaries from both containers
|
|
COPY --from=curl-impersonate-ff /build/out/* /tests/firefox/
|
|
COPY --from=curl-impersonate-chrome /build/out/* /tests/chrome/
|
|
|
|
COPY . .
|
|
|
|
ENTRYPOINT ["pytest"]
|