Cloudflare Package Repository Mirrors
cloudflaremirrors.com
cloudflaremirrors.com
It's not like letting them gather logs on my computers updating would be terrible somehow, but if it's so easy to avoid donating more logs and more dependence on them, why not do it for the sake of preserving diversity?
Growing companies often exhibit a long term pattern that usually seems innocent at first manifestation:
- Offer something for free
- Become hugely popular at offering that free thing
- Alternatives slowly dwindle in popularity and/or begin to die off
- User 'choice' increasingly becomes concentrated in that single option
- Company introduces surprising policy change, but users can switch to an alternative if they don't like it
- Company introduces differentiating functionality setting its option apart from the alternatives.
- Users grow additional dependence on the new functionality, alternatives look increasingly obsolete
- Company becomes increasingly aggressive at introducing changes, as they now own the primary alternative
It's hard to imagine CloudFlare are somehow going to monopolize package management :) But nonetheless, free services like this generally signal the beginning of this pattern
At some point I'm sure e.g. DejaNews seemed like an innocent dependency, and that attempting to look far ahead into the future would not have revealed its eventual sale to Google and the loss of the only comprehensive archive of the early Internet community in existence.
Dejanews isn't the same. That was an archive of a dying technology. This isn't the same case. Usenet was a dying technology, ultimately killed by http.
Cloudflaree has always done the free thing to raise it's popularity. You are right that as companies get bigger it can be harder to keep revenue growing and they slowly start to cross lines they didn't before though. If that company has built reliance on it's free tools which have reduced diversity, when they start to cross lines it can be sort of a trap. This usually isn't intentional now but it is just how things work... Years from now revenue growth might require crossing a line...
10 years ago it would have been hard to imagine that Microsoft would own the largest open source code repository in the world.... but here we are.
I do not find it hard to image CloudFlare eating Package Management at all
Please parter to make mirrors for Launchpad PPAs. They're so painfully slow around the globe and there is tons of open source projects that depend on PPAs...
Would be great to have a Cloudflare solution for this.
How was your experience living there for a while, especially as a developer?
The life is quite simple, and the coffee culture is based around chatting with friends for hours, instead of sitting in a cafe and getting work done on a MacBook Pro or a Thinkpad X1 carbon.
If you live like a local, which is not to say any lower living standards, it can be pretty cheap. At around 2x the living cost of a local, one can live comfortably here. I pay around third the rent which was once near Berlin, and now spend about half on food if I eat out.
Internet is cheap but unreliable. I sometimes have to use my 4G mobile hotspot (1GB/day at ~€4 a month).
I was born and raised in an Asian country, so there isn't much of a culture difference to speak of. However, Vietnamese is pretty difficult to learn, and even after six months here, I still cannot get the tones right and speak more than 50 words. Indonesia in that regard is amazing.
If you are thinking to move to south East Asia, I can highly recommend Indonesia. They have countless mountains to climb, a good hiking/riding groups to easily join, similar living cost to Vietnam, and a much easier language to learn. Bahasa Indonesia is understood pretty much everywhere, and quite easy to learn. Internet is censored in both countries to some extent (Reddit doesn't work in Indonesia with a DNS blackhole that you can easily bypass), and has worse Internet in Indonesia in general though.
There are many startups based in Indonesia (such as Gojek, Traveloka, Tiket.com), some of which are owned by SoftBank a few layers up. I feel it's more easier to I best/startup in Indonesia too.
Also internet connection was generally much worse for me in Indonesia due to their island nature I guess. In Vietnam it's super easy to setup two 50-100Mbps FTTB lines for something like $80 / month (just in case one of ISP go down).
In Vietnam / Thailand you just generally don't see this except in few tourist areas that you can easily avoid.
I did freelance work for a few European businesses, mostly C++ and devops stuff, and for a long time I felt I was living the life. What drew me back, however, was ambition: before taking the sabbatical, I had successfully founded and “exited” (more like an acqui-hire with some pocket money) a startup, and I was craving for more. It was very difficult to find people that I could consider my peers in Siem Reap, and this left some void. This may also have to do with my nature as an introvert, they may have been out there, but most developers out there actually are web developers, which isn’t my cup of tea.
All in all, however, the whole experience of being completely detached from my life back home for an extended period of time has made me a much more stable person, and I would do it again in a blink of an eye. As crazy as it sounds, I can now better appreciate the “rat race” and its good parts, and know that I also miss being challenged in that area.
Feel free to reach out to me directly if you feel like it.
I also don't tend to go out of my way to meet peers in my local city. I guess I just prefer larger conferences for networking.
Thanks for the input! Maybe one day I'll also get acqui-hired and move there :)
In my experience mirrors in Japan work best in Vietnam for whatever reason.
rankmirrors test the time to download core.db from each mirror. Basically this:
curl -s -m 1 -w "%{time_total} %{http_code}" -o/dev/null https://cloudflaremirrors.com/archlinux/core/os/x86_64/core.db.tar.gz
The results vary a lot sometimes cloudflare mirrors is the fastest, sometimes it's the slowest. Getting anything between 0.07 and 0.30 $ rankmirrors -t ./ml
Querying servers. This may take some time...
* * * * * *
Servers sorted by time (seconds):
https://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch : 0.113249
https://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch : 0.120371
https://mirror.osbeck.com/archlinux/$repo/os/$arch : 0.127601
https://archlinux.dynamict.se/$repo/os/$arch : 0.180493
https://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch : 0.248406
https://cloudflaremirrors.com/archlinux/$repo/os/$arch : 0.302824
$ rankmirrors -t ./ml
Querying servers. This may take some time...
* * * * * *
Servers sorted by time (seconds):
https://cloudflaremirrors.com/archlinux/$repo/os/$arch : 0.070069
https://mirror.osbeck.com/archlinux/$repo/os/$arch : 0.081506
https://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch : 0.098763
https://archlinux.dynamict.se/$repo/os/$arch : 0.125846
https://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch : 0.127948
https://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch : 0.136529According to what I read in their main page https://cloudflaremirrors.com/archlinux, they seem to be caching the packages from mirrors and serving it via their anycast network.
Example: around the end of June this year the mirrors.kernel.org infra was failing to sync (DNS issues of some sort) the latest content, so your upgrade would appear to have no new packages because the stale content was a valid repo, when in fact there were many updates and other mirrors were in sync.
Alternatively (/ realistically), perhaps CF would prefer the value-add of rerouting where there are newer packages instead of the singular approach of geo-routing. Definitely let them know.
I'm seeing multiple comments in this subthread, I'd apply the 2nd line above to everyone affected, if a bunch of people let CF know maybe they'll figure something out.
but when encountered i can see the progress of downloading that package with the failed resume attempt... quite weird behavior
Mostly that, because it doesn't support resuming partial downloads either (it says http server does not support byte ranges)
error: failed retrieving file 'XXX' from cloudflaremirrors.com : HTTP server doesn't seem to support byte ranges. Cannot resume.Then you could set cloudflare as a proxy (or transparent proxy even?) and it could inject the objects without having to visit the endpoints.
(Not holding my breath for the kind of responses this comment might get ;))
When I saw the title I though they were proxying npmjs or docker hub.
The install process of editing a file is a bit painful. Means few people will do it. Somehow would be nice to have this offered in the is as a built in optional feature.
If you are interested in other mirrors, perhaps you should IPFS pin some yourself. :)
But I agree — don’t really see the point. Why not just become an official mirror?
I think if they would be an official mirror there would be a fair amount of more work being involved. Eg you can’t just randomly wipe the cache anymore and need to have higher persistence guarantees, since you are not supposed to refetch from other mirrors all the time.