Package Details: curl-impersonate 1:1.0.0rc2-3

Git Clone URL: https://aur.archlinux.org/curl-impersonate.git (read-only, click to copy)
Package Base: curl-impersonate
Description: A special compilation of curl that makes it impersonate Firefox, Crome and other browsers. Includes libcurl.
Upstream URL: https://github.com/lexiforest/curl-impersonate
Keywords: curl https scraping security ssl tls
Licenses: MIT
Conflicts: curl-impersonate-bin, curl-impersonate-chrome, curl-impersonate-firefox, libcurl-impersonate-bin
Provides: curl-impersonate-chrome, curl-impersonate-firefox, libcurl-impersonate, libcurl-impersonate-chrome, libcurl-impersonate-firefox
Replaces: curl-impersonate-chrome, curl-impersonate-firefox
Submitter: mattf
Maintainer: mattf
Last Packager: mattf
Votes: 3
Popularity: 2.63
First Submitted: 2025-05-08 09:26 (UTC)
Last Updated: 2025-05-08 15:41 (UTC)

Required by (2)

Sources (1)

Latest Comments

dreieck commented on 2025-05-14 10:58 (UTC)

Ahoj,

you need to install the license text into /usr/share/licenses/${pkgname}/:

curl-impersonate E: Uncommon license identifiers such as 'MIT' require license files below /usr/share/licenses/curl-impersonate/ or switching to common license identifiers. Found 0/1 required license files.

Also, there are broken symlinks:

curl-impersonate E: Symlink (usr/lib/curl-impersonate-chrome.so) points to non-existing /usr/lib/curl-impersonate.so.4.8.0
curl-impersonate E: Symlink (usr/lib/curl-impersonate-chrome.so.4) points to non-existing /usr/lib/curl-impersonate.so.4.8.0

(I checked after installation: /usr/lib/curl-impersonate-chrome.so and /usr/lib/curl-impersonate-chrome.so.4 are indeed broken.)

namcap reports on missing dependencies:

curl-impersonate E: Dependency zstd detected and not included (libraries ['usr/lib/libzstd.so.1'] needed in files ['usr/lib/libcurl-impersonate.so.4.8.0', 'usr/bin/curl-impersonate'])
curl-impersonate E: Dependency libidn2 detected and not included (libraries ['usr/lib/libidn2.so.0'] needed in files ['usr/lib/libcurl-impersonate.so.4.8.0', 'usr/bin/curl-impersonate'])
curl-impersonate E: Dependency rtmpdump detected and not included (libraries ['usr/lib/librtmp.so.1'] needed in files ['usr/lib/libcurl-impersonate.so.4.8.0', 'usr/bin/curl-impersonate'])

Regards and thanks for maintaining!

dreieck commented on 2025-05-14 10:55 (UTC)

Please make the downloaded source filename version specific.
e.g., change the source entry to:
"curl-impersonate-${pkgver}.tar.gz::https://github.com/lexiforest/curl-impersonate/archive/refs/tags/v${pkgver}.tar.gz"

Reason: Otherwise makepkg still finds the old file, and checksum verification fails.

Regards!

dreieck commented on 2025-05-14 10:54 (UTC)

This package downloads stuff in build(). This should not happen.
If you cannot make this download happening through the source array, try to move it to prepare() so that build() can run in an offline environment:

==> Starting build()...
[...]
-- Installing: /var/cache/makepkg/build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/brotli-1.1.0/out/installed/lib/pkgconfig/libbrotlienc.pc
make[1]: Leaving directory '/var/cache/makepkg/build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/brotli-1.1.0/out'
curl -L https://github.com/google/boringssl/archive/673e61fc215b178a90c0e67858bbf162c8158993.zip \
    -o boringssl-673e61fc215b178a90c0e67858bbf162c8158993.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 48.3M    0 48.3M    0     0  3389k      0 --:--:--  0:00:14 --:--:-- 6344k
unzip -q -o boringssl-673e61fc215b178a90c0e67858bbf162c8158993.zip
# mv boringssl boringssl-673e61fc215b178a90c0e67858bbf162c8158993
cd boringssl-673e61fc215b178a90c0e67858bbf162c8158993/
for p in /var/cache/makepkg/build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/../patches/boringssl.patch; do patch -p1 < $p; done
[...]

Regards and thanks for the package!

dllud commented on 2025-05-08 15:36 (UTC)

I think you should add libcurl-impersonate-chrome and libcurl-impersonate-firefox to the provides. The old packages provided those and some existing packages (e.g. python-curl-cffi) depend on them.

dllud commented on 2025-05-08 15:13 (UTC)

@mattf you should have increased the pkgrel number when you committed bartus' fix. Without doing so users won't see the new PKGBUILD.

pkgrel needs to be increased whenever pkgver is kept the same (upstream did not change) but you made changes that affect package. Please take a read at man PKGBUILD.

(And thanks for the new package!)

bartus commented on 2025-05-08 11:59 (UTC) (edited on 2025-05-08 12:00 (UTC) by bartus)

Won't build against gcc>=15 due to deprecated <ciso646> header in boringsll>gtest

Fix: add gcc14 to makedepends[] and export CC=gcc-14 CXX=g++-14 in build() function.

[ 58% | 370<4<263 | 10.1bps ] Building CXX object CMakeFiles/boringssl_gtest.dir/third_party/googletest/googlemock/src/gmock-all.cc.o
FAILED: CMakeFiles/boringssl_gtest.dir/third_party/googletest/googlemock/src/gmock-all.cc.o
/usr/lib/ccache/bin/g++ -DBORINGSSL_IMPLEMENTATION -I/build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include -I/build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googletest/include -I/build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock -I/build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googletest -Wno-macro-redefined -Werror -Wformat=2 -Wsign-compare -Wwrite-strings -Wvla -Wshadow -Wtype-limits -Wmissing-field-initializers -ggdb -Wall -fvisibility=hidden -fno-common -Wno-free-nonheap-object -Wimplicit-fallthrough -Wformat-signedness -Wmissing-declarations -Wnon-virtual-dtor -O3 -DNDEBUG -std=gnu++17 -fPIC -MD -MT CMakeFiles/boringssl_gtest.dir/third_party/googletest/googlemock/src/gmock-all.cc.o -MF CMakeFiles/boringssl_gtest.dir/third_party/googletest/googlemock/src/gmock-all.cc.o.d -o CMakeFiles/boringssl_gtest.dir/third_party/googletest/googlemock/src/gmock-all.cc.o -c /build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/src/gmock-all.cc
In file included from /build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:289,
                 from /build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include/gmock/internal/gmock-port.h:58,
                 from /build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:50,
                 from /build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include/gmock/gmock-actions.h:146,
                 from /build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include/gmock/gmock.h:56,
                 from /build/curl-impersonate/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/src/gmock-all.cc:39:
/usr/include/c++/15.1.1/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp]
   46 | #  warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
      |    ^~~~~~~
cc1plus: note: unrecognized command-line option ‘-Wno-macro-redefined’ may have been intended to silence earlier diagnostics
cc1plus: all warnings being treated as errors