mirror of
https://github.com/lwthiker/curl-impersonate.git
synced 2025-08-09 05:09:36 +00:00
Ensure 'curl-impersonate' is compiled correctly
Add a few commands to the Dockerfile to check that 'curl-impersonate' was compiled correctly: Check that it has brotli, http2 and tls support, and check that the dependencies were compiled statically. These are basic checks which are useful when modifying the Dockerfile: Sometimes even small modifications cause curl to be compiled incorrectly but without failing the build.
This commit is contained in:
@@ -167,6 +167,15 @@ RUN mkdir out && \
|
|||||||
{{/chrome}}
|
{{/chrome}}
|
||||||
strip out/curl-impersonate
|
strip out/curl-impersonate
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' has all the necessary features.
|
||||||
|
RUN ./out/curl-impersonate -V | grep -q zlib && \
|
||||||
|
./out/curl-impersonate -V | grep -q brotli && \
|
||||||
|
./out/curl-impersonate -V | grep -q nghttp2 && \
|
||||||
|
./out/curl-impersonate -V | grep -q -e NSS -e BoringSSL
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' is really statically compiled
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e libcurl -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
RUN rm -Rf /build/install
|
RUN rm -Rf /build/install
|
||||||
|
|
||||||
# Re-compile libcurl dynamically
|
# Re-compile libcurl dynamically
|
||||||
@@ -202,6 +211,10 @@ RUN ver=$(readlink -f curl-7.81.0/lib/.libs/libcurl-impersonate-chrome.so | sed
|
|||||||
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
||||||
strip "out/libcurl-impersonate.so.$ver"
|
strip "out/libcurl-impersonate.so.$ver"
|
||||||
|
|
||||||
|
# Verify that the resulting 'libcurl' is really statically compiled against its
|
||||||
|
# dependencies.
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
# Wrapper scripts
|
# Wrapper scripts
|
||||||
{{#firefox}}
|
{{#firefox}}
|
||||||
COPY curl_ff* out/
|
COPY curl_ff* out/
|
||||||
|
@@ -96,6 +96,15 @@ RUN mkdir out && \
|
|||||||
ln -s curl-impersonate-chrome out/curl-impersonate && \
|
ln -s curl-impersonate-chrome out/curl-impersonate && \
|
||||||
strip out/curl-impersonate
|
strip out/curl-impersonate
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' has all the necessary features.
|
||||||
|
RUN ./out/curl-impersonate -V | grep -q zlib && \
|
||||||
|
./out/curl-impersonate -V | grep -q brotli && \
|
||||||
|
./out/curl-impersonate -V | grep -q nghttp2 && \
|
||||||
|
./out/curl-impersonate -V | grep -q -e NSS -e BoringSSL
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' is really statically compiled
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e libcurl -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
RUN rm -Rf /build/install
|
RUN rm -Rf /build/install
|
||||||
|
|
||||||
# Re-compile libcurl dynamically
|
# Re-compile libcurl dynamically
|
||||||
@@ -118,6 +127,10 @@ RUN ver=$(readlink -f curl-7.81.0/lib/.libs/libcurl-impersonate-chrome.so | sed
|
|||||||
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
||||||
strip "out/libcurl-impersonate.so.$ver"
|
strip "out/libcurl-impersonate.so.$ver"
|
||||||
|
|
||||||
|
# Verify that the resulting 'libcurl' is really statically compiled against its
|
||||||
|
# dependencies.
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
# Wrapper scripts
|
# Wrapper scripts
|
||||||
COPY curl_chrome* curl_edge* curl_safari* out/
|
COPY curl_chrome* curl_edge* curl_safari* out/
|
||||||
RUN chmod +x out/curl_*
|
RUN chmod +x out/curl_*
|
||||||
|
@@ -93,6 +93,15 @@ RUN mkdir out && \
|
|||||||
ln -s curl-impersonate-chrome out/curl-impersonate && \
|
ln -s curl-impersonate-chrome out/curl-impersonate && \
|
||||||
strip out/curl-impersonate
|
strip out/curl-impersonate
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' has all the necessary features.
|
||||||
|
RUN ./out/curl-impersonate -V | grep -q zlib && \
|
||||||
|
./out/curl-impersonate -V | grep -q brotli && \
|
||||||
|
./out/curl-impersonate -V | grep -q nghttp2 && \
|
||||||
|
./out/curl-impersonate -V | grep -q -e NSS -e BoringSSL
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' is really statically compiled
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e libcurl -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
RUN rm -Rf /build/install
|
RUN rm -Rf /build/install
|
||||||
|
|
||||||
# Re-compile libcurl dynamically
|
# Re-compile libcurl dynamically
|
||||||
@@ -115,6 +124,10 @@ RUN ver=$(readlink -f curl-7.81.0/lib/.libs/libcurl-impersonate-chrome.so | sed
|
|||||||
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
||||||
strip "out/libcurl-impersonate.so.$ver"
|
strip "out/libcurl-impersonate.so.$ver"
|
||||||
|
|
||||||
|
# Verify that the resulting 'libcurl' is really statically compiled against its
|
||||||
|
# dependencies.
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
# Wrapper scripts
|
# Wrapper scripts
|
||||||
COPY curl_chrome* curl_edge* curl_safari* out/
|
COPY curl_chrome* curl_edge* curl_safari* out/
|
||||||
# Replace /bin/bash with /bin/ash
|
# Replace /bin/bash with /bin/ash
|
||||||
|
@@ -91,6 +91,15 @@ RUN mkdir out && \
|
|||||||
ln -s curl-impersonate-ff out/curl-impersonate && \
|
ln -s curl-impersonate-ff out/curl-impersonate && \
|
||||||
strip out/curl-impersonate
|
strip out/curl-impersonate
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' has all the necessary features.
|
||||||
|
RUN ./out/curl-impersonate -V | grep -q zlib && \
|
||||||
|
./out/curl-impersonate -V | grep -q brotli && \
|
||||||
|
./out/curl-impersonate -V | grep -q nghttp2 && \
|
||||||
|
./out/curl-impersonate -V | grep -q -e NSS -e BoringSSL
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' is really statically compiled
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e libcurl -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
RUN rm -Rf /build/install
|
RUN rm -Rf /build/install
|
||||||
|
|
||||||
# Re-compile libcurl dynamically
|
# Re-compile libcurl dynamically
|
||||||
@@ -112,6 +121,10 @@ RUN ver=$(readlink -f curl-7.81.0/lib/.libs/libcurl-impersonate-ff.so | sed 's/.
|
|||||||
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
||||||
strip "out/libcurl-impersonate.so.$ver"
|
strip "out/libcurl-impersonate.so.$ver"
|
||||||
|
|
||||||
|
# Verify that the resulting 'libcurl' is really statically compiled against its
|
||||||
|
# dependencies.
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
# Wrapper scripts
|
# Wrapper scripts
|
||||||
COPY curl_ff* out/
|
COPY curl_ff* out/
|
||||||
RUN chmod +x out/curl_*
|
RUN chmod +x out/curl_*
|
||||||
|
@@ -86,6 +86,15 @@ RUN mkdir out && \
|
|||||||
ln -s curl-impersonate-ff out/curl-impersonate && \
|
ln -s curl-impersonate-ff out/curl-impersonate && \
|
||||||
strip out/curl-impersonate
|
strip out/curl-impersonate
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' has all the necessary features.
|
||||||
|
RUN ./out/curl-impersonate -V | grep -q zlib && \
|
||||||
|
./out/curl-impersonate -V | grep -q brotli && \
|
||||||
|
./out/curl-impersonate -V | grep -q nghttp2 && \
|
||||||
|
./out/curl-impersonate -V | grep -q -e NSS -e BoringSSL
|
||||||
|
|
||||||
|
# Verify that the resulting 'curl' is really statically compiled
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e libcurl -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
RUN rm -Rf /build/install
|
RUN rm -Rf /build/install
|
||||||
|
|
||||||
# Re-compile libcurl dynamically
|
# Re-compile libcurl dynamically
|
||||||
@@ -107,6 +116,10 @@ RUN ver=$(readlink -f curl-7.81.0/lib/.libs/libcurl-impersonate-ff.so | sed 's/.
|
|||||||
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
|
||||||
strip "out/libcurl-impersonate.so.$ver"
|
strip "out/libcurl-impersonate.so.$ver"
|
||||||
|
|
||||||
|
# Verify that the resulting 'libcurl' is really statically compiled against its
|
||||||
|
# dependencies.
|
||||||
|
RUN ! (ldd ./out/curl-impersonate | grep -q -e nghttp2 -e brotli -e ssl -e crypto)
|
||||||
|
|
||||||
# Wrapper scripts
|
# Wrapper scripts
|
||||||
COPY curl_ff* out/
|
COPY curl_ff* out/
|
||||||
# Replace /bin/bash with /bin/ash
|
# Replace /bin/bash with /bin/ash
|
||||||
|
Reference in New Issue
Block a user