Compare commits

..

No commits in common. "e9ac9bf1df043c79c540674f0ad113b0583bc4e6" and "1198b6c191dc2280f7393ee22fecdb9db8b48925" have entirely different histories.

6 changed files with 22 additions and 400 deletions

View File

@ -14,7 +14,4 @@ group :jekyll_plugins do
gem "jekyll-paginate", "~> 1.1.0"
gem "kramdown-parser-gfm", "~> 1.1.0"
gem "kramdown", "~> 2.3.2"
gem "csv"
gem "base64"
gem "bigdecimal"
end

View File

@ -201,9 +201,9 @@ if (!norunFlag) {
eventFlag = true;
}
var data = JSON.parse(event.data);
if (data.response) {
if (data.response) {
outputContainer.textContent += data.response;
}
}
}
}
} else {

View File

@ -170,6 +170,5 @@
"/2025/08/01/sw-proxy.html": "这篇文章介绍了作者如何利用Service Worker在现代浏览器中实现一个简单的反向代理功能以提供博客的备份和离线访问。作者原本希望通过Service Worker在用户浏览器中运行一个Web服务器来存储博客副本但发现 tar.gz 文件的处理需要第三方库且难以找到适用的解决方案尤其是对于tar文件的处理。作者最终选择使用Service Worker作为反向代理将请求转发到其他网站如GeoCities风格的静态网站托管平台实现了类似的效果。这个过程中作者体验到了浏览器功能的强大并认为Service Worker在离线场景中有更大的潜力尽管在他的例子中并没有充分展示这种优势。",
"/2025/08/10/tilde.html": "这篇文章介绍了作者在Tilde社区的体验这是一类基于类Unix环境的公共服务器社区类似于家目录提供预装的软件、开发环境和公共服务如聊天室、邮件、BBS论坛等强调了社区的互动性和共享精神。作者通过申请、审核过程加入了几个社区并详细描述了在这些社区中的个人主页、编程支持如Gemini和Gopher协议、博客发布、代码托管Git支持、CI/CD部署以及使用Git hooks自动化博客更新等功能。尽管作者受限于语言和工具使用体验未能充分参与社区交流但对社区学习新知识和丰富博客内容印象深刻。",
"/2025/09/01/quine.html": "这篇文章主要介绍了作者在博客部署过程中对ZIP Quine自包含压缩包和自产生程序的探索过程。作者起初想利用压缩包实现离线浏览但遇到了压缩包不包含自身的问题。随后作者回顾了ZIP Quine的原理如droste.zip以及如何通过DEFLATE压缩算法的LZ77编码实现自包含。作者尝试了Russ Cox的方案但发现由于压缩格式限制实际操作中存在数据容量的限制无法存下整个博客。尽管如此作者还是研究了嵌套循环的ZIP Quine如Ruben Van Mello的论文中所描述的尽管空间仍然有限。探索过程中作者还学习了自产生程序Quine的概念包括其实现原理和各种编程语言中的例子。作者最后感慨探索过程中的收获比原本的目标更重要。",
"/2025/10/12/recover.html": "这篇文章讲述了作者通过GitHub的Fork特性找回一个被删除的Brainfuck可视化演示仓库的经历。由于原仓库和作者主页都已消失作者推测GitHub在Fork时会共享对象库只要有任意一个Fork仓库存在GitHub就会保留所有对象从而可以通过找到一个Fork仓库的最新提交Hash值来还原目标仓库。作者通过Linux内核仓库的Fork进行验证随后在互联网档案馆上找到目标仓库的Fork以及其Hash值最终通过Git命令将本地仓库的HEAD指针指向目标提交成功恢复了该仓库的代码并将其部署到自己的GitHub Pages上。最后作者发现Software Heritage组织会保存所有代码因此在遇到类似情况时可以直接通过该平台进行查找。",
"/2025/11/01/mirrors.html": "这篇文章讲述了作者为了提高博客的可靠性探索利用被滥用的Git平台进行博客镜像的想法和实践。作者发现一些Git实例存在大量空仓库和异常用户怀疑是SEO公司滥用因此决定利用这些平台进行博客镜像备份以应对平台倒闭或数据丢失的风险。作者选择Gitea和Forgejo平台作为目标编写脚本自动注册账号并导入博客仓库实现了自动化镜像分发。作者也意识到此类平台的稳定性存在不确定性并思考了“量”和“质”两种方式确保博客永恒性的优劣最终认为建立一个活跃的、自动执行维护操作的网络可能更有效。文章最后展示了作者创建的Git镜像列表并表达了对博客永恒性的思考。"
"/2025/10/12/recover.html": "这篇文章讲述了作者通过GitHub的Fork特性找回一个被删除的Brainfuck可视化演示仓库的经历。由于原仓库和作者主页都已消失作者推测GitHub在Fork时会共享对象库只要有任意一个Fork仓库存在GitHub就会保留所有对象从而可以通过找到一个Fork仓库的最新提交Hash值来还原目标仓库。作者通过Linux内核仓库的Fork进行验证随后在互联网档案馆上找到目标仓库的Fork以及其Hash值最终通过Git命令将本地仓库的HEAD指针指向目标提交成功恢复了该仓库的代码并将其部署到自己的GitHub Pages上。最后作者发现Software Heritage组织会保存所有代码因此在遇到类似情况时可以直接通过该平台进行查找。"
}

View File

@ -11,13 +11,13 @@ https://cgit.tilde.town/~mayx/blog
https://gitlab.haskell.org/mayx/mayx
https://pagure.io/fork/mabbs/Blog
https://repo2.serv00.com/git/pub/Mayx/mayx/
https://git.hana.im/mayx/blog
https://git.tea-assets.com/mayx/blog
https://repo.komhumana.org/mayx/blog
https://git.minetest.land/Mayx/blog
https://git.dungeon.fi/mayx/blog
http://ucarmesin.de:3000/mayx/blog
http://101.34.211.172:3000/mayx/blog
http://178.44.118.232/mayx/blog
https://gitea.johannes-hegele.de/mayx/blog
https://git.paulcolfer.ie/mayx/blog
https://git.goolink.org/mayx/blog
@ -69,6 +69,7 @@ https://git.tanxhub.com/mayx/blog
https://git.expiera.com/mayx/blog
https://gitea.nongnghiepso.com/mayx/blog
https://codes.tools.asitavsen.com/mayx/blog
https://gitea.kursatessiz.com/mayx/blog
https://git.siin.space/mayx/blog
http://47.117.26.49:3000/mayx/blog
http://122.116.190.233:3001/mayx/blog
@ -81,6 +82,7 @@ https://gitea.pickalurv.com/mayx/blog
http://183.239.197.12:10803/mayx/blog
https://git.zeroplay.io/mayx/blog
https://git.successkaoyan.com/mayx/blog
https://git.veydlin.com/mayx/blog
https://gitea.bitshift.us/mayx/blog
http://114.55.134.197:3000/mayx/blog
http://139.129.25.251:3000/mayx/blog
@ -118,6 +120,7 @@ https://git.tinker.infamous.games/mayx/blog
https://git.yi-guanjia.com/mayx/blog
http://106.14.174.241:3000/mayx/blog
https://git.datdanguy.com/mayx/blog
http://43.163.207.174:3000/mayx/blog
http://rack1.raincs.cc:20253/mayx/blog
https://git.repo.in.net/mayx/blog
https://git.dihe.moe/mayx/blog
@ -149,10 +152,12 @@ https://git.Apture.io/mayx/blog
https://git.dbfmp.cn/mayx/blog
http://103.231.8.120/mayx/blog
https://gitea.jasonstolle.com/mayx/blog
https://git.istsoft.ru/mayx/blog
http://8.134.61.107:3000/mayx/blog
http://47.107.88.161:3000/mayx/blog
https://git.ktk-pc.de/mayx/blog
http://git.open-dev.ru/mayx/blog
http://101.132.113.255:3000/mayx/blog
https://gitea.zybc.online/mayx/blog
https://git.votava.org/mayx/blog
http://8.137.12.29:3000/mayx/blog
@ -212,6 +217,7 @@ https://git.unicom.studio/mayx/blog
https://Gitea.Sephalon.net/mayx/blog
https://git.gestio365.com/mayx/blog
http://47.122.132.187:3000/mayx/blog
https://gitea.mahss.io/mayx/blog
https://git.k-corporation.org/mayx/blog
https://git.myinternet.services/mayx/blog
http://43.138.173.153:8804/mayx/blog
@ -291,6 +297,7 @@ https://git.campfiregg.ru/mayx/blog
https://gitea.net50.ne.jp/mayx/blog
https://git.ism-dev.net/mayx/blog
http://sinzero.xyz:3000/mayx/blog
http://69.10.53.202:3000/mayx/blog
https://gitea.b54.co/mayx/blog
https://git.matevi.sh/mayx/blog
http://www.pcaidiy.cn:3000/mayx/blog
@ -298,10 +305,12 @@ https://code.tiantongsl.com/mayx/blog
http://213.35.118.215:60001/mayx/blog
https://git.jasonpittman.com/mayx/blog
https://gitea.shirom.me/mayx/blog
https://git.pasarex.com/mayx/blog
http://1.95.221.174:3000/mayx/blog
https://git.wangxinlei.cn/mayx/blog
http://101.200.74.121:3000/mayx/blog
http://123.56.193.182:3000/mayx/blog
https://git.akarpov.ru/mayx/blog
http://60.204.131.99:3000/mayx/blog
http://femail.email:8418/mayx/blog
http://47.93.56.66:8080/mayx/blog
@ -368,7 +377,9 @@ http://47.101.58.33:3000/mayx/blog
https://git.johnen.biz/mayx/blog
https://git.unitsoft.io/mayx/blog
https://gitea.synapsetec.cn/mayx/blog
http://124.222.211.253:3000/mayx/blog
http://47.121.207.193:3000/mayx/blog
http://git.pushecommerce.com/mayx/blog
http://220.132.16.87:3000/mayx/blog
https://git.tintinger.org/mayx/blog
http://gitea.yunshanghub.com:8081/mayx/blog
@ -459,6 +470,7 @@ http://39.106.86.127:3000/mayx/blog
https://git.techspec.pro/mayx/blog
http://47.92.23.211:3000/mayx/blog
http://120.26.108.239:9188/mayx/blog
http://felicitiz.fr/mayx/blog
https://git.van-peeren.de/mayx/blog
http://gitea.msadb.cn/mayx/blog
https://git.changenhealth.cn/mayx/blog
@ -487,6 +499,7 @@ http://47.112.118.149:10082/mayx/blog
https://gitea.jobiglo.com/mayx/blog
https://gitea.rpg-librarium.de/mayx/blog
https://git.juici.ly/mayx/blog
https://git.lkwplus.com/mayx/blog
http://begild.top:8418/mayx/blog
http://58.221.13.198:30010/mayx/blog
https://gitea.kaz62.ru/mayx/blog
@ -501,6 +514,7 @@ https://git.hotolab.win/mayx/blog
https://home.zhupei.me:3000/mayx/blog
https://gitea.theaken.com/mayx/blog
https://git.ja-schwarz.de/mayx/blog
https://git.obicloud.net/mayx/blog
https://shanewan.cn:30000/mayx/blog
https://git.xemo-net.de/mayx/blog
https://git.bigtravelchat.com/mayx/blog
@ -550,6 +564,7 @@ https://gitea.jludwig.net/mayx/blog
https://git.z1.mk/mayx/blog
http://185.87.111.46:3000/mayx/blog
http://suncheng.asia:14200/mayx/blog
https://git.sorogon.eu/mayx/blog
http://1.94.13.224:9080/mayx/blog
https://git.manabo.org/mayx/blog
https://auric-org.org/mayx/blog
@ -586,6 +601,7 @@ https://forge.coreymclark.com/mayx/blog
http://ems.iclematis.com:30000/mayx/blog
https://git.micahmoore.io/mayx/blog
https://git.zlyum.com/mayx/blog
https://git.alexerdei.co.uk/mayx/blog
https://git.aelhost.com/mayx/blog
https://schokigeschmack.de/mayx/blog
https://git.anatid.net/mayx/blog
@ -598,6 +614,7 @@ https://git.zimerguz.net/mayx/blog
https://git.cukak.com/mayx/blog
http://farsinot.ir:3000/mayx/blog
https://gitea.sosaley.in/mayx/blog
https://gitea.vidoks.fr/mayx/blog
https://dev.ncot.uk/mayx/blog
https://git.sick.earth/mayx/blog
https://git.ncue.net/mayx/blog
@ -611,301 +628,3 @@ https://forgejo.win/mayx/blog
https://gitea.katiethe.dev/mayx/blog
https://gitea.ai-demo.duckdns.org/mayx/blog
https://git0.zpqrtbnk.net/mayx/blog
http://159.203.33.179:3000/mayx/blog
http://117.72.114.197:3000/mayx/blog
http://192.210.186.179:20051/mayx/blog
https://git.ashcloud.com/mayx/blog
http://us2.fornoone.top:3000/mayx/blog
https://git.louislabs.com/mayx/blog
https://ste-van.de/mayx/blog
https://git.novaa.xyz/mayx/blog
https://gitea.noname-studios.es/mayx/blog
http://101.46.208.93:3000/mayx/blog
http://45.93.137.91:3000/mayx/blog
https://git.smartdev.cz/mayx/blog
http://23.94.57.60:3000/mayx/blog
http://120.26.116.145:3000/mayx/blog
https://git.atomos.io/mayx/blog
https://git.tylantyson.com/mayx/blog
https://watch.mommys.plumbing/mayx/blog
https://devkona.net/mayx/blog
https://gitea.avixc-nas.myds.me/mayx/blog
http://www.ggafrik.site/mayx/blog
https://gitea.chaopi.dev/mayx/blog
https://git.jonasjones.dev/mayx/blog
https://gitea.kaidodev.org/mayx/blog
http://118.196.23.96:1866/mayx/blog
http://47.119.120.128:8085/mayx/blog
http://sjhome.cloud:3000/mayx/blog
https://gitea.sciotech.cn/mayx/blog
https://manage.gitea.djangoadmin.cn/mayx/blog
http://8.148.220.5:8089/mayx/blog
http://8.140.250.85:3000/mayx/blog
http://8.134.11.35:3000/mayx/blog
https://dev.ilink-app.com/mayx/blog
https://git.ctx.dev/mayx/blog
https://w2k.sh/mayx/blog
http://82.157.205.190:3000/mayx/blog
https://nas.szwyll.com:3000/mayx/blog
http://baylan.la.asu.edu:3000/mayx/blog
http://8.155.35.51:3000/mayx/blog
https://git.koppa.pro/mayx/blog
http://188.120.243.108:3000/mayx/blog
http://202.65.194.19:3000/mayx/blog
https://gitea.eggtech.net/mayx/blog
http://47.101.60.131:10082/mayx/blog
http://8.148.234.146:3001/mayx/blog
https://git.ypepin.com/mayx/blog
http://www.bzturbo.com.br/mayx/blog
https://git.maiasoft.jp/mayx/blog
https://git.athelas-conseils.fr/mayx/blog
https://git.churiland.com/mayx/blog
http://git.huangwc.com/mayx/blog
https://gitea.xala.dev/mayx/blog
http://101.201.34.43:3000/mayx/blog
https://git.ixu.me/mayx/blog
http://178.18.255.136:3000/mayx/blog
http://118.89.124.175:3000/mayx/blog
https://git.gloje-rinchen-dorjee-rinpoche-buddhist-monastery.org/mayx/blog
https://git.pxlbuzzard.com/mayx/blog
http://101.35.227.2:3000/mayx/blog
http://175.126.123.163:3000/mayx/blog
https://vw-git.senecasense.com/mayx/blog
http://git.uhfdemo.com/mayx/blog
http://47.108.217.75:3000/mayx/blog
https://git.jakubzabski.pl/mayx/blog
https://gitea.forgeandflowsolutions.com/mayx/blog
https://gitea.ybxsddb.cc/mayx/blog
https://www.git.omezaldama.xyz/mayx/blog
https://vila.go.ro/mayx/blog
https://git.olyntec.com/mayx/blog
http://8.134.218.17:8013/mayx/blog
https://www.invds.uk/mayx/blog
http://124.223.89.168:8080/mayx/blog
http://139.129.21.166:3000/mayx/blog
http://111.231.240.168:9082/mayx/blog
https://git.afonsosoares.com/mayx/blog
https://gitea.nswteam.net/mayx/blog
https://git.toad.city/mayx/blog
https://git.shawncarter.co.uk/mayx/blog
http://209.141.47.52:3000/mayx/blog
https://git.apfern.com/mayx/blog
http://120.46.213.136:9528/mayx/blog
http://120.26.115.132:3000/mayx/blog
http://47.103.155.22:3000/mayx/blog
http://dapainas.asia:5990/mayx/blog
http://60.204.158.188:3000/mayx/blog
https://zqz5.com/mayx/blog
https://git.3dizart.ru/mayx/blog
http://119.3.252.2:3000/mayx/blog
http://60.204.156.211:3000/mayx/blog
http://youneed.top:10014/mayx/blog
https://gitea.abra.me/mayx/blog
https://git.yukaige.com/mayx/blog
http://www.liubai.site:3000/mayx/blog
http://nas.bi1kbu.com:8418/mayx/blog
http://123.56.74.235:3000/mayx/blog
http://15.204.210.141:30121/mayx/blog
http://1.94.178.207:3000/mayx/blog
http://47.96.145.34:3000/mayx/blog
https://gitea.tsaida.synology.me/mayx/blog
http://xapple.ru:3000/mayx/blog
https://git.teygaming.com/mayx/blog
https://git.alhsk.top/mayx/blog
http://8.138.4.170:8980/mayx/blog
https://git.fishestlife.com/mayx/blog
http://185.128.138.246:3000/mayx/blog
http://210.211.116.85:3000/mayx/blog
http://osztromok.com:3164/mayx/blog
http://175.209.53.134:3030/mayx/blog
http://87.228.74.88:3000/mayx/blog
http://118.163.190.249:3000/mayx/blog
https://git.farmeris.sk/mayx/blog
http://39.107.226.169:3000/mayx/blog
https://git.ueda.sk/mayx/blog
http://113.45.76.155:3000/mayx/blog
http://47.100.28.88:3000/mayx/blog
http://168.138.196.70:3000/mayx/blog
http://39.96.211.118:3000/mayx/blog
https://git.server.isalem.net/mayx/blog
http://47.103.100.52:3000/mayx/blog
https://git.cos777nnn777.win/mayx/blog
http://5.189.140.23:8080/mayx/blog
https://gitea.xy88.fun/mayx/blog
http://121.37.47.20:3000/mayx/blog
https://code.metapipe.net/mayx/blog
https://gitea.alittlejag.uk/mayx/blog
https://git.antropix.dev/mayx/blog
http://15.237.198.144/mayx/blog
https://gitea.soap.wf/mayx/blog
http://123.249.119.122:3000/mayx/blog
http://183.6.120.101:30000/mayx/blog
http://134.122.173.191:3000/mayx/blog
https://git.kalinin.in/mayx/blog
http://8.138.81.5:3000/mayx/blog
https://xgit.tsuimg.top/mayx/blog
http://123.60.156.158:13000/mayx/blog
http://57.129.94.190:3000/mayx/blog
https://gitea.micro-stack.org/mayx/blog
https://vapor.solarvoid.com/mayx/blog
http://101.132.160.67:3000/mayx/blog
https://gitea.temp.brentgruber.com/mayx/blog
https://www.naepho.dev/mayx/blog
https://www.know-how.store/mayx/blog
http://47.102.147.170:3050/mayx/blog
https://git.borg.unak.is/mayx/blog
http://209.38.235.254:3000/mayx/blog
http://52.66.204.217:3001/mayx/blog
http://123.60.153.169:3006/mayx/blog
https://pdje.uk/mayx/blog
http://172.236.250.154:3000/mayx/blog
http://54.198.134.152:3000/mayx/blog
http://121.41.35.226:11011/mayx/blog
http://47.111.1.12:3000/mayx/blog
https://nelgit.nelpi.co.uk/mayx/blog
http://47.108.156.251:3000/mayx/blog
http://8.141.91.86:3000/mayx/blog
https://git.hibikiame.com:3000/mayx/blog
https://www.yseven.net/mayx/blog
http://8.138.187.132:3000/mayx/blog
https://gitea.codeathome.ovh/mayx/blog
http://117.72.15.187:3000/mayx/blog
http://159.223.54.247:3030/mayx/blog
https://git.jaytux.com/mayx/blog
http://81.70.30.91:3000/mayx/blog
http://47.98.105.248:3000/mayx/blog
http://218.84.152.14:65001/mayx/blog
https://gitea.kisechan.space/mayx/blog
http://nas-home.top:8418/mayx/blog
http://140.238.9.133:3007/mayx/blog
http://8.138.100.115:3000/mayx/blog
https://git.soupcafe.cc/mayx/blog
https://git.mwapp.com.br/mayx/blog
http://yidaima.cn:6008/mayx/blog
https://git.happytanuki.kr/mayx/blog
http://213.199.46.54:3001/mayx/blog
http://47.94.156.73:3000/mayx/blog
http://185.126.237.57:3000/mayx/blog
http://47.97.50.232:3000/mayx/blog
http://106.54.211.95:3000/mayx/blog
http://210.245.20.73:3333/mayx/blog
http://43.248.97.109:3000/mayx/blog
http://git.dhitechnical.com/mayx/blog
http://113.207.86.104:3080/mayx/blog
http://down.luanhailiang.cn:9000/mayx/blog
http://39.96.195.72:10082/mayx/blog
http://8.140.60.82:3000/mayx/blog
https://gitea.klopfenstein.org/mayx/blog
http://8.148.24.160:3000/mayx/blog
https://gitea.hailstorm.gay/mayx/blog
http://hxu.ac.cn:3000/mayx/blog
https://gitea.codeopslag.nl/mayx/blog
http://221.219.181.35:30000/mayx/blog
https://git.cymnb.com/mayx/blog
http://8.163.31.138:3000/mayx/blog
http://47.108.27.137:3000/mayx/blog
http://182.92.9.236:3000/mayx/blog
http://47.96.98.191:9980/mayx/blog
http://172.172.102.93:3000/mayx/blog
http://101.132.255.70:3000/mayx/blog
http://139.196.179.195:3000/mayx/blog
http://115.120.245.164:3000/mayx/blog
http://120.27.19.58:30000/mayx/blog
https://git.devnul.cz/mayx/blog
https://git-virtual.ru/mayx/blog
http://47.122.125.40:16867/mayx/blog
https://git.infinitix.kr/mayx/blog
https://gitea.suchodupin.com/mayx/blog
http://8.134.116.217:3000/mayx/blog
http://117.72.219.18:6000/mayx/blog
http://47.99.144.51:3000/mayx/blog
https://git.rcdiamondgh.cc/mayx/blog
http://35.194.179.90:3000/mayx/blog
http://188.245.173.247:3080/mayx/blog
http://8.153.14.94:61308/mayx/blog
http://git.liubeiting.cn:8000/mayx/blog
http://66.179.208.56:3001/mayx/blog
http://59.110.63.79:13000/mayx/blog
http://59.110.63.80:3000/mayx/blog
http://121.43.60.72:9015/mayx/blog
http://171.80.13.66:9112/mayx/blog
http://211.22.221.188:3000/mayx/blog
https://lunarvow.top:12494/mayx/blog
http://223.108.157.174:3000/mayx/blog
http://120.24.249.56/mayx/blog
https://git.davidwebgt.com/mayx/blog
http://47.100.90.152:3000/mayx/blog
http://120.24.251.176:30000/mayx/blog
http://121.196.237.108:3000/mayx/blog
http://g.gamesns.cn:3000/mayx/blog
http://54.179.203.2:3000/mayx/blog
http://14.103.246.124:16000/mayx/blog
http://www.yuqiya.cn:8499/mayx/blog
http://git.goodxp.cn/mayx/blog
http://47.104.189.3:3000/mayx/blog
https://git.twinkle.network/mayx/blog
http://8.137.106.149:3000/mayx/blog
http://47.112.119.250:3000/mayx/blog
http://8.137.170.249:3000/mayx/blog
https://mygit.kikyps.com/mayx/blog
http://152.42.207.183:3000/mayx/blog
https://git.lucasluqui.com/mayx/blog
http://47.99.60.81:10082/mayx/blog
http://120.211.66.170:8418/mayx/blog
http://47.242.181.61:3333/mayx/blog
http://187.189.244.23:3000/mayx/blog
http://123.60.98.226:3000/mayx/blog
http://58.176.21.43:9004/mayx/blog
https://gitea.vilcap.com/mayx/blog
https://git.2b8.org/mayx/blog
http://8.137.94.229:3000/mayx/blog
http://121.196.245.62/mayx/blog
http://47.92.35.224:3000/mayx/blog
http://47.102.209.69:53000/mayx/blog
https://axcl.duckdns.org:8091/mayx/blog
http://116.205.97.109:3000/mayx/blog
https://gitea.ysme.top/mayx/blog
http://8.140.242.230:3000/mayx/blog
http://8.138.142.17:3000/mayx/blog
https://git.babalish.com/mayx/blog
http://47.111.161.191:3000/mayx/blog
http://47.95.31.56:20080/mayx/blog
http://123.56.231.200:3000/mayx/blog
http://113.46.142.74:3000/mayx/blog
http://47.100.0.167:3000/mayx/blog
http://www.koelndom.cn:13030/mayx/blog
http://209.127.59.74:3000/mayx/blog
http://git.vimer.top:4000/mayx/blog
http://111.15.179.73:3000/mayx/blog
http://47.113.119.107:3000/mayx/blog
https://git.tuongthoi.website/mayx/blog
https://git.dotb.cloud/mayx/blog
http://178.205.99.36:3000/mayx/blog
https://git.bigdalang.com/mayx/blog
https://gitea.augeo.dev/mayx/blog
https://demo.stam.kr/mayx/blog
https://g.szqingling.cn/mayx/blog
http://120.46.23.215:3000/mayx/blog
http://47.108.75.198:3000/mayx/blog
http://121.41.2.71:3000/mayx/blog
http://47.114.94.196:8030/mayx/blog
https://sithcom.de/mayx/blog
http://156.238.243.144:3000/mayx/blog
http://8.138.242.82:8888/mayx/blog
http://37.60.245.108/mayx/blog
http://110.41.177.80:5000/mayx/blog
https://gitea.dsmaster.myds.me/mayx/blog
https://git.denco.store/mayx/blog
http://intechrnd.iptime.org:3000/mayx/blog
https://gitea.primecontrols-dev.com/mayx/blog
http://47.104.160.69:3000/mayx/blog
http://157.66.191.31:3000/mayx/blog
http://39.104.61.219:3000/mayx/blog
http://www.scserverddns.top:13000/mayx/blog
http://156.255.1.229:3000/mayx/blog
http://120.237.152.218:8888/mayx/blog
https://git.ndpcloud.ru/mayx/blog
https://dev.kirill-vorotov.com/mayx/blog
https://gitea.va-comer.net/mayx/blog
https://git.lucas-michel.fr/mayx/blog
http://60.205.162.59:3000/mayx/blog

1 repo_url
11 https://gitlab.haskell.org/mayx/mayx
12 https://pagure.io/fork/mabbs/Blog
13 https://repo2.serv00.com/git/pub/Mayx/mayx/
https://git.hana.im/mayx/blog
14 https://git.tea-assets.com/mayx/blog
15 https://repo.komhumana.org/mayx/blog
16 https://git.minetest.land/Mayx/blog
17 https://git.dungeon.fi/mayx/blog
18 http://ucarmesin.de:3000/mayx/blog
19 http://101.34.211.172:3000/mayx/blog
20 http://178.44.118.232/mayx/blog
21 https://gitea.johannes-hegele.de/mayx/blog
22 https://git.paulcolfer.ie/mayx/blog
23 https://git.goolink.org/mayx/blog
69 https://git.expiera.com/mayx/blog
70 https://gitea.nongnghiepso.com/mayx/blog
71 https://codes.tools.asitavsen.com/mayx/blog
72 https://gitea.kursatessiz.com/mayx/blog
73 https://git.siin.space/mayx/blog
74 http://47.117.26.49:3000/mayx/blog
75 http://122.116.190.233:3001/mayx/blog
82 http://183.239.197.12:10803/mayx/blog
83 https://git.zeroplay.io/mayx/blog
84 https://git.successkaoyan.com/mayx/blog
85 https://git.veydlin.com/mayx/blog
86 https://gitea.bitshift.us/mayx/blog
87 http://114.55.134.197:3000/mayx/blog
88 http://139.129.25.251:3000/mayx/blog
120 https://git.yi-guanjia.com/mayx/blog
121 http://106.14.174.241:3000/mayx/blog
122 https://git.datdanguy.com/mayx/blog
123 http://43.163.207.174:3000/mayx/blog
124 http://rack1.raincs.cc:20253/mayx/blog
125 https://git.repo.in.net/mayx/blog
126 https://git.dihe.moe/mayx/blog
152 https://git.dbfmp.cn/mayx/blog
153 http://103.231.8.120/mayx/blog
154 https://gitea.jasonstolle.com/mayx/blog
155 https://git.istsoft.ru/mayx/blog
156 http://8.134.61.107:3000/mayx/blog
157 http://47.107.88.161:3000/mayx/blog
158 https://git.ktk-pc.de/mayx/blog
159 http://git.open-dev.ru/mayx/blog
160 http://101.132.113.255:3000/mayx/blog
161 https://gitea.zybc.online/mayx/blog
162 https://git.votava.org/mayx/blog
163 http://8.137.12.29:3000/mayx/blog
217 https://Gitea.Sephalon.net/mayx/blog
218 https://git.gestio365.com/mayx/blog
219 http://47.122.132.187:3000/mayx/blog
220 https://gitea.mahss.io/mayx/blog
221 https://git.k-corporation.org/mayx/blog
222 https://git.myinternet.services/mayx/blog
223 http://43.138.173.153:8804/mayx/blog
297 https://gitea.net50.ne.jp/mayx/blog
298 https://git.ism-dev.net/mayx/blog
299 http://sinzero.xyz:3000/mayx/blog
300 http://69.10.53.202:3000/mayx/blog
301 https://gitea.b54.co/mayx/blog
302 https://git.matevi.sh/mayx/blog
303 http://www.pcaidiy.cn:3000/mayx/blog
305 http://213.35.118.215:60001/mayx/blog
306 https://git.jasonpittman.com/mayx/blog
307 https://gitea.shirom.me/mayx/blog
308 https://git.pasarex.com/mayx/blog
309 http://1.95.221.174:3000/mayx/blog
310 https://git.wangxinlei.cn/mayx/blog
311 http://101.200.74.121:3000/mayx/blog
312 http://123.56.193.182:3000/mayx/blog
313 https://git.akarpov.ru/mayx/blog
314 http://60.204.131.99:3000/mayx/blog
315 http://femail.email:8418/mayx/blog
316 http://47.93.56.66:8080/mayx/blog
377 https://git.johnen.biz/mayx/blog
378 https://git.unitsoft.io/mayx/blog
379 https://gitea.synapsetec.cn/mayx/blog
380 http://124.222.211.253:3000/mayx/blog
381 http://47.121.207.193:3000/mayx/blog
382 http://git.pushecommerce.com/mayx/blog
383 http://220.132.16.87:3000/mayx/blog
384 https://git.tintinger.org/mayx/blog
385 http://gitea.yunshanghub.com:8081/mayx/blog
470 https://git.techspec.pro/mayx/blog
471 http://47.92.23.211:3000/mayx/blog
472 http://120.26.108.239:9188/mayx/blog
473 http://felicitiz.fr/mayx/blog
474 https://git.van-peeren.de/mayx/blog
475 http://gitea.msadb.cn/mayx/blog
476 https://git.changenhealth.cn/mayx/blog
499 https://gitea.jobiglo.com/mayx/blog
500 https://gitea.rpg-librarium.de/mayx/blog
501 https://git.juici.ly/mayx/blog
502 https://git.lkwplus.com/mayx/blog
503 http://begild.top:8418/mayx/blog
504 http://58.221.13.198:30010/mayx/blog
505 https://gitea.kaz62.ru/mayx/blog
514 https://home.zhupei.me:3000/mayx/blog
515 https://gitea.theaken.com/mayx/blog
516 https://git.ja-schwarz.de/mayx/blog
517 https://git.obicloud.net/mayx/blog
518 https://shanewan.cn:30000/mayx/blog
519 https://git.xemo-net.de/mayx/blog
520 https://git.bigtravelchat.com/mayx/blog
564 https://git.z1.mk/mayx/blog
565 http://185.87.111.46:3000/mayx/blog
566 http://suncheng.asia:14200/mayx/blog
567 https://git.sorogon.eu/mayx/blog
568 http://1.94.13.224:9080/mayx/blog
569 https://git.manabo.org/mayx/blog
570 https://auric-org.org/mayx/blog
601 http://ems.iclematis.com:30000/mayx/blog
602 https://git.micahmoore.io/mayx/blog
603 https://git.zlyum.com/mayx/blog
604 https://git.alexerdei.co.uk/mayx/blog
605 https://git.aelhost.com/mayx/blog
606 https://schokigeschmack.de/mayx/blog
607 https://git.anatid.net/mayx/blog
614 https://git.cukak.com/mayx/blog
615 http://farsinot.ir:3000/mayx/blog
616 https://gitea.sosaley.in/mayx/blog
617 https://gitea.vidoks.fr/mayx/blog
618 https://dev.ncot.uk/mayx/blog
619 https://git.sick.earth/mayx/blog
620 https://git.ncue.net/mayx/blog
628 https://gitea.katiethe.dev/mayx/blog
629 https://gitea.ai-demo.duckdns.org/mayx/blog
630 https://git0.zpqrtbnk.net/mayx/blog
http://159.203.33.179:3000/mayx/blog
http://117.72.114.197:3000/mayx/blog
http://192.210.186.179:20051/mayx/blog
https://git.ashcloud.com/mayx/blog
http://us2.fornoone.top:3000/mayx/blog
https://git.louislabs.com/mayx/blog
https://ste-van.de/mayx/blog
https://git.novaa.xyz/mayx/blog
https://gitea.noname-studios.es/mayx/blog
http://101.46.208.93:3000/mayx/blog
http://45.93.137.91:3000/mayx/blog
https://git.smartdev.cz/mayx/blog
http://23.94.57.60:3000/mayx/blog
http://120.26.116.145:3000/mayx/blog
https://git.atomos.io/mayx/blog
https://git.tylantyson.com/mayx/blog
https://watch.mommys.plumbing/mayx/blog
https://devkona.net/mayx/blog
https://gitea.avixc-nas.myds.me/mayx/blog
http://www.ggafrik.site/mayx/blog
https://gitea.chaopi.dev/mayx/blog
https://git.jonasjones.dev/mayx/blog
https://gitea.kaidodev.org/mayx/blog
http://118.196.23.96:1866/mayx/blog
http://47.119.120.128:8085/mayx/blog
http://sjhome.cloud:3000/mayx/blog
https://gitea.sciotech.cn/mayx/blog
https://manage.gitea.djangoadmin.cn/mayx/blog
http://8.148.220.5:8089/mayx/blog
http://8.140.250.85:3000/mayx/blog
http://8.134.11.35:3000/mayx/blog
https://dev.ilink-app.com/mayx/blog
https://git.ctx.dev/mayx/blog
https://w2k.sh/mayx/blog
http://82.157.205.190:3000/mayx/blog
https://nas.szwyll.com:3000/mayx/blog
http://baylan.la.asu.edu:3000/mayx/blog
http://8.155.35.51:3000/mayx/blog
https://git.koppa.pro/mayx/blog
http://188.120.243.108:3000/mayx/blog
http://202.65.194.19:3000/mayx/blog
https://gitea.eggtech.net/mayx/blog
http://47.101.60.131:10082/mayx/blog
http://8.148.234.146:3001/mayx/blog
https://git.ypepin.com/mayx/blog
http://www.bzturbo.com.br/mayx/blog
https://git.maiasoft.jp/mayx/blog
https://git.athelas-conseils.fr/mayx/blog
https://git.churiland.com/mayx/blog
http://git.huangwc.com/mayx/blog
https://gitea.xala.dev/mayx/blog
http://101.201.34.43:3000/mayx/blog
https://git.ixu.me/mayx/blog
http://178.18.255.136:3000/mayx/blog
http://118.89.124.175:3000/mayx/blog
https://git.gloje-rinchen-dorjee-rinpoche-buddhist-monastery.org/mayx/blog
https://git.pxlbuzzard.com/mayx/blog
http://101.35.227.2:3000/mayx/blog
http://175.126.123.163:3000/mayx/blog
https://vw-git.senecasense.com/mayx/blog
http://git.uhfdemo.com/mayx/blog
http://47.108.217.75:3000/mayx/blog
https://git.jakubzabski.pl/mayx/blog
https://gitea.forgeandflowsolutions.com/mayx/blog
https://gitea.ybxsddb.cc/mayx/blog
https://www.git.omezaldama.xyz/mayx/blog
https://vila.go.ro/mayx/blog
https://git.olyntec.com/mayx/blog
http://8.134.218.17:8013/mayx/blog
https://www.invds.uk/mayx/blog
http://124.223.89.168:8080/mayx/blog
http://139.129.21.166:3000/mayx/blog
http://111.231.240.168:9082/mayx/blog
https://git.afonsosoares.com/mayx/blog
https://gitea.nswteam.net/mayx/blog
https://git.toad.city/mayx/blog
https://git.shawncarter.co.uk/mayx/blog
http://209.141.47.52:3000/mayx/blog
https://git.apfern.com/mayx/blog
http://120.46.213.136:9528/mayx/blog
http://120.26.115.132:3000/mayx/blog
http://47.103.155.22:3000/mayx/blog
http://dapainas.asia:5990/mayx/blog
http://60.204.158.188:3000/mayx/blog
https://zqz5.com/mayx/blog
https://git.3dizart.ru/mayx/blog
http://119.3.252.2:3000/mayx/blog
http://60.204.156.211:3000/mayx/blog
http://youneed.top:10014/mayx/blog
https://gitea.abra.me/mayx/blog
https://git.yukaige.com/mayx/blog
http://www.liubai.site:3000/mayx/blog
http://nas.bi1kbu.com:8418/mayx/blog
http://123.56.74.235:3000/mayx/blog
http://15.204.210.141:30121/mayx/blog
http://1.94.178.207:3000/mayx/blog
http://47.96.145.34:3000/mayx/blog
https://gitea.tsaida.synology.me/mayx/blog
http://xapple.ru:3000/mayx/blog
https://git.teygaming.com/mayx/blog
https://git.alhsk.top/mayx/blog
http://8.138.4.170:8980/mayx/blog
https://git.fishestlife.com/mayx/blog
http://185.128.138.246:3000/mayx/blog
http://210.211.116.85:3000/mayx/blog
http://osztromok.com:3164/mayx/blog
http://175.209.53.134:3030/mayx/blog
http://87.228.74.88:3000/mayx/blog
http://118.163.190.249:3000/mayx/blog
https://git.farmeris.sk/mayx/blog
http://39.107.226.169:3000/mayx/blog
https://git.ueda.sk/mayx/blog
http://113.45.76.155:3000/mayx/blog
http://47.100.28.88:3000/mayx/blog
http://168.138.196.70:3000/mayx/blog
http://39.96.211.118:3000/mayx/blog
https://git.server.isalem.net/mayx/blog
http://47.103.100.52:3000/mayx/blog
https://git.cos777nnn777.win/mayx/blog
http://5.189.140.23:8080/mayx/blog
https://gitea.xy88.fun/mayx/blog
http://121.37.47.20:3000/mayx/blog
https://code.metapipe.net/mayx/blog
https://gitea.alittlejag.uk/mayx/blog
https://git.antropix.dev/mayx/blog
http://15.237.198.144/mayx/blog
https://gitea.soap.wf/mayx/blog
http://123.249.119.122:3000/mayx/blog
http://183.6.120.101:30000/mayx/blog
http://134.122.173.191:3000/mayx/blog
https://git.kalinin.in/mayx/blog
http://8.138.81.5:3000/mayx/blog
https://xgit.tsuimg.top/mayx/blog
http://123.60.156.158:13000/mayx/blog
http://57.129.94.190:3000/mayx/blog
https://gitea.micro-stack.org/mayx/blog
https://vapor.solarvoid.com/mayx/blog
http://101.132.160.67:3000/mayx/blog
https://gitea.temp.brentgruber.com/mayx/blog
https://www.naepho.dev/mayx/blog
https://www.know-how.store/mayx/blog
http://47.102.147.170:3050/mayx/blog
https://git.borg.unak.is/mayx/blog
http://209.38.235.254:3000/mayx/blog
http://52.66.204.217:3001/mayx/blog
http://123.60.153.169:3006/mayx/blog
https://pdje.uk/mayx/blog
http://172.236.250.154:3000/mayx/blog
http://54.198.134.152:3000/mayx/blog
http://121.41.35.226:11011/mayx/blog
http://47.111.1.12:3000/mayx/blog
https://nelgit.nelpi.co.uk/mayx/blog
http://47.108.156.251:3000/mayx/blog
http://8.141.91.86:3000/mayx/blog
https://git.hibikiame.com:3000/mayx/blog
https://www.yseven.net/mayx/blog
http://8.138.187.132:3000/mayx/blog
https://gitea.codeathome.ovh/mayx/blog
http://117.72.15.187:3000/mayx/blog
http://159.223.54.247:3030/mayx/blog
https://git.jaytux.com/mayx/blog
http://81.70.30.91:3000/mayx/blog
http://47.98.105.248:3000/mayx/blog
http://218.84.152.14:65001/mayx/blog
https://gitea.kisechan.space/mayx/blog
http://nas-home.top:8418/mayx/blog
http://140.238.9.133:3007/mayx/blog
http://8.138.100.115:3000/mayx/blog
https://git.soupcafe.cc/mayx/blog
https://git.mwapp.com.br/mayx/blog
http://yidaima.cn:6008/mayx/blog
https://git.happytanuki.kr/mayx/blog
http://213.199.46.54:3001/mayx/blog
http://47.94.156.73:3000/mayx/blog
http://185.126.237.57:3000/mayx/blog
http://47.97.50.232:3000/mayx/blog
http://106.54.211.95:3000/mayx/blog
http://210.245.20.73:3333/mayx/blog
http://43.248.97.109:3000/mayx/blog
http://git.dhitechnical.com/mayx/blog
http://113.207.86.104:3080/mayx/blog
http://down.luanhailiang.cn:9000/mayx/blog
http://39.96.195.72:10082/mayx/blog
http://8.140.60.82:3000/mayx/blog
https://gitea.klopfenstein.org/mayx/blog
http://8.148.24.160:3000/mayx/blog
https://gitea.hailstorm.gay/mayx/blog
http://hxu.ac.cn:3000/mayx/blog
https://gitea.codeopslag.nl/mayx/blog
http://221.219.181.35:30000/mayx/blog
https://git.cymnb.com/mayx/blog
http://8.163.31.138:3000/mayx/blog
http://47.108.27.137:3000/mayx/blog
http://182.92.9.236:3000/mayx/blog
http://47.96.98.191:9980/mayx/blog
http://172.172.102.93:3000/mayx/blog
http://101.132.255.70:3000/mayx/blog
http://139.196.179.195:3000/mayx/blog
http://115.120.245.164:3000/mayx/blog
http://120.27.19.58:30000/mayx/blog
https://git.devnul.cz/mayx/blog
https://git-virtual.ru/mayx/blog
http://47.122.125.40:16867/mayx/blog
https://git.infinitix.kr/mayx/blog
https://gitea.suchodupin.com/mayx/blog
http://8.134.116.217:3000/mayx/blog
http://117.72.219.18:6000/mayx/blog
http://47.99.144.51:3000/mayx/blog
https://git.rcdiamondgh.cc/mayx/blog
http://35.194.179.90:3000/mayx/blog
http://188.245.173.247:3080/mayx/blog
http://8.153.14.94:61308/mayx/blog
http://git.liubeiting.cn:8000/mayx/blog
http://66.179.208.56:3001/mayx/blog
http://59.110.63.79:13000/mayx/blog
http://59.110.63.80:3000/mayx/blog
http://121.43.60.72:9015/mayx/blog
http://171.80.13.66:9112/mayx/blog
http://211.22.221.188:3000/mayx/blog
https://lunarvow.top:12494/mayx/blog
http://223.108.157.174:3000/mayx/blog
http://120.24.249.56/mayx/blog
https://git.davidwebgt.com/mayx/blog
http://47.100.90.152:3000/mayx/blog
http://120.24.251.176:30000/mayx/blog
http://121.196.237.108:3000/mayx/blog
http://g.gamesns.cn:3000/mayx/blog
http://54.179.203.2:3000/mayx/blog
http://14.103.246.124:16000/mayx/blog
http://www.yuqiya.cn:8499/mayx/blog
http://git.goodxp.cn/mayx/blog
http://47.104.189.3:3000/mayx/blog
https://git.twinkle.network/mayx/blog
http://8.137.106.149:3000/mayx/blog
http://47.112.119.250:3000/mayx/blog
http://8.137.170.249:3000/mayx/blog
https://mygit.kikyps.com/mayx/blog
http://152.42.207.183:3000/mayx/blog
https://git.lucasluqui.com/mayx/blog
http://47.99.60.81:10082/mayx/blog
http://120.211.66.170:8418/mayx/blog
http://47.242.181.61:3333/mayx/blog
http://187.189.244.23:3000/mayx/blog
http://123.60.98.226:3000/mayx/blog
http://58.176.21.43:9004/mayx/blog
https://gitea.vilcap.com/mayx/blog
https://git.2b8.org/mayx/blog
http://8.137.94.229:3000/mayx/blog
http://121.196.245.62/mayx/blog
http://47.92.35.224:3000/mayx/blog
http://47.102.209.69:53000/mayx/blog
https://axcl.duckdns.org:8091/mayx/blog
http://116.205.97.109:3000/mayx/blog
https://gitea.ysme.top/mayx/blog
http://8.140.242.230:3000/mayx/blog
http://8.138.142.17:3000/mayx/blog
https://git.babalish.com/mayx/blog
http://47.111.161.191:3000/mayx/blog
http://47.95.31.56:20080/mayx/blog
http://123.56.231.200:3000/mayx/blog
http://113.46.142.74:3000/mayx/blog
http://47.100.0.167:3000/mayx/blog
http://www.koelndom.cn:13030/mayx/blog
http://209.127.59.74:3000/mayx/blog
http://git.vimer.top:4000/mayx/blog
http://111.15.179.73:3000/mayx/blog
http://47.113.119.107:3000/mayx/blog
https://git.tuongthoi.website/mayx/blog
https://git.dotb.cloud/mayx/blog
http://178.205.99.36:3000/mayx/blog
https://git.bigdalang.com/mayx/blog
https://gitea.augeo.dev/mayx/blog
https://demo.stam.kr/mayx/blog
https://g.szqingling.cn/mayx/blog
http://120.46.23.215:3000/mayx/blog
http://47.108.75.198:3000/mayx/blog
http://121.41.2.71:3000/mayx/blog
http://47.114.94.196:8030/mayx/blog
https://sithcom.de/mayx/blog
http://156.238.243.144:3000/mayx/blog
http://8.138.242.82:8888/mayx/blog
http://37.60.245.108/mayx/blog
http://110.41.177.80:5000/mayx/blog
https://gitea.dsmaster.myds.me/mayx/blog
https://git.denco.store/mayx/blog
http://intechrnd.iptime.org:3000/mayx/blog
https://gitea.primecontrols-dev.com/mayx/blog
http://47.104.160.69:3000/mayx/blog
http://157.66.191.31:3000/mayx/blog
http://39.104.61.219:3000/mayx/blog
http://www.scserverddns.top:13000/mayx/blog
http://156.255.1.229:3000/mayx/blog
http://120.237.152.218:8888/mayx/blog
https://git.ndpcloud.ru/mayx/blog
https://dev.kirill-vorotov.com/mayx/blog
https://gitea.va-comer.net/mayx/blog
https://git.lucas-michel.fr/mayx/blog
http://60.205.162.59:3000/mayx/blog

View File

@ -59,9 +59,7 @@ layout: default
return;
} else {
const data = JSON.parse(event.data);
if (data.response) {
outputContainer.textContent += data.response;
}
outputContainer.textContent += data.response;
}
}
});

View File

@ -1,91 +0,0 @@
---
layout: post
title: 让博客永恒的探索
tags: [Git, Gitea, 镜像, Forever]
---
Mayx Forever Project Phase II<!--more-->
# 起因
在前段时间,我通过[Ecosyste.ms: Repos](https://github.com/ecosyste-ms/repos)找到了不少Git平台的实例也在探索的过程中发现和了解了[Tilde社区](/2025/08/10/tilde.html)。当然仅仅是这样显然还不够,里面的实例太多了,显然还有一些其他值得探索的东西。
在我查看这里面的某些Gitea实例时发现了一些奇怪的事情有些实例的仓库数和用户数多得离谱正常来说除了几个大的平台绝大多数应该只有几十到几百个仓库这就让我有点好奇了。于是当我点进去之后发现里面有一大堆仓库都是空的而且用户名和仓库名都非常有规律看起来都是一组单词加4位数字命名的显然这不是正常现象应该是一种有组织的行为。
# 被SPAM滥用的Git实例
于是我就简单看了一下这些异常的仓库和用户的规律可以发现每个用户都填了个人主页地址然后个人简介里大都是一段广告词。另外这些个人主页的地址看起来很多都是利用公开可注册的服务比如开源的有各种Git平台、Wiki以及论坛还有一些允许用户写个人主页的新闻网站。在这其中Git平台大多都没有广告文章基本上都是通过个人主页地址链接到网站而Wiki之类的就会写一些篇幅比较长的广告文章。
另外这些平台但凡还在开放注册就会被以大约每分钟一次的速度自动注册新账号……所以这种事情到底是谁在干呢我翻了几个仓库里面的广告多种多样有些看起来还算正常还有一些看起来有些黑产。其中我发现有一家叫做“悠闲羊驼SEO”的网站看介绍主要是给加密货币、对冲基金和博彩网站提供SEO优化的再加上这些被滥用的平台里也有不少类似的广告所以我怀疑这些滥用的行为就是这家SEO公司做的虽然没有证据😂
# 永恒的探索
看到这么多Git平台被滥用我就有个想法之前为了保证可靠性给博客加了不少[镜像](/proxylist.html),除此之外也在互联网档案馆、[Software Heritage](https://archive.softwareheritage.org/)、Git Protect等存档服务中上传了备份而且也在IPFS和Arweave等Web3平台上有相应的副本但是我觉得还不够再大的平台也有可能会倒闭IPFS不Pin还会被GC至于Arweave前段时间看了一眼整个网络才几百个节点感觉一点也不靠谱……所以我应该好好利用这些平台提高我博客的可靠性。
既然那些Spammer只是为了SEO去滥用这些平台不如让我利用这些平台给我的博客进行镜像吧至于使用哪个平台……显然用Git平台方便一些所以接下来就该考虑一下怎么样分发了。
# 镜像的分发
在Git平台中也有很多选择最知名的是GitLab不过GitLab有点复杂接口不太好用……而且很多实例没有开镜像仓库的功能毕竟如果我每次更新都给一堆仓库推送太费时间了我打算让各个平台主动从GitHub上拉取我的最新代码。正好Gogs系列的平台基本上都默认支持镜像仓库不过在我实际使用的时候发现Gogs默认情况下注册要验证码……写识别验证码感觉又挺麻烦而Gogs的两个分支——Gitea和Forgejo反倒没有……还挺奇怪所以接下来我的目标主要就是Gitea和Forgejo的实例了。
既然决定好目标我就得先发现它们了那些Spammer在注册的时候会在个人主页里写不同的网站其中也有一些类Gogs平台那么我可以先找一个Gitea平台用接口读取这些网站然后再调类Gogs专属的接口来检测这些网站哪个是类Gogs平台于是我就写了个[脚本](https://github.com/Mabbs/spam_gogs-like_scanner/blob/main/main.py)来找到它们。
找到这些平台之后就该注册了还好Gitea和Forgejo默认没有验证码注册起来也很简单随便写了个函数实现了一下
```python
def register_account(session, url, email, username, password):
try:
resp = session.get(url + "/user/sign_up")
soup = BeautifulSoup(resp.text, "html.parser")
csrf_token = soup.find("input", {"name": "_csrf"}).get("value")
payload = {
"_csrf": csrf_token,
"user_name": username,
"email": email,
"password": password,
"retype": password,
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
resp = session.post(url + "/user/sign_up", data=payload, headers=headers)
if "flash-success" in resp.text:
print(
f"Successfully registered at {url} with username: {username}, email: {email}, password: {password}"
)
save_to_file(
"instances_userinfo.csv", f"{url},{username},{email},{password}"
)
return True
else:
print(f"Failed to register at {url}.")
return False
except Exception as e:
print(f"Error registering at {url}: {e}")
return False
```
注册完之后就该导入仓库了只是通过模拟前端发包的方式在Gitea和Forgejo中不同版本的表现可能不太一样所以我想用API实现但是API又得有API Key生成API Key还得模拟前端发包😥……所以怎么都绕不过。
不过这个生成API Key还挺麻烦有些版本不需要配权限范围有些配权限的参数还不一样……不过我就是随便一写凑合用吧像那些专业的Spammer应该是有更强大的脚本判断各种情况。
最后我还是选择用API导入又写了个函数
```python
def import_repos(token, url):
try:
response = requests.post(
url=url + "/api/v1/repos/migrate",
headers={
"Authorization": "token " + token,
},
json={
"repo_name": "blog",
"mirror_interval": "1h",
"mirror": True,
"description": "Mayx's Home Page",
"clone_addr": "https://github.com/Mabbs/mabbs.github.io",
},
)
if response.status_code == 201:
print("Repository import initiated successfully.")
save_to_file("repo_list.txt", url + "/mayx/blog")
return True
else:
print(f"Failed to initiate repository import. Status code: {response.status_code}")
print(f"Response: {response.text}")
return False
except Exception as e:
print(f"Error updating website: {e}")
return False
```
脚本写好之后我就只需要重复扫描、注册、导入的步骤就行了这样我的镜像就会越来越多而且用类Gogs的实例还有一个好处就是不需要我手动推送它会自动定时拉取我的仓库保持最新这样也许只要人类文明存在我的博客就会在某处存在吧🤣。
最后我创建的Git镜像可以在[这里](/other_repo_list.html)看到看起来还是挺壮观啊😋。只不过像这种会被Spammer随便注册的Git平台实例很难说它能活多久如果没人管而且是云服务器也许到期就没了有人管的话应该不会允许这么多Spam行为吧……
# 感想
不知道用“量”来确保博客的永恒更可靠……还是用“质”的方式更好呢?其实我觉得还得是活动的更好,就像我以前所说的,如果有[僵尸网络](/2024/11/02/trojan.html#%E6%84%9F%E6%83%B3),自动帮我执行发现并推送的操作,也许比等着这些实例逐渐消失更好吧……只不过那样可能就不太友好了😂。