-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pre-compiled aarch64 binaries for Linux #80
Comments
For which platform? |
For Linux. Manually compiling worked but it took some time. |
2nd the request for prebuilt linux arm64, for example for use on AWS graviton instances. I got it to compile, but yeah took a while. BTW, successfully using the libcurl-impersonate .so files with node-libcurl's build-from-source option for Node (using the LD_PRELOAD trick), which is sweet. |
Alright, I'll edit the title to make it clearer.
@A-Posthuman I think this information would be of use to other devs as well. If you want to write a manual detailing the steps I could then add it to the repo. |
The steps I followed to install node-libcurl, using npm, on ubuntu 20.04:
Check the node-libcurl build instructions and its source code for more details on how to adjust this for other platforms. |
Ahh, I’m switching to AWS graviton instances soon. In github actions, you can build for different architectures using:
before your Docs for the multi-arch docker build command https://docs.docker.com/desktop/multi-arch/ |
@jlarmstrongiv Do you mean you want the curl-impersonate Docker image on DockerHub to support arm64? Regarding the pre-compiled binaries, I'm going to try and cross-compile from Ubuntu, hopefully it will be a simple addition to the CI scripts. Updates soon. |
Awesome 🚀 looking forward to it
Oh yes, the |
Pre-compiled arm64/aarch64 binaries are now available here: and will be built automatically for each new release in the future. Docker images are still not built for arm64 though, so I'm going to leave this issue open. |
have someone tried it? I installed all, it works in terminal, but i cant access same website in node libcurl |
node-libcurl with curl-impersonate's libcurl works for me, yes. |
You got discord or telegram brother? i need your help willing to pay you. |
I'm too busy with my own projects atm to take on something else. Try asking around on the Scraping Enthusiasts discord, there are other folks there who might help or take it on. |
Just after you done all of this, can you send any example of JS to run actually the code? |
I set some env vars, then just use it similarly to how you can normally use node-libcurl:
|
sadly i get i have been trying for hours to get it working please help me |
One thing I thought of is in my example I am using the most recent curl-impersonate source which supports chrome107, but if you happen to be using the precompiled binaries (version 0.5.3 was the last release of those), those only would support up to chrome104. Trying to pass chrome107 to that older version might cause a core dump. If you aren't sure what version you have, see if you have the curl_chrome107 script installed: whereis curl_chrome107 Does running the curl_chrome104 script work to fetch a URL? Or does that also segfault? Also I don't know if it matters, but in addition to setting the env vars in my program, I also set them in the shell beforehand: export LD_PRELOAD=/usr/local/lib/libcurl.so Node version may also matter? Not sure, but I've read somewhere that for best compatibility and least core dumps, you want node/node-libcurl/curl-impersonate all to be using the same or similar OpenSSL version? I'm using Node 18.12.1 on ubuntu 20.04 if that helps. Running the command "openssl version" reports: OpenSSL 1.1.1f 31 Mar 2020 And of course be sure you have that symlink setup properly where /usr/local/lib/libcurl.so points to the latest curl-impersonate chrome library. On my system that points to: /usr/local/lib/libcurl-impersonate-chrome.so.4.8.0 If any of those ideas solves your issue, please report back. |
Nope this is not really using curl impersonate, and after a deep research i found out its not possible to bind curl impersonate with NodeJS. |
@A-Posthuman can you please elaborate more? I've followed your above steps to install node-libcurl in linux. But I'm facing issue during swapping of curl bins. Maybe due to symlink is not been configured properly. |
Hi I'm interested in this, did anyone got it works? or not possible? |
Currently all builds are only for AMD64 platforms. It would be nice to have aarch64 builds.
The text was updated successfully, but these errors were encountered: