Package Details: curl-impersonate-chrome 1:1.0.0-1

Git Clone URL: https://aur.archlinux.org/curl-impersonate-chrome.git (read-only, click to copy)
Package Base: curl-impersonate-chrome
Description: A special compilation of curl that makes it impersonate Chrome
Upstream URL: https://github.com/lexiforest/curl-impersonate
Keywords: curl https scraping security ssl tls
Licenses: MIT
Conflicts: curl-impersonate-bin
Provides: libcurl-impersonate-chrome
Submitter: mattf
Maintainer: mattf
Last Packager: mattf
Votes: 2
Popularity: 0.000016
First Submitted: 2022-02-23 06:52 (UTC)
Last Updated: 2025-05-18 17:11 (UTC)

Required by (2)

Sources (1)

Pinned Comments

mattf commented on 2025-05-08 09:29 (UTC) (edited on 2025-05-08 09:32 (UTC) by mattf)

Upstream has now made it possible to build both firefox and chrome (including safari, chrome_android) all together, so I would encorage using this package from now on instead: https://aur.archlinux.org/packages/curl-impersonate

Latest Comments

1 2 3 Next › Last »

dreieck commented on 2025-05-14 10:48 (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-chrome/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-chrome/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  5140k      0 --:--:--  0:00:09 --:--:-- 6536k
unzip -q -o boringssl-673e61fc215b178a90c0e67858bbf162c8158993.zip
# mv boringssl boringssl-673e61fc215b178a90c0e67858bbf162c8158993
cd boringssl-673e61fc215b178a90c0e67858bbf162c8158993/
for p in /var/cache/makepkg/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/../patches/boringssl.patch; do patch -p1 < $p; done
[...]

Regards and thanks for the package!

dreieck commented on 2025-05-14 10:47 (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!

bartus commented on 2025-05-08 11:51 (UTC)

Won't build with gcc:15 due to deprecated <ciso646> header

Last working gcc version is 14

mattf commented on 2025-05-08 09:29 (UTC) (edited on 2025-05-08 09:32 (UTC) by mattf)

Upstream has now made it possible to build both firefox and chrome (including safari, chrome_android) all together, so I would encorage using this package from now on instead: https://aur.archlinux.org/packages/curl-impersonate

dllud commented on 2025-05-06 15:34 (UTC)

1.0.0rc2 build is failing on my machine. Fails at boringssl build:

-- Build files have been written to: /home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/build
[370/636] 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/bin/g++ -DBORINGSSL_IMPLEMENTATION -I/home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include -I/home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googletest/include -I/home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock -I/home/d/.cache/pikaur/build/curl-impersonate-chrome/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 /home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/src/gmock-all.cc
In file included from /home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:289,
                 from /home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include/gmock/internal/gmock-port.h:58,
                 from /home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:50,
                 from /home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include/gmock/gmock-actions.h:146,
                 from /home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/third_party/googletest/googlemock/include/gmock/gmock.h:56,
                 from /home/d/.cache/pikaur/build/curl-impersonate-chrome/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
make: *** [Makefile:175: /home/d/.cache/pikaur/build/curl-impersonate-chrome/src/curl-impersonate-1.0.0rc2/build/boringssl-673e61fc215b178a90c0e67858bbf162c8158993/lib/libssl.a] Error 1

Is it building for you?

myrslint commented on 2025-05-06 00:15 (UTC) (edited on 2025-05-06 00:16 (UTC) by myrslint)

Please add the following lines to packaege():

  # remove windows batch-files
  rm -vf ${pkgdir}/usr/bin/*.bat

As it is, the package contains and installs .bat files to a user's /usr/bin but these are not useful outside of Windows environments.

cv1618 commented on 2025-03-31 02:55 (UTC) (edited on 2025-03-31 05:58 (UTC) by cv1618)

Can't upgrade because of failed md5sums validity check error. yay -a

:: Searching AUR for updates...
:: 1 package to upgrade/install.
1  aur/curl-impersonate-chrome  1:0.9.3-1 -> 1:0.9.5-1
==> Packages to exclude: (eg: "1 2 3", "1-3", "^4" or repo name)
 -> Excluding packages may cause partial upgrades and break systems
==>
AUR Dependency (1): curl-impersonate-chrome-1:0.9.5-1
:: PKGBUILD up to date, skipping download: curl-impersonate-chrome
  1 curl-impersonate-chrome          (Installed) (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
  1 curl-impersonate-chrome          (Installed) (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
==> Making package: curl-impersonate-chrome 1:0.9.5-1 (Sun 30 Mar 2025 09:50:05 PM CDT)
==> Retrieving sources...
  -> Found curl-impersonate.tar.gz
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with md5sums...
    curl-impersonate.tar.gz ... FAILED
==> ERROR: One or more files did not pass the validity check!
 -> error downloading sources: /home/xxxxxx/.cache/yay/curl-impersonate-chrome
     context: exit status 1


:: (1/1) Parsing SRCINFO: curl-impersonate-chrome
==> Making package: curl-impersonate-chrome 1:0.9.5-1 (Sun 30 Mar 2025 09:50:07 PM CDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found curl-impersonate.tar.gz
==> Validating source files with md5sums...
    curl-impersonate.tar.gz ... FAILED
==> ERROR: One or more files did not pass the validity check!
 -> error making: curl-impersonate-chrome-exit status 1
 -> Failed to install the following packages. Manual intervention is required:
curl-impersonate-chrome - exit status 1

Edit: Solved. I just had to move curl-impersonate.tar.gz that was in ~/.cache/yay/curl-impersonate-chrome/ to a different directory and then deleted it after the update was successful. I'll just leave this here in case it helps someone else.

mattf commented on 2025-03-25 07:51 (UTC)

This package downloads stuff in build().

@dreieck that is how the upstream Makefile works: https://github.com/lexiforest/curl-impersonate/blob/main/Makefile.in

I don't think there is any feasible workaround for it.

dreieck commented on 2025-03-24 23:58 (UTC)

This package downloads stuff in build().
This should not happen; after the run of prepare() all stuff needed to build should be there and prepared, so that build() and package() can run in an offline environment.

Please try to move the downloads to the source array or into the prepare() function.

Regards and thanks for the package!

==> Starting build()...
[...]
curl -L "https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz" \
    -o "brotli-1.1.0.tar.gz"
  % 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  499k  100  499k    0     0   185k      0  0:00:02  0:00:02 --:--:--  684k
[...]
make[1]: Leaving directory '/var/cache/makepkg/build/curl-impersonate-chrome/src/curl-impersonate-0.9.5/build/brotli-1.1.0/out'
curl -L https://github.com/google/boringssl/archive/23768dca563c4e62d48bb3675e49e34955dced12.zip \
    -o boringssl-23768dca563c4e62d48bb3675e49e34955dced12.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 47.3M    0 47.3M    0     0  6150k      0 --:--:--  0:00:07 --:--:-- 7946k
[...]
make[1]: Leaving directory '/var/cache/makepkg/build/curl-impersonate-chrome/src/curl-impersonate-0.9.5/build/nghttp2-1.63.0'
curl -L "https://github.com/curl/curl/archive/curl-8_7_1.tar.gz" \
    -o "curl-8_7_1.tar.gz"
  % 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 3246k    0 3246k    0     0  1754k      0 --:--:--  0:00:01 --:--:-- 4249k
[...]

dllud commented on 2025-02-26 15:05 (UTC) (edited on 2025-02-26 15:05 (UTC) by dllud)

@patlefort and @mattf, why was there a need to increase the epoch?

I think you should have just increased the pkgrel to 2.

pacman is able to compare v0.9.3-1 to 0.9.3-2 and understand that 0.9.3-2 is newer. Take a read at man PKGBUILD.