[ANN] UnofficialJuliaMirror: Mirror of all registered Julia packages

Since JuliaPackageMirrors is no longer maintained, I have set up a new mirror of Julia packages at https://github.com/UnofficialJuliaMirror.

Currently, only packages that are registered in the General registry are mirrored. If you maintain your own registry of Julia packages that you would like mirrored, or if you have an unregistered package that you would like mirrored, please open an issue at https://github.com/UnofficialJuliaMirror/MirrorUpdater.jl/issues.

The mirror is automatically updated daily by means of a Travis cron job. I can also trigger it manually if need be.

The code for maintaining the mirror is available at https://github.com/UnofficialJuliaMirror/MirrorUpdater.jl. If you want to maintain your own mirror, simply follow the instructions in the README.



Nice work.
It would I think be good to also replicate it on yo GitLab and BitBucket.

For removing GitHub as the single point of failure.


Is this currently the recommended way to set up Julia for multiple users behind a firewall?

Yep my next step is going to be to add support for pushing mirrors to GitLab. The folks that maintain GitLab.jl are working hard to update the package for Julia 1.0. Once that’s done, I’ll add support to MirrorUpdater.jl for GitLab.


Unfortunately, I don’t think this will help you if you are behind a firewall - it only pushes mirrors to GitHub, and presumably you wouldn’t be able to access GitHub from behind a firewall.

@oxinabox UnofficialJuliaMirror now supports GitLab and Bitbucket, in addition to GitHub. See the announcement here: https://discourse.julialang.org/t/ann-unofficialjuliamirror-now-hosts-mirrors-on-gitlab-and-bitbucket-in-addition-to-github


Ah that explains all the random pings I’ve been getting from BitBucket: whenever I was mentioned in a commit on GitHub, I get a corresponding mention on BitBucket (presumably because my username is the same).

Thanks for setting this up: always good to have redundancy for this sort of thing.

Oops that is an unintended side effect though. I wonder if there is a way for me to disable sending pings on Bitbucket?

@ohadle If you are still looking for a way to set up Julia for multiple users behind a firewall, you might be interested in this: GitHub - bcbi/archive.2020.OfflineRegistry: Generate a custom Julia package registry, mirror, and depot for use on workstations without internet access

Thanks! Looking into it. It seems to be downloading a bunch of stuff, which is a good sign.

1 Like

I just found https://github.com/sunoru/PkgMirrors.jl
which works to switch over to using a mirror interactively via changing URLs.

It might be good to see if it’s possible to support the bitbucket and gitlab mirrors
for people who for so e reason can acewsw GitHub but can one of the others

BTW, UnofficialJuliaMirror is no longer active. The code is available if anyone wants to resurrect the project.

1 Like

Here’s a concise webpage listing the Pkg servers mainly around Asia, Julia Pkg Mirrors . Though the page is in simplified Chinese, it’s not difficult to guess the location of the servers as long as you know the country codes, such as, cn for China, kr for South Korea, sg for Singapore, us for the Unated States of America, etc.

If you are not sure which one to use, just pick the Julia official Pkg server https://pkg.julialang.org. According to the webpage maintainer, in this case, you’ll be redirected to one of your local mirrors.