Comments (4)
There are now Debian-based images on Docker Hub as well.
Please note that the previous tags still point to the Alpine Linux images. The Debian tags are suffixed with -slim-buster
, e.g.:
0.5.2-chrome-slim-buster
, 0.5.2-ff-slim-buster
from curl-impersonate.
The Docker images on Docker Hub are intentionally Alpine-based to reduce the size to a minimum.
It is also explicitly stated in the README file:
Docker images based on Alpine Linux with curl-impersonate compiled and ready to use are available on Docker Hub.
Is there a need in your project for Debian-based Docker images on Docker Hub as well?
You could also use the pre-compiled binaries which might be simpler.
from curl-impersonate.
The Docker images on Docker Hub are intentionally Alpine-based to reduce the size to a minimum. It is also explicitly stated in the README file:
Docker images based on Alpine Linux with curl-impersonate compiled and ready to use are available on Docker Hub.
OK, but in this case the tags on Docker Hub are kinda misleading, as you publish 0.5-ff-alpine
alongside 0.5-ff
, both of which are the same, whereas one could assume the latter is actually debian (like I did).
Is there a need in your project for Debian-based Docker images on Docker Hub as well? You could also use the pre-compiled binaries which might be simpler.
Indeed, they are useful for docker multi-stage builds, where other stage (or stages) use Debian-based images as well.
Have a look at this particular case I am working on: RSS-Bridge/rss-bridge#2941.
Alpine uses musl
in place of libc
, so after copying the binaries/libs over to the Debian-based image, they fail to run. I could apt add
musl
in debian image, but that in turn requires additional symlinking to match the musl.so
originally linked against (which musl
debian package doesn't do), which, as you can guess, quickly becomes rather dirty/hacky and an additional maintenance burden, e.g. for when musl.so
symlink gets updated. EDIT: not even sure if that would work, i.e. to have libraries compiled against different C stdlibs loaded by the same process...
The multi-staging build appears to me be the easiest and cleanest way to replace curl with curl-impersonate in any image, since it can take care of matching the architectures automatically. Actually downloading your pre-compiled binaries into the image is not easier IMHO, as it requires handling that very aspect by hand — which BTW wouldn't be possible now, anyway, since you also don't publish them for arm. my bad, I see that you do offer arm64 binaries.
from curl-impersonate.
Thank you, much appreciated!
from curl-impersonate.
Related Issues (20)
- Unable to build firefox or chrome due to SSL interpreting warnings as errors. HOT 8
- Custom order of the TLS Extensions
- Homebrew recipe? HOT 1
- JA4+ HOT 2
- Homebrew unofficial receipt available HOT 1
- Ubuntu 22:04 libcurl-impersonate-chrome.so cannot be preloaded HOT 3
- Websocket on Windows HOT 6
- Pre shared key extension
- make chrome-build fails HOT 1
- Fiddler Intergration / Cloudfare bypass
- WS/WSS Protocol in Docker Image HOT 3
- compile error on boringssl - [-Werror,-Wunused-but-set-variable] HOT 3
- Content-Encoding may be gzip but the response body is uncompressed
- Safari http2 fingerprints are not correct
- make chrome-build failed HOT 7
- Bypassing Cloudflare HOT 6
- Impersonation no longer good enough?
- recompile php with curl-impersonate HOT 1
- curl: (56) HTTP/2 stream 1 was reset
- Namespace wrapping for firefox and chrome in one?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from curl-impersonate.