mirror of
https://github.com/lwthiker/curl-impersonate.git
synced 2025-08-10 10:49:26 +00:00

Test that libcurl-impersonate produces the desired TLS signature when the CURL_IMPERSONATE env var is set. A small C program called "minicurl" is linked to libcurl, and libcurl-impersonate is loaded at runtime with LD_PRELOAD.
27 lines
761 B
Docker
27 lines
761 B
Docker
FROM python:3.10.1-slim-buster
|
|
|
|
WORKDIR /tests
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y tcpdump libbrotli1 libnss3 gcc libcurl4-openssl-dev
|
|
|
|
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 . .
|
|
|
|
# Compile 'minicurl' which is used for testing libcurl-impersonate.
|
|
# 'minicurl' is compiled against the "regular" libcurl.
|
|
# libcurl-impersonate will replace it at runtime via LD_PRELOAD.
|
|
RUN gcc -Wall -Werror -o minicurl minicurl.c `curl-config --libs`
|
|
|
|
ENTRYPOINT ["pytest"]
|