jsdelivr / globalping-probe

The globalping probe code that runs on your hardware and connects to the global community network of probes
https://globalping.io
79 stars 21 forks source link

China container proxy #198

Closed jimaek closed 6 months ago

jimaek commented 10 months ago

Need to investigate this https://doc.nju.edu.cn/books/35f4a/page/ghcr proxy reported here https://github.com/jsdelivr/globalping-probe/issues/30 and if we can somehow automate the process of choosing the best registry based on the user's location.

cherinyy commented 10 months ago

There are actually two other Chinese proxies that I'm aware of, but my actual experience hasn't been very good:

https://github.com/DaoCloud/public-image-mirror?tab=readme-ov-file#%E6%94%AF%E6%8C%81%E5%89%8D%E7%BC%80%E6%9B%BF%E6%8D%A2%E7%9A%84-registry

ghcr.m.daocloud.io/jsdelivr/globalping-probe

https://dockerproxy.com/docs

ghcr.dockerproxy.com/jsdelivr/globalping-probe
jimaek commented 6 months ago

@cherinyy hey, do you know if Cloudflare works ok in China? We could proxy cache our registry through Cloudflare, but I am not sure what their performance is in China.

jimaek commented 6 months ago

@SukkaW Maybe you can help too?

cherinyy commented 6 months ago

hey, do you know if Cloudflare works ok in China? We could proxy cache our registry through Cloudflare, but I am not sure what their performance is in China.

China Telecom and China Unicom will connect to the Cloudflare Los Angeles or San Jose nodes, and China Mobile will connect to the Hong Kong node.

Network performance is average, but usable.

image

speed-results-1710678951.csv

jimaek commented 6 months ago

That does seem a lot better than anything else that can be used globally

jimaek commented 6 months ago

Can you also test these different registries and let me know which is the fastest and most stable?

Docker
docker pull globalping/globalping-probe

Github
docker pull ghcr.io/jsdelivr/globalping-probe

Google
docker pull mirror.gcr.io/globalping/globalping-probe
cherinyy commented 6 months ago

Docker https://github.com/jsdelivr/globalping-probe/assets/9050713/835a6f90-1d0b-4414-a96a-fa96be2fb990

GitHub https://github.com/jsdelivr/globalping-probe/assets/9050713/1d180421-7d34-4f2c-85e9-f1a33b4c57bb

Google https://github.com/jsdelivr/globalping-probe/assets/9050713/0d01a220-6f42-4335-ae2b-653baeb8bef4

So it's obviously Docker Hub.

jimaek commented 6 months ago

Thank you, we will switch all docs to use the Docker Hub registry and document the others as optional alternatives