Use different binary names for Firefox and Chrome

Rename the binary files of curl-impersonate so that the Firefox and
Chrome versions can co-exist on the same system. The Firefox version is
now named 'curl-impersonate-ff' and 'libcurl-impersonate-ff' and the
Chrome version is named 'curl-impersonate-chrome' and
'libcurl-impersonate-chrome'. The wrapper scripts look for these names
as well. Symbolic names with the old names are still created inside the
Docker images to keep compatibility as much as possible.
This commit is contained in:
lwthiker
2022-04-08 19:10:35 +03:00
parent af38d2b626
commit 22508c6863
15 changed files with 73 additions and 35 deletions

View File

@@ -94,7 +94,8 @@ RUN cd ${CURL_VERSION} && \
make
RUN mkdir out && \
cp ${CURL_VERSION}/src/curl out/curl-impersonate && \
cp ${CURL_VERSION}/src/curl out/curl-impersonate-chrome && \
ln -s curl-impersonate-chrome out/curl-impersonate && \
strip out/curl-impersonate
# Re-compile libcurl dynamically
@@ -111,8 +112,10 @@ RUN cd ${CURL_VERSION} && \
# symbolic links.
RUN ver=$(readlink -f curl-7.81.0/lib/.libs/libcurl.so | sed 's/.*so\.//') && \
major=$(echo -n $ver | cut -d'.' -f1) && \
cp "${CURL_VERSION}/lib/.libs/libcurl.so.$ver" "out/libcurl-impersonate.so.$ver" && \
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so.$major" && \
cp "${CURL_VERSION}/lib/.libs/libcurl.so.$ver" "out/libcurl-impersonate-chrome.so.$ver" && \
ln -s "libcurl-impersonate-chrome.so.$ver" "out/libcurl-impersonate-chrome.so.$major" && \
ln -s "libcurl-impersonate-chrome.so.$ver" "out/libcurl-impersonate-chrome.so" && \
ln -s "libcurl-impersonate-chrome.so.$ver" "out/libcurl-impersonate.so.$ver" && \
ln -s "libcurl-impersonate.so.$ver" "out/libcurl-impersonate.so" && \
strip "out/libcurl-impersonate.so.$ver"
@@ -127,7 +130,8 @@ RUN chmod +x out/curl_*
FROM alpine:3.15.0
# Copy curl-impersonate from the builder image
COPY --from=builder /build/out/curl-impersonate /usr/local/bin/
COPY --from=builder /build/out/curl-impersonate-chrome /usr/local/bin/
RUN ln -s curl-impersonate-chrome /usr/local/bin/curl-impersonate
# Wrapper scripts
COPY --from=builder /build/out/curl_* /usr/local/bin/