-
Notifications
You must be signed in to change notification settings - Fork 2k
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
【镜像站点搜集】 #116
Comments
感谢作者的贡献 |
感谢作者的贡献,分流: |
https://www.ten-year.link/ |
我的https://ghproxy.cc/ 美国G口机器 |
感谢作者的贡献 |
原来是你啊,我在google搜到了一直用的你的 |
好像现在有点问题了,访问不了 |
google还能搜到我的嘛 我之前自己都搜不到 你咋搜的哈哈哈哈 感谢支持
|
再次总结一下我的 昨天已订阅Cloudflare付费计划 一个月有1000万调用次数 昨天新注册了域名ghproxy.cn |
老哥 你这种UI的是怎么实现的了? |
我自己写的前端页面 托管在静态站 |
巧了,我之前也写过差不多的。保存为 <!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="UTF-8">
<title>Github 镜像加速节点测试</title>
<style>
img {
width: 64px;
height: 64px;
}
* {
font-family: "JetBrains Mono", source-code-pro, "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', monospace;
}
</style>
</head>
<body>
<h3>Github 镜像加速节点测试</h3>
<div><textarea id="ipt-mirrors" rows="10" cols="50" placeholder="输入镜像地址,每行一个">
https://github.moeyy.xyz
https://gitdl.cn
https://ghproxy.net
https://gh-proxy.com
https://gh-proxy.llyke.com
https://gh.cache.cloudns.org
https://gh.ddlc.top
https://slink.ltd
https://gh.con.sh
https://sciproxy.com
https://cf.ghproxy.cc
https://ghproxy.cn
https://ghproxy.cc
https://gh.jiasu.in
https://mirror.ghproxy.com
https://hub.gitmirror.com
https://ghps.cc
https://ghproxy.org
https://ghproxy.top
https://gh.ezctrl.cn
https://gh.sixyin.com
https://gh.bink.cc
https://gh.noki.icu
</textarea></div>
<div>
<button id="btn-test-all">测试全部</button>
<button id="btn-get-fastest">获取最快</button>
</div>
<div id="div-output"></div>
</body>
<script>
const ipt_mirrors = document.getElementById('ipt-mirrors')
const btn_test_all = document.getElementById('btn-test-all')
const btn_get_fastest = document.getElementById('btn-get-fastest')
const div_output = document.getElementById('div-output')
const testAllMirror = async (mirrors) => {
return Promise.allSettled(mirrors.map((mirror) => {
if (!mirror.endsWith('/')) mirror += '/'
return new Promise((resolve, reject) => {
const imgElm = document.createElement('img')
imgElm.alt = mirror
imgElm.title = mirror
imgElm.onload = resolve
imgElm.onerror = reject
imgElm.src = `${mirror}https://raw.githubusercontent.com/pansong291/Pictures/master/watermark/success.svg?t=${Date.now()}`
div_output.append(imgElm)
})
}))
}
const findMirror = async (mirrors) => {
const xhrs = mirrors.map((mirror) => {
if (!mirror.endsWith('/')) mirror += '/'
const xhr = new XMLHttpRequest()
xhr._mirror = mirror
xhr.open('GET', `${mirror}https://raw.githubusercontent.com/pansong291/Pictures/master/test.png?t=${Date.now()}`)
return xhr
})
const promises = xhrs.map((xhr) => new Promise((resolve, reject) => {
xhr.addEventListener('abort', reject)
xhr.addEventListener('error', reject)
xhr.addEventListener('timeout', reject)
xhr.addEventListener('load', (e) => resolve(e.target?._mirror))
xhr.send()
}))
let fastest = null
try {
fastest = await Promise.any(promises)
xhrs.forEach((xhr) => xhr.abort())
} catch (e) {
console.error('all failed', e)
}
return fastest
}
const getMirrors = () => ipt_mirrors.value.split(/\s+/).filter((it) => !!it)
const setButtonDisabled = (disabled) => {
if (disabled) {
btn_test_all.setAttribute('disabled', 'disabled')
btn_get_fastest.setAttribute('disabled', 'disabled')
} else {
btn_test_all.removeAttribute('disabled')
btn_get_fastest.removeAttribute('disabled')
}
}
btn_test_all.addEventListener('click', () => {
setButtonDisabled(true)
div_output.innerText = ''
testAllMirror(getMirrors()).then(() => {
const pElm = document.createElement('p')
pElm.innerText = '测试结束'
div_output.append(pElm)
setButtonDisabled(false)
})
})
btn_get_fastest.addEventListener('click', () => {
setButtonDisabled(true)
div_output.innerText = ''
findMirror(getMirrors()).then((mirror) => {
const pElm = document.createElement('p')
pElm.innerText = mirror || '全部失败'
div_output.append(pElm)
setButtonDisabled(false)
})
})
</script>
</html> |
|
bash版连接测试,16并发,共132个,可用99个(电信) script#!/usr/bin/env bash
set -e
test_ghproxy() {
local list=(
101.32.202.184:10086
101.43.36.238:4080
111.229.117.180:2068
111.229.21.57:12345
119.28.4.250
124.156.150.245:10086
124.156.158.242:4000
124.223.88.224:12345
13.230.117.137:8008
130.162.130.196
136.243.215.211:12345
138.2.123.193:8090
138.2.54.229:12580
138.2.69.119:30001
139.196.123.118:12345
140.238.17.136:9980
140.238.33.157:3000
141.147.170.49
150.138.79.19:12345
152.67.215.236:12345
152.67.215.57:8081
152.67.219.235:8989
152.70.36.140:88
152.70.94.22:9080
154.23.187.126
155.248.180.127:3000
158.101.152.90:8123
158.180.92.175:8000
16.163.43.131:880
212.50.233.214:8888
38.207.160.46:6699
42.193.4.156:8880
43.129.191.251:8088
43.132.131.30:9999
43.132.227.252:9090
43.133.162.210:9000
43.154.105.8:8888
43.154.123.246
43.154.99.97:1112
43.163.230.97:800
45.149.156.201:7080
47.109.58.212:8082
47.236.114.62:18080
47.245.88.61
47.75.211.166:5080
47.95.0.182:2333
51.195.241.253:8080
74.48.108.189:10088
8.210.13.120
8.210.153.246:9000
8.210.207.225:8888
82.157.146.148:9001
94.74.100.230:9010
a.whereisdoge.work
admin.whereisdoge.work
autodiscover.whereisdoge.work
blog.whereisdoge.work
c0b0109d9439de57fe3c.ljw.ink
cdn.moran233.xyz
cf.ghproxy.cc
cloud.whereisdoge.work
cpanel.whereisdoge.work
cpcalendars.whereisdoge.work
cpcontacts.whereisdoge.work
dev.xvzhenduo.topgh-proxy
free.cn.eu.org
g.blfrp.cn
gh-proxy.com
gh-proxy.llyke.com
gh.222322.xyz
gh.6yit.com
gh.bink.cc
gh.cache.cloudns.org
gh.catmak.name
gh.chaoyi996.com
gh.con.sh
gh.ddlc.top
gh.ezctrl.cn
gh.hlg.us.kg
gh.jiasu.in
gh.noki.eu.org
gh.noki.icu
gh.nxnow.top
gh.pylas.xyz
gh.qninq.cn
gh.sixyin.com
gh.xx9527.cn
ghp.arslantu.xyz
ghp.ci
ghp.miaostay.com
ghpr.cc
ghproxy.cc
ghproxy.cianogame.top
ghproxy.cn
ghproxy.friendsa.onflashdrive.app
ghproxy.homeboyc.cn
ghproxy.lainbo.com
ghproxy.mengluowusheng.workers.dev
ghproxy.net
ghproxy.org
ghproxy.top
ghps.cc
git.19970301.xyz
git.40609891.xyz
git.669966.xyz
github.iaor.asia
github.moeyy.xyz
github.muou666.com
github.ur1.fun
github.yeqingg.cn
githubapi.jjchizha.com
githubmirrors.iaor.asia
githubproxy.iaor.asia
gp.zkitefly.eu.org
hub.gitmirror.com
m.whereisdoge.work
mail.whereisdoge.work
mirror.ghproxy.com
mtp.whereisdoge.work
ql.133.info
sciproxy.com
slink.ltd
v.whereisdoge.work
webdav.camus.xyz
webdisk.whereisdoge.work
www.ghpr.cc
www.subook.link:88
www.ten-year.link
x.whereisdoge.work
xxqg.168828.xyz:8088
y.whereisdoge.work
zipchannel.top:4000
)
for proxy in ${list[@]}; do
(
local url=http://$proxy/https://raw.githubusercontent.com/LSPosed/LSPosed/refs/heads/master/app/.gitignore
local length=$(curl -s -L -m10 $url | wc -c)
if [[ $length == 7 ]]; then
echo $proxy
fi
) &
while [[ $(jobs | wc -l) -ge 16 ]]; do
sleep 0.1
done
done
wait
}
test_proxy 可用101.32.202.184:10086
101.43.36.238:4080
111.229.117.180:2068
119.28.4.250
124.156.150.245:10086
124.156.158.242:4000
13.230.117.137:8008
130.162.130.196
136.243.215.211:12345
138.2.123.193:8090
138.2.54.229:12580
138.2.69.119:30001
139.196.123.118:12345
140.238.17.136:9980
140.238.33.157:3000
141.147.170.49
150.138.79.19:12345
152.67.215.236:12345
152.67.215.57:8081
152.67.219.235:8989
152.70.36.140:88
152.70.94.22:9080
155.248.180.127:3000
158.101.152.90:8123
158.180.92.175:8000
16.163.43.131:880
212.50.233.214:8888
38.207.160.46:6699
43.129.191.251:8088
43.132.227.252:9090
43.133.162.210:9000
43.154.105.8:8888
43.154.123.246
43.154.99.97:1112
43.163.230.97:800
45.149.156.201:7080
47.109.58.212:8082
47.236.114.62:18080
47.245.88.61
47.75.211.166:5080
47.95.0.182:2333
51.195.241.253:8080
74.48.108.189:10088
8.210.13.120
8.210.153.246:9000
8.210.207.225:8888
82.157.146.148:9001
94.74.100.230:9010
a.whereisdoge.work
admin.whereisdoge.work
autodiscover.whereisdoge.work
blog.whereisdoge.work
cdn.moran233.xyz
cf.ghproxy.cc
cloud.whereisdoge.work
cpanel.whereisdoge.work
cpcalendars.whereisdoge.work
cpcontacts.whereisdoge.work
g.blfrp.cn
gh-proxy.com
gh-proxy.llyke.com
gh.222322.xyz
gh.6yit.com
gh.catmak.name
gh.con.sh
gh.nxnow.top
gh.pylas.xyz
gh.sixyin.com
gh.xx9527.cn
ghp.arslantu.xyz
ghp.ci
ghp.miaostay.com
ghpr.cc
ghproxy.cc
ghproxy.cianogame.top
ghproxy.cn
ghproxy.homeboyc.cn
ghproxy.lainbo.com
ghps.cc
git.19970301.xyz
git.40609891.xyz
git.669966.xyz
github.moeyy.xyz
github.muou666.com
hub.gitmirror.com
m.whereisdoge.work
mail.whereisdoge.work
mirror.ghproxy.com
mtp.whereisdoge.work
ql.133.info
slink.ltd
v.whereisdoge.work
webdav.camus.xyz
webdisk.whereisdoge.work
www.ghpr.cc
x.whereisdoge.work
xxqg.168828.xyz:8088
y.whereisdoge.work
zipchannel.top:4000 |
感谢作者的贡献 |
请移除,这些站点的拥有者可能并不想分享,你的分享已经给我带来了大量的流量费用 |
首先,衷心感谢各位主动提供镜像服务的站长们!你们的无私分享极大地帮助了开发者社区。 同时也想和大家商量:为了让这些宝贵的镜像资源能持续稳定地服务更多人,建议在分享他人的镜像服务之前:
这样不仅是对服务提供者的尊重,也能帮助维护镜像服务的长期稳定运行,让更多开发者受益。 |
更新服务如下 |
感谢作者的贡献 |
感谢作者的贡献 |
收集的网上公开的站点:公益站点大全 |
希望加入ghproxy.cc |
@kiko923 已加 |
ghproxy.cn 和ghproxy.cc 都是我的感谢你把我的放第一个哈哈哈哈哈 |
感谢大佬的奉献, |
感谢整合 |
因为演示站确实无法保证可用性,24小时的额度基本16小时就会用完,但是需求也确实有。
可以在本帖附上愿意被索引的镜像站点。
先贴俩比较大的
也感谢镜像站的维护者们,非 worker 版本成本还是不低的。
镜像站可能会由于各种原因禁止部分地址访问,这很合理也很正常。所以,一希望开发者合理配置访问频次,尤其是一些分发量大的项目,二请不要由于访问原因开 issue 了。
The text was updated successfully, but these errors were encountered: