3 Commits

Author SHA1 Message Date
mayx
fe26e4f6c3 Update 2 files
- /_data/other_repo_list.csv
- /_data/ai-cache.json
2026-05-05 12:22:11 +00:00
mayx
45f1183f9a Update 2 files
- /_data/other_repo_list.csv
- /_posts/2026-05-01-virtual-net.md
2026-05-01 10:54:34 +00:00
mayx
dd1141d872 Update 3 files
- /_data/proxylist.yml
- /_data/other_repo_list.csv
- /proxylist.md
2026-04-26 12:29:39 +00:00
5 changed files with 138 additions and 54 deletions

View File

@@ -176,5 +176,6 @@
"/2026/01/01/summary.html": "这篇文章介绍了作者对2025年的年终总结主要表达了对自身状态的担忧和对未来的不确定感。作者认为自己在记忆和思考能力方面有所下滑稳定性较低且未能抓住资产保值的机会。同时文章也记录了AI技术的飞速发展以及自己博客内容与时代脱节的现象。尽管对未来感到迷茫作者仍然抱有一丝希望期望在2026年做出正确的选择避免陷入危险。", "/2026/01/01/summary.html": "这篇文章介绍了作者对2025年的年终总结主要表达了对自身状态的担忧和对未来的不确定感。作者认为自己在记忆和思考能力方面有所下滑稳定性较低且未能抓住资产保值的机会。同时文章也记录了AI技术的飞速发展以及自己博客内容与时代脱节的现象。尽管对未来感到迷茫作者仍然抱有一丝希望期望在2026年做出正确的选择避免陷入危险。",
"/2026/02/08/xslt.html": "这篇文章讲述了Google计划弃用XSLT技术以及作者对这一决定的调查和应对方案。Google基于XSLT用户占比低、库存在漏洞等原因建议将其从Web标准中删除。作者发现许多用户依赖XSLT进行博客订阅美化甚至将其作为博客框架。为了对抗这一趋势有人创建了网站https://xslt.rip并开发了Polyfill库通过WASM方式保持XSLT功能。虽然Polyfill库需要额外引用JS代码但作者已将其提交至CDNJS。随后作者探讨了替代方案包括使用纯CSS美化订阅源由AI生成feed.css以及混合XHTML的方式通过添加XHTML命名空间来实现链接等功能但这种方法会产生“不纯粹”的警告。文章最后总结技术可能会消失但总有其他技术可以解决问题并强调了适应浏览器厂商决策的重要性。", "/2026/02/08/xslt.html": "这篇文章讲述了Google计划弃用XSLT技术以及作者对这一决定的调查和应对方案。Google基于XSLT用户占比低、库存在漏洞等原因建议将其从Web标准中删除。作者发现许多用户依赖XSLT进行博客订阅美化甚至将其作为博客框架。为了对抗这一趋势有人创建了网站https://xslt.rip并开发了Polyfill库通过WASM方式保持XSLT功能。虽然Polyfill库需要额外引用JS代码但作者已将其提交至CDNJS。随后作者探讨了替代方案包括使用纯CSS美化订阅源由AI生成feed.css以及混合XHTML的方式通过添加XHTML命名空间来实现链接等功能但这种方法会产生“不纯粹”的警告。文章最后总结技术可能会消失但总有其他技术可以解决问题并强调了适应浏览器厂商决策的重要性。",
"/2026/03/01/llm3.html": "这篇文章介绍了作者近期在LLM部署和应用方面的经历主要包括以下几个方面\n\n首先作者升级硬件从单张RTX4090 48GiB升级到双路RTX4090 48GiB并购买了TRX40+TR 3960X的主板套装用于运行GPT-OSS模型。随后作者尝试使用vLLM框架替换Ollama并成功配置了GPT-OSS模型达到了接近190Tps的性能。\n\n其次作者体验了DeepSeek 1M上下文模型发现其在处理长上下文任务时表现出色能够展现摘要无法捕捉的细节并成功生成简历、分析人格等。\n\n此外作者还尝试使用DeepSeek重构Mabbs并发现DeepSeek能够识别作者的博客信息这表明训练样本中包含了作者的信息。\n\n最后作者在8GiB内存的MacBook Pro上运行了LFM2.5-1.2B-Thinking模型并使用了Apollo软件体验了其快速的推理速度和良好的思考能力。作者总结认为AI的发展令人惊叹软件优化使其在有限硬件环境下也能运行。", "/2026/03/01/llm3.html": "这篇文章介绍了作者近期在LLM部署和应用方面的经历主要包括以下几个方面\n\n首先作者升级硬件从单张RTX4090 48GiB升级到双路RTX4090 48GiB并购买了TRX40+TR 3960X的主板套装用于运行GPT-OSS模型。随后作者尝试使用vLLM框架替换Ollama并成功配置了GPT-OSS模型达到了接近190Tps的性能。\n\n其次作者体验了DeepSeek 1M上下文模型发现其在处理长上下文任务时表现出色能够展现摘要无法捕捉的细节并成功生成简历、分析人格等。\n\n此外作者还尝试使用DeepSeek重构Mabbs并发现DeepSeek能够识别作者的博客信息这表明训练样本中包含了作者的信息。\n\n最后作者在8GiB内存的MacBook Pro上运行了LFM2.5-1.2B-Thinking模型并使用了Apollo软件体验了其快速的推理速度和良好的思考能力。作者总结认为AI的发展令人惊叹软件优化使其在有限硬件环境下也能运行。",
"/2026/04/14/ai-agent.html": "这篇文章介绍了“AI个人助理”Agent的发展现状和各种尝试。作者体验了OpenClaw、QClaw、WorkBuddy、Cline、LuckClaw和ApkClaw等不同的Agent项目发现它们在功能、易用性和性能上各有优劣。OpenClaw安装和使用存在困难国内大厂的QClaw和WorkBuddy则更易于上手但免费额度有限。作者认为开发任务更适合在编辑器集成AI中进行如GitHub Copilot。LuckClaw在微型开发板上运行表现出色ApkClaw则利用手机的优势操作移动应用。尽管Agent技术仍存在诸多问题但其应用场景不断拓展有望吸引更多人参与其中推动AI应用化进程。" "/2026/04/14/ai-agent.html": "这篇文章介绍了“AI个人助理”Agent的发展现状和各种尝试。作者体验了OpenClaw、QClaw、WorkBuddy、Cline、LuckClaw和ApkClaw等不同的Agent项目发现它们在功能、易用性和性能上各有优劣。OpenClaw安装和使用存在困难国内大厂的QClaw和WorkBuddy则更易于上手但免费额度有限。作者认为开发任务更适合在编辑器集成AI中进行如GitHub Copilot。LuckClaw在微型开发板上运行表现出色ApkClaw则利用手机的优势操作移动应用。尽管Agent技术仍存在诸多问题但其应用场景不断拓展有望吸引更多人参与其中推动AI应用化进程。",
"/2026/05/01/virtual-net.html": "这篇文章介绍了作者在尝试异地组网搭建虚拟局域网时对多种组网工具的探索和体验。作者首先尝试了n2n但由于其项目停止更新且在NAT后的机器间存在掉线问题最终选择了WireGuard作为主要方案。文章详细描述了WireGuard的配置过程包括在Linux、OpenWrt和openEuler系统上的安装和配置并遇到了各种各样的挑战例如在红米AX3000路由器上找不到内核模块以及在openEuler上缺少WireGuard相关包。此外文章还提到了Netmaker和Headscale等WireGuard的控制平面以及VNT和EasyTier等其他组网工具并总结了最终选择WireGuard的原因简单、够用、可靠性不错且已经投入了大量配置。"
} }

View File

@@ -3,9 +3,10 @@ http://gdatura24gtdy23lxd7ht3xzx6mi7mdlkabpvuefhrjn4t5jduviw5ad.onion/Mayx/mayx
http://git.dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/mayx/blog http://git.dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/mayx/blog
http://giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q.b32.i2p/mayx/blog http://giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q.b32.i2p/mayx/blog
https://gitlab.lain.la/mayx/mayx.pages.lain.la https://gitlab.lain.la/mayx/mayx.pages.lain.la
https://gitplac.si/mayx/mayx.gitpage.si
https://gitnet.fr/mayx/blog
https://forge.fedoraproject.org/mabbs/blog https://forge.fedoraproject.org/mabbs/blog
https://tilde.club/~mayx/git/blog.git/ https://tilde.club/~mayx/git/blog.git/
https://tvoygit.ru/Mayx/mayx
https://git.envs.net/Mayx/mayx https://git.envs.net/Mayx/mayx
https://tildegit.org/Mayx/mayx https://tildegit.org/Mayx/mayx
https://git.tilde.town/mayx/blog https://git.tilde.town/mayx/blog
@@ -17,7 +18,6 @@ http://47.120.60.153:10880/mayx/blog
http://1.6.141.109:3000/mayx/blog http://1.6.141.109:3000/mayx/blog
http://52.28.156.42/mayx/blog http://52.28.156.42/mayx/blog
https://code.dsconce.space/mayx/blog https://code.dsconce.space/mayx/blog
https://git.lolpro11.me/mayx/blog
http://101.66.229.132:61088/mayx/blog http://101.66.229.132:61088/mayx/blog
https://git.bp-web.app/mayx/blog https://git.bp-web.app/mayx/blog
http://47.103.91.160:50903/mayx/blog http://47.103.91.160:50903/mayx/blog
@@ -38,7 +38,6 @@ https://git.rootfinlay.co.uk/mayx/blog
https://gitea.belanjaparts.com/mayx/blog https://gitea.belanjaparts.com/mayx/blog
http://185.208.225.190:3000/mayx/blog http://185.208.225.190:3000/mayx/blog
http://116.204.34.35:12000/mayx/blog http://116.204.34.35:12000/mayx/blog
https://git.echaeplay.com/mayx/blog
https://git.Apture.io/mayx/blog https://git.Apture.io/mayx/blog
https://gitea.jasonstolle.com/mayx/blog https://gitea.jasonstolle.com/mayx/blog
http://8.134.61.107:3000/mayx/blog http://8.134.61.107:3000/mayx/blog
@@ -65,9 +64,7 @@ https://gitea.hintsight.com/mayx/blog
https://anzsco.co.nz/mayx/blog https://anzsco.co.nz/mayx/blog
http://blackobelisk.xyz:3000/mayx/blog http://blackobelisk.xyz:3000/mayx/blog
https://git.tech.troyrc.com/mayx/blog https://git.tech.troyrc.com/mayx/blog
http://149.88.87.128:3000/mayx/blog
https://git.the-kn.com/mayx/blog https://git.the-kn.com/mayx/blog
https://git.ism-dev.net/mayx/blog
http://sinzero.xyz:3000/mayx/blog http://sinzero.xyz:3000/mayx/blog
https://gitea.shirom.me/mayx/blog https://gitea.shirom.me/mayx/blog
https://git.wangxinlei.cn/mayx/blog https://git.wangxinlei.cn/mayx/blog
@@ -91,11 +88,9 @@ http://152.69.204.151:3000/mayx/blog
http://207.180.229.193:3001/mayx/blog http://207.180.229.193:3001/mayx/blog
http://34.81.52.16/mayx/blog http://34.81.52.16/mayx/blog
https://git.genowisdom.cn/mayx/blog https://git.genowisdom.cn/mayx/blog
http://120.26.116.243:3000/mayx/blog
http://123.57.16.111:3000/mayx/blog http://123.57.16.111:3000/mayx/blog
https://gitea.onfing.ir/mayx/blog https://gitea.onfing.ir/mayx/blog
https://lius.familyds.org:3000/mayx/blog https://lius.familyds.org:3000/mayx/blog
https://git.morozoff.pro/mayx/blog
https://gitea.questline.coop/mayx/blog https://gitea.questline.coop/mayx/blog
http://git.chaojing-film.com:3000/mayx/blog http://git.chaojing-film.com:3000/mayx/blog
https://git.nusaerp.com/mayx/blog https://git.nusaerp.com/mayx/blog
@@ -126,7 +121,6 @@ https://git.furcom.org/mayx/blog
http://34.102.70.200:3000/mayx/blog http://34.102.70.200:3000/mayx/blog
https://gitea.jobiglo.com/mayx/blog https://gitea.jobiglo.com/mayx/blog
http://58.221.13.198:30010/mayx/blog http://58.221.13.198:30010/mayx/blog
https://git.liliyamol.cn/mayx/blog
https://gitea.oio.cat/mayx/blog https://gitea.oio.cat/mayx/blog
https://git.karma-riuk.com/mayx/blog https://git.karma-riuk.com/mayx/blog
https://git.7o9o.net/mayx/blog https://git.7o9o.net/mayx/blog
@@ -138,7 +132,6 @@ http://1.94.13.224:9080/mayx/blog
http://gitea.coderpath.com/mayx/blog http://gitea.coderpath.com/mayx/blog
http://43.136.169.169:3000/mayx/blog http://43.136.169.169:3000/mayx/blog
http://121.196.213.68:3000/mayx/blog http://121.196.213.68:3000/mayx/blog
https://forge.coreymclark.com/mayx/blog
https://git.micahmoore.io/mayx/blog https://git.micahmoore.io/mayx/blog
https://git.anatid.net/mayx/blog https://git.anatid.net/mayx/blog
https://git.lekai.info/mayx/blog https://git.lekai.info/mayx/blog
@@ -157,7 +150,6 @@ http://101.201.34.43:3000/mayx/blog
https://git.gloje-rinchen-dorjee-rinpoche-buddhist-monastery.org/mayx/blog https://git.gloje-rinchen-dorjee-rinpoche-buddhist-monastery.org/mayx/blog
http://101.35.227.2:3000/mayx/blog http://101.35.227.2:3000/mayx/blog
http://175.126.123.163: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://git.uhfdemo.com/mayx/blog
https://git.jakubzabski.pl/mayx/blog https://git.jakubzabski.pl/mayx/blog
http://124.223.89.168:8080/mayx/blog http://124.223.89.168:8080/mayx/blog
@@ -167,12 +159,10 @@ http://60.204.156.211:3000/mayx/blog
http://nas.bi1kbu.com:8418/mayx/blog http://nas.bi1kbu.com:8418/mayx/blog
http://1.94.178.207:3000/mayx/blog http://1.94.178.207:3000/mayx/blog
https://gitea.tsaida.synology.me/mayx/blog https://gitea.tsaida.synology.me/mayx/blog
http://xapple.ru:3000/mayx/blog
https://git.teygaming.com/mayx/blog https://git.teygaming.com/mayx/blog
http://osztromok.com:3164/mayx/blog http://osztromok.com:3164/mayx/blog
http://175.209.53.134:3030/mayx/blog http://175.209.53.134:3030/mayx/blog
http://39.107.226.169:3000/mayx/blog http://39.107.226.169:3000/mayx/blog
https://git.ueda.sk/mayx/blog
http://39.96.211.118:3000/mayx/blog http://39.96.211.118:3000/mayx/blog
http://121.37.47.20:3000/mayx/blog http://121.37.47.20:3000/mayx/blog
https://git.antropix.dev/mayx/blog https://git.antropix.dev/mayx/blog
@@ -199,7 +189,6 @@ http://39.96.195.72:10082/mayx/blog
http://8.148.24.160:3000/mayx/blog http://8.148.24.160:3000/mayx/blog
https://221.219.181.35:30000/mayx/blog https://221.219.181.35:30000/mayx/blog
http://172.172.102.93:3000/mayx/blog http://172.172.102.93:3000/mayx/blog
http://139.196.179.195:3000/mayx/blog
http://115.120.245.164:3000/mayx/blog http://115.120.245.164:3000/mayx/blog
http://35.194.179.90:3000/mayx/blog http://35.194.179.90:3000/mayx/blog
http://66.179.208.56:3001/mayx/blog http://66.179.208.56:3001/mayx/blog
@@ -210,7 +199,6 @@ http://223.108.157.174:3000/mayx/blog
http://120.24.249.56/mayx/blog http://120.24.249.56/mayx/blog
http://54.179.203.2:3000/mayx/blog http://54.179.203.2:3000/mayx/blog
http://14.103.246.124:16000/mayx/blog http://14.103.246.124:16000/mayx/blog
https://mygit.kikyps.com/mayx/blog
http://152.42.207.183:3000/mayx/blog http://152.42.207.183:3000/mayx/blog
http://47.99.60.81:10082/mayx/blog http://47.99.60.81:10082/mayx/blog
http://120.211.66.170:8418/mayx/blog http://120.211.66.170:8418/mayx/blog
@@ -264,7 +252,6 @@ https://git.deuxfleurs.fr/mayx/blog
https://www.simpra.org:3000/mayx/blog https://www.simpra.org:3000/mayx/blog
http://8.148.31.14:3000/mayx/blog http://8.148.31.14:3000/mayx/blog
http://47.94.246.1:3000/mayx/blog http://47.94.246.1:3000/mayx/blog
https://docker-registry-lszz.uj.com.tw/mayx/blog
https://www.arcbyte.dev/mayx/blog https://www.arcbyte.dev/mayx/blog
https://scm.bcorex.e3labs.net/mayx/blog https://scm.bcorex.e3labs.net/mayx/blog
http://58.17.14.95:8001/mayx/blog http://58.17.14.95:8001/mayx/blog
@@ -283,14 +270,11 @@ https://git.muellers-software.org/mayx/blog
http://8.130.128.130:3000/mayx/blog http://8.130.128.130:3000/mayx/blog
https://repos.fbpx.io/mayx/blog https://repos.fbpx.io/mayx/blog
https://git.cavemanon.xyz/mayx/blog https://git.cavemanon.xyz/mayx/blog
http://120.24.203.75:3000/mayx/blog
http://svn.rivastudio.cn/mayx/blog http://svn.rivastudio.cn/mayx/blog
https://kamtk.ru:4000/mayx/blog https://kamtk.ru:4000/mayx/blog
https://git.refinementservices.com/mayx/blog https://git.refinementservices.com/mayx/blog
https://git.smart-tool.jp/mayx/blog
http://39.98.126.115:8080/mayx/blog http://39.98.126.115:8080/mayx/blog
https://git.zhuzihan.com/mayx/blog https://git.zhuzihan.com/mayx/blog
http://47.76.55.15:21108/mayx/blog
https://git.archieri.fr/mayx/blog https://git.archieri.fr/mayx/blog
http://46.202.189.66:3000/mayx/blog http://46.202.189.66:3000/mayx/blog
http://82.26.157.11:3001/mayx/blog http://82.26.157.11:3001/mayx/blog
@@ -298,18 +282,14 @@ http://123.60.146.54:3000/mayx/blog
http://218.232.111.112:8300/mayx/blog http://218.232.111.112:8300/mayx/blog
http://8.140.248.67:3000/mayx/blog http://8.140.248.67:3000/mayx/blog
http://118.178.172.49:3000/mayx/blog http://118.178.172.49:3000/mayx/blog
https://git.kooera.com/mayx/blog
https://gitea.lasallesaintdenis.com/mayx/blog https://gitea.lasallesaintdenis.com/mayx/blog
http://123.57.225.51:3000/mayx/blog http://123.57.225.51:3000/mayx/blog
http://111.21.163.58:2321/mayx/blog
http://8.130.135.159:3000/mayx/blog http://8.130.135.159:3000/mayx/blog
https://git.suo0.com/mayx/blog https://git.suo0.com/mayx/blog
https://git.mishacloud.xyz/mayx/blog
http://103.228.160.127:3100/mayx/blog http://103.228.160.127:3100/mayx/blog
https://git.dshkabatur.ru/mayx/blog https://git.dshkabatur.ru/mayx/blog
http://47.100.212.83:3000/mayx/blog http://47.100.212.83:3000/mayx/blog
https://gitea.hoba.dedyn.io/mayx/blog https://gitea.hoba.dedyn.io/mayx/blog
http://crontab.club:30015/mayx/blog
https://git.wegoo.ltd/mayx/blog https://git.wegoo.ltd/mayx/blog
http://114.203.209.83:3000/mayx/blog http://114.203.209.83:3000/mayx/blog
http://47.100.111.106:3000/mayx/blog http://47.100.111.106:3000/mayx/blog
@@ -317,7 +297,6 @@ http://47.103.78.70:3000/mayx/blog
http://47.100.208.160:51300/mayx/blog http://47.100.208.160:51300/mayx/blog
http://113.44.218.8:3000/mayx/blog http://113.44.218.8:3000/mayx/blog
https://gitea.sellycloud.io/mayx/blog https://gitea.sellycloud.io/mayx/blog
https://gitea.syn-assist.fr/mayx/blog
https://git.cenoq.com/mayx/blog https://git.cenoq.com/mayx/blog
http://8.152.205.35:3000/mayx/blog http://8.152.205.35:3000/mayx/blog
http://120.210.80.160:3000/mayx/blog http://120.210.80.160:3000/mayx/blog
@@ -327,10 +306,8 @@ https://git.medis.com.vn/mayx/blog
http://194.5.152.156:3000/mayx/blog http://194.5.152.156:3000/mayx/blog
http://8.155.172.147:3001/mayx/blog http://8.155.172.147:3001/mayx/blog
https://git.erfmann.dev/mayx/blog https://git.erfmann.dev/mayx/blog
https://git.tkruk.it/mayx/blog
https://git.newton-lab.com/mayx/blog https://git.newton-lab.com/mayx/blog
https://git.weavefun.com:5443/mayx/blog https://git.weavefun.com:5443/mayx/blog
https://git.zg23.ru/mayx/blog
https://git.vajdak.cz/mayx/blog https://git.vajdak.cz/mayx/blog
http://58.65.162.118:3000/mayx/blog http://58.65.162.118:3000/mayx/blog
https://git.gxc-solutions.ru/mayx/blog https://git.gxc-solutions.ru/mayx/blog
@@ -341,18 +318,15 @@ https://forgejo.bridgetownrb.com/mayx/blog
https://git.dodzin-kg2.keenetic.pro/mayx/blog https://git.dodzin-kg2.keenetic.pro/mayx/blog
http://54.199.96.217:3000/mayx/blog http://54.199.96.217:3000/mayx/blog
http://20.219.0.85:3000/mayx/blog http://20.219.0.85:3000/mayx/blog
http://38.76.202.113:3000/mayx/blog
https://dev01.open-alt.com/mayx/blog https://dev01.open-alt.com/mayx/blog
https://gitea.doinlab.com/mayx/blog https://gitea.doinlab.com/mayx/blog
https://gitea.creative-tg1.ru/mayx/blog https://gitea.creative-tg1.ru/mayx/blog
https://git.7af.ru/mayx/blog https://git.7af.ru/mayx/blog
https://gitea.yimoyuyan.cn/mayx/blog https://gitea.yimoyuyan.cn/mayx/blog
https://git.yanfeng.uk/mayx/blog
https://git.apextoaster.com/mayx/blog https://git.apextoaster.com/mayx/blog
https://hub.open-verse.ai/mayx/blog https://hub.open-verse.ai/mayx/blog
http://221.203.14.217:3000/mayx/blog http://221.203.14.217:3000/mayx/blog
https://git.sophiagwen.au/mayx/blog https://git.sophiagwen.au/mayx/blog
http://103.248.30.24:3000/mayx/blog
http://139.196.96.28:13000/mayx/blog http://139.196.96.28:13000/mayx/blog
https://dev.kiramtech.com/mayx/blog https://dev.kiramtech.com/mayx/blog
https://git.ihatemen.uk/mayx/blog https://git.ihatemen.uk/mayx/blog
@@ -378,7 +352,6 @@ http://152.136.187.229/mayx/blog_cn
http://39.101.74.135:5000/mayx/blog_cn http://39.101.74.135:5000/mayx/blog_cn
http://124.236.46.74:9103/mayx/blog_cn http://124.236.46.74:9103/mayx/blog_cn
http://123.57.130.140:3000/mayx/blog_cn http://123.57.130.140:3000/mayx/blog_cn
http://122.51.51.35:3000/mayx/blog_cn
http://112.124.49.128:3000/mayx/blog_cn http://112.124.49.128:3000/mayx/blog_cn
http://182.92.251.55:3000/mayx/blog_cn http://182.92.251.55:3000/mayx/blog_cn
http://106.52.21.251:3000/mayx/blog_cn http://106.52.21.251:3000/mayx/blog_cn
@@ -394,7 +367,6 @@ http://120.48.141.82:3000/mayx/blog_cn
http://61.178.84.89:8998/mayx/blog_cn http://61.178.84.89:8998/mayx/blog_cn
http://82.156.111.58:3000/mayx/blog_cn http://82.156.111.58:3000/mayx/blog_cn
http://git.ibossay.com:3000/mayx/blog_cn http://git.ibossay.com:3000/mayx/blog_cn
https://miduohuyu.com/mayx/blog_cn
https://git.saike.fun:9755/mayx/blog_cn https://git.saike.fun:9755/mayx/blog_cn
https://git.cool2645.com/mayx/blog_cn https://git.cool2645.com/mayx/blog_cn
http://1.95.173.44:3000/mayx/blog_cn http://1.95.173.44:3000/mayx/blog_cn
@@ -410,7 +382,6 @@ https://git.yidaimingjvn.xyz/mayx/blog_cn
http://43.143.142.38:7001/mayx/blog_cn http://43.143.142.38:7001/mayx/blog_cn
http://39.105.67.143:3000/mayx/blog_cn http://39.105.67.143:3000/mayx/blog_cn
http://8.140.232.131:8100/mayx/blog_cn http://8.140.232.131:8100/mayx/blog_cn
http://gitea.xxhhcty.xyz:8080/mayx/blog_cn
http://82.156.89.21:3000/mayx/blog_cn http://82.156.89.21:3000/mayx/blog_cn
https://git.sskuaixiu.com/mayx/blog_cn https://git.sskuaixiu.com/mayx/blog_cn
http://xujiesoft.vicp.net:3000/mayx/blog_cn http://xujiesoft.vicp.net:3000/mayx/blog_cn
@@ -427,22 +398,17 @@ http://47.113.149.107:10110/mayx/blog_cn
http://47.92.113.131:3000/mayx/blog http://47.92.113.131:3000/mayx/blog
http://gyc.myds.me:4000/mayx/blog http://gyc.myds.me:4000/mayx/blog
https://git.omniglitch.me/mayx/blog https://git.omniglitch.me/mayx/blog
https://code.draussenfunker.de/mayx/blog
https://git.tablet.sh/mayx/blog https://git.tablet.sh/mayx/blog
https://git.gnyra.com/mayx/blog https://git.gnyra.com/mayx/blog
https://git.wdavery.com/mayx/blog https://git.wdavery.com/mayx/blog
https://git.graveyard.sh/mayx/blog https://git.graveyard.sh/mayx/blog
https://git.warze.org/mayx/blog
https://git.nathanspackman.com/mayx/blog https://git.nathanspackman.com/mayx/blog
https://git.freno.me/mayx/blog
https://git.rmarl.in/mayx/blog https://git.rmarl.in/mayx/blog
https://git.alderautomation.ca/mayx/blog https://git.alderautomation.ca/mayx/blog
http://git.qniao.cn/mayx/blog http://git.qniao.cn/mayx/blog
https://git.ewengadonnaud.xyz/mayx/blog
https://git.fast-blast.uk/mayx/blog https://git.fast-blast.uk/mayx/blog
http://git.mynas71.myds.me/mayx/blog http://git.mynas71.myds.me/mayx/blog
https://git.4lsa.com/mayx/blog https://git.4lsa.com/mayx/blog
https://git.nulldirect.com/mayx/blog
https://rlgit.pro/mayx/blog https://rlgit.pro/mayx/blog
https://git.veraskolivna.net/mayx/blog https://git.veraskolivna.net/mayx/blog
https://git.lifetop.net/mayx/blog https://git.lifetop.net/mayx/blog
@@ -453,13 +419,11 @@ https://gitea.adber.tech/mayx/blog
https://gitea.hello.faith/mayx/blog https://gitea.hello.faith/mayx/blog
https://tea.neuron.my/mayx/blog https://tea.neuron.my/mayx/blog
https://git.econutrix.com/mayx/blog https://git.econutrix.com/mayx/blog
https://gitslayer.de/mayx/blog
https://git.violka-it.net/mayx/blog https://git.violka-it.net/mayx/blog
https://git.adityagupta.dev/mayx/blog https://git.adityagupta.dev/mayx/blog
https://code.ownwire.net/mayx/blog https://code.ownwire.net/mayx/blog
https://git.danpeak.co.uk/mayx/blog https://git.danpeak.co.uk/mayx/blog
https://git.game-dev.space/mayx/blog https://git.game-dev.space/mayx/blog
https://git.gonethome.id/mayx/blog
https://gitea.mynas-lechner.de/mayx/blog https://gitea.mynas-lechner.de/mayx/blog
https://git.automathon.org/mayx/blog https://git.automathon.org/mayx/blog
https://aeterna.cim.mcgill.ca/mayx/blog https://aeterna.cim.mcgill.ca/mayx/blog
@@ -473,7 +437,6 @@ https://git.privezishop.ru/mayx/blog
https://gitea.zachl.tech/mayx/blog https://gitea.zachl.tech/mayx/blog
https://git.miasma-os.com/mayx/blog https://git.miasma-os.com/mayx/blog
https://gitea.nacsity.cn/mayx/blog https://gitea.nacsity.cn/mayx/blog
https://git.swirly.architectenterprises.net/mayx/blog
https://root-kit.ru/mayx/blog https://root-kit.ru/mayx/blog
https://gitea.diputadosalta.gob.ar/mayx/blog https://gitea.diputadosalta.gob.ar/mayx/blog
https://ttym.space/mayx/blog https://ttym.space/mayx/blog
@@ -493,9 +456,7 @@ http://49.232.183.190:3000/mayx/blog_cn
http://git.zxkedu.com:33769/mayx/blog_cn http://git.zxkedu.com:33769/mayx/blog_cn
https://code.wemediacn.com/mayx/blog_cn https://code.wemediacn.com/mayx/blog_cn
https://gitea.shizuka.icu/mayx/blog_cn https://gitea.shizuka.icu/mayx/blog_cn
http://152.136.145.93:3000/mayx/blog_cn
http://43.139.2.237:3000/mayx/blog_cn http://43.139.2.237:3000/mayx/blog_cn
http://47.109.30.152:3000/mayx/blog_cn
https://git.minecraftlegacy.com/mayx/blog https://git.minecraftlegacy.com/mayx/blog
http://51.159.198.233:3000/mayx/blog http://51.159.198.233:3000/mayx/blog
https://gitea.adriangonzalezbarbosa.eu/mayx/blog https://gitea.adriangonzalezbarbosa.eu/mayx/blog
@@ -503,7 +464,6 @@ http://39.108.124.198:3000/mayx/blog
https://git.legatus.ru/mayx/blog https://git.legatus.ru/mayx/blog
https://git.kayashov.keenetic.pro/mayx/blog https://git.kayashov.keenetic.pro/mayx/blog
http://43.138.83.20:3000/mayx/blog_cn http://43.138.83.20:3000/mayx/blog_cn
http://rentsl.ren:45300/mayx/blog_cn
http://47.104.241.192:19999/mayx/blog_cn http://47.104.241.192:19999/mayx/blog_cn
http://47.98.148.146:1026/mayx/blog_cn http://47.98.148.146:1026/mayx/blog_cn
http://119.96.62.56:3000/mayx/blog_cn http://119.96.62.56:3000/mayx/blog_cn
@@ -530,7 +490,6 @@ http://103.236.53.208:3000/mayx/blog_cn
http://118.195.135.194:3000/mayx/blog_cn http://118.195.135.194:3000/mayx/blog_cn
http://81.70.102.154/mayx/blog_cn http://81.70.102.154/mayx/blog_cn
http://154.8.164.149:3000/mayx/blog_cn http://154.8.164.149:3000/mayx/blog_cn
http://39.99.238.14:8120/mayx/blog_cn
http://111.228.34.40:3000/mayx/blog_cn http://111.228.34.40:3000/mayx/blog_cn
http://82.156.249.211:3000/mayx/blog_cn http://82.156.249.211:3000/mayx/blog_cn
http://36.133.248.69:3088/mayx/blog_cn http://36.133.248.69:3088/mayx/blog_cn
@@ -544,7 +503,6 @@ http://43.139.240.37:17000/mayx/blog_cn
http://159.75.27.114:3000/mayx/blog_cn http://159.75.27.114:3000/mayx/blog_cn
http://arcreya.top/mayx/blog_cn http://arcreya.top/mayx/blog_cn
https://code.tczkiot.com/mayx/blog_cn https://code.tczkiot.com/mayx/blog_cn
http://223.71.122.54:3000/mayx/blog_cn
http://111.170.153.123:3000/mayx/blog_cn http://111.170.153.123:3000/mayx/blog_cn
http://xeroworld.team/mayx/blog_cn http://xeroworld.team/mayx/blog_cn
https://gitea.wuyuank.com/mayx/blog_cn https://gitea.wuyuank.com/mayx/blog_cn
@@ -557,7 +515,6 @@ https://gitea.jfen.eu.org/mayx/blog_cn
https://gitea.myat4.com/mayx/blog_cn https://gitea.myat4.com/mayx/blog_cn
http://118.24.161.24:3000/mayx/blog_cn http://118.24.161.24:3000/mayx/blog_cn
https://git.chalypeng.xyz/mayx/blog_cn https://git.chalypeng.xyz/mayx/blog_cn
http://13.230.31.145:8418/mayx/blog_cn
http://githanea.s.odn.cc/mayx/blog_cn http://githanea.s.odn.cc/mayx/blog_cn
https://git.dev.chuweizi.com/mayx/blog https://git.dev.chuweizi.com/mayx/blog
http://35.175.189.8/mayx/blog http://35.175.189.8/mayx/blog
@@ -569,7 +526,6 @@ http://101.43.238.71:3000/mayx/blog_cn
http://59.110.175.62:4322/mayx/blog_cn http://59.110.175.62:4322/mayx/blog_cn
https://www.luluvip.cn:8419/mayx/blog_cn https://www.luluvip.cn:8419/mayx/blog_cn
http://xianyuhome.cn:11013/mayx/blog_cn http://xianyuhome.cn:11013/mayx/blog_cn
http://nas.hongyuanjia.net:8418/mayx/blog_cn
https://git.gotrobotics.org/mayx/blog https://git.gotrobotics.org/mayx/blog
https://git.chatumbrella.online/mayx/blog https://git.chatumbrella.online/mayx/blog
https://silica.codes/mayx/blog https://silica.codes/mayx/blog
@@ -577,7 +533,58 @@ https://git.crystalyx.net/mayx/blog
https://gittea.dev/mayx/blog https://gittea.dev/mayx/blog
https://git.newnaturalphilosophy.org/mayx/blog https://git.newnaturalphilosophy.org/mayx/blog
https://gogs.cadi.ninja/mayx/blog https://gogs.cadi.ninja/mayx/blog
http://jiulu-gameplay.com.cn:13001/mayx/blog
https://gitea.maric.ro/mayx/blog https://gitea.maric.ro/mayx/blog
http://mrjinit.com:3000/mayx/blog http://mrjinit.com:3000/mayx/blog
https://gitea-01.taild2831.ts.net/mayx/blog https://gitea-01.taild2831.ts.net/mayx/blog
https://code.infininov.com/mayx/blog
https://git.apt142.ru/mayx/blog
http://gitea.mcelwain.net/mayx/blog
https://chunkks.com/mayx/blog
https://gitea.earthmanrpg.me/mayx/blog
https://ndiuky.site/mayx/blog
https://src.enterpriselinux.social/mayx/blog
https://gitea.grxe.io/mayx/blog
https://git.mhworld.net/mayx/blog
https://blvckout.foo/mayx/blog
https://git.webark.in/mayx/blog
https://gitea.help4bis.com/mayx/blog
https://gitea.accept.dev.dbf.nl/mayx/blog
https://git.ke5.de/mayx/blog
https://git.jhossain.online/mayx/blog
http://gitea.xsec.fun/mayx/blog
https://barhoum-lab.fr/mayx/blog
https://git.fedaya.net/mayx/blog
https://git.lemsmyth.com/mayx/blog
http://gitea.nakile.fr/mayx/blog
https://redev.lol/mayx/blog
http://git.zfxfzb.com/mayx/blog
https://papi.tkpups.com/mayx/blog
https://git.beyond-a-i.org/mayx/blog
https://git.xyz.su/mayx/blog
https://git.homeinfra.org/mayx/blog
http://47.79.146.16:3000/mayx/blog_cn
https://gitea.avixc-nas.myds.me/mayx/blog_cn
http://www.yuqiya.cn:8499/mayx/blog_cn
https://www.yalecheung.top:1024/mayx/blog_cn
https://gitea.lelespace.top/mayx/blog_cn
http://huanghomenas2.myqnapcloud.com:4000/mayx/blog_cn
http://55x.top:9300/mayx/blog_cn
http://43.142.166.108:10082/mayx/blog_cn
https://git.ueda.sk/mayx/blog_cn
http://27.223.88.102:33000/mayx/blog_cn
https://tm-jikayo.com/mayx/blog_cn
https://git.scinalytics.com/mayx/blog_cn
http://112.6.10.77:3000/mayx/blog_cn
http://zzdgitea.stnav.com/mayx/blog_cn
http://1.117.66.197:3000/mayx/blog_cn
http://git.zhmight.com/mayx/blog_cn
https://intl-dev.gaia888.com/mayx/blog_cn
https://gitea.xinyuxi.com/mayx/blog_cn
http://gitea.snailtrack.cn/mayx/blog_cn
https://git.dslak.it/mayx/blog_cn
https://git.powerdata.dk/mayx/blog
http://ydds.cloud:3000/mayx/blog_cn
https://git.keruixinda.com/mayx/blog_cn
http://120.24.50.145:3000/mayx/blog_cn
https://code.draussenfunker.de/mayx/blog_cn
https://git.gede.at/mayx/blog_cn
1 repo_url
3 http://git.dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/mayx/blog
4 http://giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q.b32.i2p/mayx/blog
5 https://gitlab.lain.la/mayx/mayx.pages.lain.la
6 https://gitplac.si/mayx/mayx.gitpage.si
7 https://gitnet.fr/mayx/blog
8 https://forge.fedoraproject.org/mabbs/blog
9 https://tilde.club/~mayx/git/blog.git/
https://tvoygit.ru/Mayx/mayx
10 https://git.envs.net/Mayx/mayx
11 https://tildegit.org/Mayx/mayx
12 https://git.tilde.town/mayx/blog
18 http://1.6.141.109:3000/mayx/blog
19 http://52.28.156.42/mayx/blog
20 https://code.dsconce.space/mayx/blog
https://git.lolpro11.me/mayx/blog
21 http://101.66.229.132:61088/mayx/blog
22 https://git.bp-web.app/mayx/blog
23 http://47.103.91.160:50903/mayx/blog
38 https://gitea.belanjaparts.com/mayx/blog
39 http://185.208.225.190:3000/mayx/blog
40 http://116.204.34.35:12000/mayx/blog
https://git.echaeplay.com/mayx/blog
41 https://git.Apture.io/mayx/blog
42 https://gitea.jasonstolle.com/mayx/blog
43 http://8.134.61.107:3000/mayx/blog
64 https://anzsco.co.nz/mayx/blog
65 http://blackobelisk.xyz:3000/mayx/blog
66 https://git.tech.troyrc.com/mayx/blog
http://149.88.87.128:3000/mayx/blog
67 https://git.the-kn.com/mayx/blog
https://git.ism-dev.net/mayx/blog
68 http://sinzero.xyz:3000/mayx/blog
69 https://gitea.shirom.me/mayx/blog
70 https://git.wangxinlei.cn/mayx/blog
88 http://207.180.229.193:3001/mayx/blog
89 http://34.81.52.16/mayx/blog
90 https://git.genowisdom.cn/mayx/blog
http://120.26.116.243:3000/mayx/blog
91 http://123.57.16.111:3000/mayx/blog
92 https://gitea.onfing.ir/mayx/blog
93 https://lius.familyds.org:3000/mayx/blog
https://git.morozoff.pro/mayx/blog
94 https://gitea.questline.coop/mayx/blog
95 http://git.chaojing-film.com:3000/mayx/blog
96 https://git.nusaerp.com/mayx/blog
121 http://34.102.70.200:3000/mayx/blog
122 https://gitea.jobiglo.com/mayx/blog
123 http://58.221.13.198:30010/mayx/blog
https://git.liliyamol.cn/mayx/blog
124 https://gitea.oio.cat/mayx/blog
125 https://git.karma-riuk.com/mayx/blog
126 https://git.7o9o.net/mayx/blog
132 http://gitea.coderpath.com/mayx/blog
133 http://43.136.169.169:3000/mayx/blog
134 http://121.196.213.68:3000/mayx/blog
https://forge.coreymclark.com/mayx/blog
135 https://git.micahmoore.io/mayx/blog
136 https://git.anatid.net/mayx/blog
137 https://git.lekai.info/mayx/blog
150 https://git.gloje-rinchen-dorjee-rinpoche-buddhist-monastery.org/mayx/blog
151 http://101.35.227.2:3000/mayx/blog
152 http://175.126.123.163:3000/mayx/blog
https://vw-git.senecasense.com/mayx/blog
153 http://git.uhfdemo.com/mayx/blog
154 https://git.jakubzabski.pl/mayx/blog
155 http://124.223.89.168:8080/mayx/blog
159 http://nas.bi1kbu.com:8418/mayx/blog
160 http://1.94.178.207:3000/mayx/blog
161 https://gitea.tsaida.synology.me/mayx/blog
http://xapple.ru:3000/mayx/blog
162 https://git.teygaming.com/mayx/blog
163 http://osztromok.com:3164/mayx/blog
164 http://175.209.53.134:3030/mayx/blog
165 http://39.107.226.169:3000/mayx/blog
https://git.ueda.sk/mayx/blog
166 http://39.96.211.118:3000/mayx/blog
167 http://121.37.47.20:3000/mayx/blog
168 https://git.antropix.dev/mayx/blog
189 http://8.148.24.160:3000/mayx/blog
190 https://221.219.181.35:30000/mayx/blog
191 http://172.172.102.93:3000/mayx/blog
http://139.196.179.195:3000/mayx/blog
192 http://115.120.245.164:3000/mayx/blog
193 http://35.194.179.90:3000/mayx/blog
194 http://66.179.208.56:3001/mayx/blog
199 http://120.24.249.56/mayx/blog
200 http://54.179.203.2:3000/mayx/blog
201 http://14.103.246.124:16000/mayx/blog
https://mygit.kikyps.com/mayx/blog
202 http://152.42.207.183:3000/mayx/blog
203 http://47.99.60.81:10082/mayx/blog
204 http://120.211.66.170:8418/mayx/blog
252 https://www.simpra.org:3000/mayx/blog
253 http://8.148.31.14:3000/mayx/blog
254 http://47.94.246.1:3000/mayx/blog
https://docker-registry-lszz.uj.com.tw/mayx/blog
255 https://www.arcbyte.dev/mayx/blog
256 https://scm.bcorex.e3labs.net/mayx/blog
257 http://58.17.14.95:8001/mayx/blog
270 http://8.130.128.130:3000/mayx/blog
271 https://repos.fbpx.io/mayx/blog
272 https://git.cavemanon.xyz/mayx/blog
http://120.24.203.75:3000/mayx/blog
273 http://svn.rivastudio.cn/mayx/blog
274 https://kamtk.ru:4000/mayx/blog
275 https://git.refinementservices.com/mayx/blog
https://git.smart-tool.jp/mayx/blog
276 http://39.98.126.115:8080/mayx/blog
277 https://git.zhuzihan.com/mayx/blog
http://47.76.55.15:21108/mayx/blog
278 https://git.archieri.fr/mayx/blog
279 http://46.202.189.66:3000/mayx/blog
280 http://82.26.157.11:3001/mayx/blog
282 http://218.232.111.112:8300/mayx/blog
283 http://8.140.248.67:3000/mayx/blog
284 http://118.178.172.49:3000/mayx/blog
https://git.kooera.com/mayx/blog
285 https://gitea.lasallesaintdenis.com/mayx/blog
286 http://123.57.225.51:3000/mayx/blog
http://111.21.163.58:2321/mayx/blog
287 http://8.130.135.159:3000/mayx/blog
288 https://git.suo0.com/mayx/blog
https://git.mishacloud.xyz/mayx/blog
289 http://103.228.160.127:3100/mayx/blog
290 https://git.dshkabatur.ru/mayx/blog
291 http://47.100.212.83:3000/mayx/blog
292 https://gitea.hoba.dedyn.io/mayx/blog
http://crontab.club:30015/mayx/blog
293 https://git.wegoo.ltd/mayx/blog
294 http://114.203.209.83:3000/mayx/blog
295 http://47.100.111.106:3000/mayx/blog
297 http://47.100.208.160:51300/mayx/blog
298 http://113.44.218.8:3000/mayx/blog
299 https://gitea.sellycloud.io/mayx/blog
https://gitea.syn-assist.fr/mayx/blog
300 https://git.cenoq.com/mayx/blog
301 http://8.152.205.35:3000/mayx/blog
302 http://120.210.80.160:3000/mayx/blog
306 http://194.5.152.156:3000/mayx/blog
307 http://8.155.172.147:3001/mayx/blog
308 https://git.erfmann.dev/mayx/blog
https://git.tkruk.it/mayx/blog
309 https://git.newton-lab.com/mayx/blog
310 https://git.weavefun.com:5443/mayx/blog
https://git.zg23.ru/mayx/blog
311 https://git.vajdak.cz/mayx/blog
312 http://58.65.162.118:3000/mayx/blog
313 https://git.gxc-solutions.ru/mayx/blog
318 https://git.dodzin-kg2.keenetic.pro/mayx/blog
319 http://54.199.96.217:3000/mayx/blog
320 http://20.219.0.85:3000/mayx/blog
http://38.76.202.113:3000/mayx/blog
321 https://dev01.open-alt.com/mayx/blog
322 https://gitea.doinlab.com/mayx/blog
323 https://gitea.creative-tg1.ru/mayx/blog
324 https://git.7af.ru/mayx/blog
325 https://gitea.yimoyuyan.cn/mayx/blog
https://git.yanfeng.uk/mayx/blog
326 https://git.apextoaster.com/mayx/blog
327 https://hub.open-verse.ai/mayx/blog
328 http://221.203.14.217:3000/mayx/blog
329 https://git.sophiagwen.au/mayx/blog
http://103.248.30.24:3000/mayx/blog
330 http://139.196.96.28:13000/mayx/blog
331 https://dev.kiramtech.com/mayx/blog
332 https://git.ihatemen.uk/mayx/blog
352 http://39.101.74.135:5000/mayx/blog_cn
353 http://124.236.46.74:9103/mayx/blog_cn
354 http://123.57.130.140:3000/mayx/blog_cn
http://122.51.51.35:3000/mayx/blog_cn
355 http://112.124.49.128:3000/mayx/blog_cn
356 http://182.92.251.55:3000/mayx/blog_cn
357 http://106.52.21.251:3000/mayx/blog_cn
367 http://61.178.84.89:8998/mayx/blog_cn
368 http://82.156.111.58:3000/mayx/blog_cn
369 http://git.ibossay.com:3000/mayx/blog_cn
https://miduohuyu.com/mayx/blog_cn
370 https://git.saike.fun:9755/mayx/blog_cn
371 https://git.cool2645.com/mayx/blog_cn
372 http://1.95.173.44:3000/mayx/blog_cn
382 http://43.143.142.38:7001/mayx/blog_cn
383 http://39.105.67.143:3000/mayx/blog_cn
384 http://8.140.232.131:8100/mayx/blog_cn
http://gitea.xxhhcty.xyz:8080/mayx/blog_cn
385 http://82.156.89.21:3000/mayx/blog_cn
386 https://git.sskuaixiu.com/mayx/blog_cn
387 http://xujiesoft.vicp.net:3000/mayx/blog_cn
398 http://47.92.113.131:3000/mayx/blog
399 http://gyc.myds.me:4000/mayx/blog
400 https://git.omniglitch.me/mayx/blog
https://code.draussenfunker.de/mayx/blog
401 https://git.tablet.sh/mayx/blog
402 https://git.gnyra.com/mayx/blog
403 https://git.wdavery.com/mayx/blog
404 https://git.graveyard.sh/mayx/blog
https://git.warze.org/mayx/blog
405 https://git.nathanspackman.com/mayx/blog
https://git.freno.me/mayx/blog
406 https://git.rmarl.in/mayx/blog
407 https://git.alderautomation.ca/mayx/blog
408 http://git.qniao.cn/mayx/blog
https://git.ewengadonnaud.xyz/mayx/blog
409 https://git.fast-blast.uk/mayx/blog
410 http://git.mynas71.myds.me/mayx/blog
411 https://git.4lsa.com/mayx/blog
https://git.nulldirect.com/mayx/blog
412 https://rlgit.pro/mayx/blog
413 https://git.veraskolivna.net/mayx/blog
414 https://git.lifetop.net/mayx/blog
419 https://gitea.hello.faith/mayx/blog
420 https://tea.neuron.my/mayx/blog
421 https://git.econutrix.com/mayx/blog
https://gitslayer.de/mayx/blog
422 https://git.violka-it.net/mayx/blog
423 https://git.adityagupta.dev/mayx/blog
424 https://code.ownwire.net/mayx/blog
425 https://git.danpeak.co.uk/mayx/blog
426 https://git.game-dev.space/mayx/blog
https://git.gonethome.id/mayx/blog
427 https://gitea.mynas-lechner.de/mayx/blog
428 https://git.automathon.org/mayx/blog
429 https://aeterna.cim.mcgill.ca/mayx/blog
437 https://gitea.zachl.tech/mayx/blog
438 https://git.miasma-os.com/mayx/blog
439 https://gitea.nacsity.cn/mayx/blog
https://git.swirly.architectenterprises.net/mayx/blog
440 https://root-kit.ru/mayx/blog
441 https://gitea.diputadosalta.gob.ar/mayx/blog
442 https://ttym.space/mayx/blog
456 http://git.zxkedu.com:33769/mayx/blog_cn
457 https://code.wemediacn.com/mayx/blog_cn
458 https://gitea.shizuka.icu/mayx/blog_cn
http://152.136.145.93:3000/mayx/blog_cn
459 http://43.139.2.237:3000/mayx/blog_cn
http://47.109.30.152:3000/mayx/blog_cn
460 https://git.minecraftlegacy.com/mayx/blog
461 http://51.159.198.233:3000/mayx/blog
462 https://gitea.adriangonzalezbarbosa.eu/mayx/blog
464 https://git.legatus.ru/mayx/blog
465 https://git.kayashov.keenetic.pro/mayx/blog
466 http://43.138.83.20:3000/mayx/blog_cn
http://rentsl.ren:45300/mayx/blog_cn
467 http://47.104.241.192:19999/mayx/blog_cn
468 http://47.98.148.146:1026/mayx/blog_cn
469 http://119.96.62.56:3000/mayx/blog_cn
490 http://118.195.135.194:3000/mayx/blog_cn
491 http://81.70.102.154/mayx/blog_cn
492 http://154.8.164.149:3000/mayx/blog_cn
http://39.99.238.14:8120/mayx/blog_cn
493 http://111.228.34.40:3000/mayx/blog_cn
494 http://82.156.249.211:3000/mayx/blog_cn
495 http://36.133.248.69:3088/mayx/blog_cn
503 http://159.75.27.114:3000/mayx/blog_cn
504 http://arcreya.top/mayx/blog_cn
505 https://code.tczkiot.com/mayx/blog_cn
http://223.71.122.54:3000/mayx/blog_cn
506 http://111.170.153.123:3000/mayx/blog_cn
507 http://xeroworld.team/mayx/blog_cn
508 https://gitea.wuyuank.com/mayx/blog_cn
515 https://gitea.myat4.com/mayx/blog_cn
516 http://118.24.161.24:3000/mayx/blog_cn
517 https://git.chalypeng.xyz/mayx/blog_cn
http://13.230.31.145:8418/mayx/blog_cn
518 http://githanea.s.odn.cc/mayx/blog_cn
519 https://git.dev.chuweizi.com/mayx/blog
520 http://35.175.189.8/mayx/blog
526 http://59.110.175.62:4322/mayx/blog_cn
527 https://www.luluvip.cn:8419/mayx/blog_cn
528 http://xianyuhome.cn:11013/mayx/blog_cn
http://nas.hongyuanjia.net:8418/mayx/blog_cn
529 https://git.gotrobotics.org/mayx/blog
530 https://git.chatumbrella.online/mayx/blog
531 https://silica.codes/mayx/blog
533 https://gittea.dev/mayx/blog
534 https://git.newnaturalphilosophy.org/mayx/blog
535 https://gogs.cadi.ninja/mayx/blog
http://jiulu-gameplay.com.cn:13001/mayx/blog
536 https://gitea.maric.ro/mayx/blog
537 http://mrjinit.com:3000/mayx/blog
538 https://gitea-01.taild2831.ts.net/mayx/blog
539 https://code.infininov.com/mayx/blog
540 https://git.apt142.ru/mayx/blog
541 http://gitea.mcelwain.net/mayx/blog
542 https://chunkks.com/mayx/blog
543 https://gitea.earthmanrpg.me/mayx/blog
544 https://ndiuky.site/mayx/blog
545 https://src.enterpriselinux.social/mayx/blog
546 https://gitea.grxe.io/mayx/blog
547 https://git.mhworld.net/mayx/blog
548 https://blvckout.foo/mayx/blog
549 https://git.webark.in/mayx/blog
550 https://gitea.help4bis.com/mayx/blog
551 https://gitea.accept.dev.dbf.nl/mayx/blog
552 https://git.ke5.de/mayx/blog
553 https://git.jhossain.online/mayx/blog
554 http://gitea.xsec.fun/mayx/blog
555 https://barhoum-lab.fr/mayx/blog
556 https://git.fedaya.net/mayx/blog
557 https://git.lemsmyth.com/mayx/blog
558 http://gitea.nakile.fr/mayx/blog
559 https://redev.lol/mayx/blog
560 http://git.zfxfzb.com/mayx/blog
561 https://papi.tkpups.com/mayx/blog
562 https://git.beyond-a-i.org/mayx/blog
563 https://git.xyz.su/mayx/blog
564 https://git.homeinfra.org/mayx/blog
565 http://47.79.146.16:3000/mayx/blog_cn
566 https://gitea.avixc-nas.myds.me/mayx/blog_cn
567 http://www.yuqiya.cn:8499/mayx/blog_cn
568 https://www.yalecheung.top:1024/mayx/blog_cn
569 https://gitea.lelespace.top/mayx/blog_cn
570 http://huanghomenas2.myqnapcloud.com:4000/mayx/blog_cn
571 http://55x.top:9300/mayx/blog_cn
572 http://43.142.166.108:10082/mayx/blog_cn
573 https://git.ueda.sk/mayx/blog_cn
574 http://27.223.88.102:33000/mayx/blog_cn
575 https://tm-jikayo.com/mayx/blog_cn
576 https://git.scinalytics.com/mayx/blog_cn
577 http://112.6.10.77:3000/mayx/blog_cn
578 http://zzdgitea.stnav.com/mayx/blog_cn
579 http://1.117.66.197:3000/mayx/blog_cn
580 http://git.zhmight.com/mayx/blog_cn
581 https://intl-dev.gaia888.com/mayx/blog_cn
582 https://gitea.xinyuxi.com/mayx/blog_cn
583 http://gitea.snailtrack.cn/mayx/blog_cn
584 https://git.dslak.it/mayx/blog_cn
585 https://git.powerdata.dk/mayx/blog
586 http://ydds.cloud:3000/mayx/blog_cn
587 https://git.keruixinda.com/mayx/blog_cn
588 http://120.24.50.145:3000/mayx/blog_cn
589 https://code.draussenfunker.de/mayx/blog_cn
590 https://git.gede.at/mayx/blog_cn

View File

@@ -11,6 +11,7 @@ mirrors:
- https://mayx.frama.io/ - https://mayx.frama.io/
- https://mayx.surge.sh/ - https://mayx.surge.sh/
- https://mayx.pages.gay/ - https://mayx.pages.gay/
- https://mayx.gitpage.si/
- https://mayx.serv00.net/ - https://mayx.serv00.net/
- https://mayx.vercel.app/ - https://mayx.vercel.app/
- https://mayx.netlify.app/ - https://mayx.netlify.app/
@@ -39,7 +40,6 @@ repos:
- https://git.gay/mayx/mayx - https://git.gay/mayx/mayx
- https://repo.or.cz/mayx.git - https://repo.or.cz/mayx.git
- https://gitea.com/mayx/mayx - https://gitea.com/mayx/mayx
- https://gitnet.fr/mayx/blog
- https://gitgud.io/mayx/mayx - https://gitgud.io/mayx/mayx
- https://git.sr.ht/~mayx/mayx - https://git.sr.ht/~mayx/mayx
- https://git.launchpad.net/mayx - https://git.launchpad.net/mayx

View File

@@ -0,0 +1,76 @@
---
layout: post
title: 虚拟局域网的组网探索记录
tags: [虚拟网络, 异地组网, WireGuard]
---
异地组网,有多少种选择?<!--more-->
# 起因
最近我有一些放置在许多不同地方的机器,有一些东西需要让它们之间能够相互访问。虽然我很久以前写过一篇使用[SSH进行互联](/2021/05/07/ssh.html)的文章,但这样做每个服务都需要单独配置,也不方便管理。所以为了能让机器之间能够轻松通信,我打算组建一个虚拟局域网,让它们像在同一交换机下一样。不过这种组网的工具非常多,我应该选哪个比较好呢?
# 不同组网工具的体验
## n2n
以前我用过一款用C写的叫做[n2n](https://github.com/ntop/n2n)的工具它可以很轻松地组建一个P2P的二层虚拟网络而且生态也不错手机、电脑、路由器、服务器上都有可以用的客户端。使用起来非常简单它的中继和穿透服务程序叫做Supernode无需太多的配置只要在有公网的服务器安装并使用`-p`指定一个端口就可以启动。而客户端配置也非常简单,用`-l`配置好Supernode的地址然后让想要在同一个网络的机器使用相同的任意`-k``-c`就可以成功组网,可以说算是非常好用了。
唯一的问题就是它这个项目看起来似乎已经停止更新了……虽然大多数情况下用起来没问题但是有时候还是会出现组网不太可靠的情况。如果两个机器都不经过NAT可以通过公网IP连接它的可靠性还可以。但如果是两个NAT后的机器之间有时候会存在莫名掉线的情况也许是因为穿透导致的不可靠总之遇到这种情况之后重启又能正常工作说明是软件本身的问题但它停更了……所以对我来说它的可靠性不太够。其实它还有个叫做[n3n](https://github.com/n42n/n3n)的继任者,不过知名度不高,所以生态也不太行)
## WireGuard
其实在这之后我本来是打算用L2TP/IPSec进行组网的但看了一下貌似配置有点复杂而且不够现代现在想要组网貌似大多都推荐[WireGuard](https://git.zx2c4.com/wireguard-linux/)作为更现代的选择。只不过它和n2n相比来说是三层的虚拟网络如果需要发送非TCP/IP协议的特别包可能就用不了它吧当然对我来说没有这种需求。它用起来也非常简单不过正常情况下它设计是为了点对点传输而且没有自带的NAT穿透功能所以如果想要实现组网就得搭一个星形网络让互联网上的服务器作为虚拟的交换机这个做起来倒也不复杂。首先每个节点需要生成一个公私钥对作为身份证明在安装好WireGuard之后执行`wg genkey`就能生成私钥。作为交换机的节点需要在`/etc/wireguard/wg0.conf`中写一个这样的配置:
```conf
[Interface]
PrivateKey = xxx
Address = 192.168.1.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -o wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -o wg0 -j ACCEPT
# 机器1
[Peer]
PublicKey = xxx
AllowedIPs = 192.168.1.2/32
# 机器2
[Peer]
PublicKey = xxx
AllowedIPs = 192.168.1.3/32
```
其中PrivateKey填写交换机自己的私钥而作为使用者的Peer中的PublicKey可以用对应节点的私钥执行`echo xxx | wg pubkey`这个命令查看然后每个Peer需要像这样配置
```conf
[Interface]
PrivateKey = xxx
Address = 192.168.1.2/24
[Peer]
PublicKey = xxx # 交换机节点的公钥
Endpoint = xxx.xxx.xxx.xxx:51820 # 交换机节点的地址
AllowedIPs = 192.168.1.0/24
PersistentKeepalive = 25
```
最后全都配置好之后所有节点使用`systemctl enable --now wg-quick@wg0`启动就可以了,启动之后每个节点可以执行`wg`查看当前的连接状态。
当然这是在Linux上至于其他系统大多都有GUI配置填起来更简单。它的生态也非常好基本上常见的操作系统都支持具体可以在[官网](https://www.wireguard.com/install/)查看支持的系统和安装方法。不过由于它在Linux中优先使用内核模块导致我在一些比较小众的环境中也是遇到了各种特别的问题。
### 在红米AX3000中遇到的问题
我在这个网络中有几个安装了OpenWrt的路由器在这其中使用联发科芯片的路由器基本上都没什么问题官网能轻松下载到固件也能很轻松地在软件包中找到WireGuard并安装但我还有一台使用高通芯片的红米AX3000似乎因为高通对资料管控得很严格导致它没有官网的固件最终我在GitHub上找了一个其他人自己编译的[固件](https://github.com/hzyitc/openwrt-redmi-ax3000/)。虽然它整起来有点麻烦不过倒也能用但是在我尝试安装WireGuard的时候遇到了麻烦……
它的软件包里有WireGuard也能找到对应的内核模块安装包但安装完之后没法启动……随后我看了一下它下载的[安装包](https://github.com/hzyitc/openwrt-redmi-ax3000/blob/gh-pages/ipq50xx-qsdk-kernel-5.4-openwrt-21.02-qsdk-11.5.05.841.1029/ci-20240727-173350-ab1f9ffa/kmod-wireguard_5.4-qsdk-11.5.0.5-1_arm_cortex-a7_neon-vfpv4.ipk)结果发现是空的😰它这个固件的内核模块可能是在编译的时候遇到了一些问题。至于让我自己编译这个内核模块难度似乎有点高了……那怎么办呢要知道Linux的内核模块都是和内核挂钩的没办法随便找一个别的模块使用。还好WireGuard倒也不止有内核模块也有一些在用户空间中的实现比如[wireguard-go](https://git.zx2c4.com/wireguard-go)和[wireguard-rs](https://git.zx2c4.com/wireguard-rs)。只是官方似乎非常不推荐在Linux上使用它们所以没有提供预编译的版本。不过遇到这种问题的人也许是比较多所以有人做了在[OpenWrt上使用的wireguard-go](https://github.com/seud0nym/openwrt-wireguard-go),安装好之后效果和使用内核模块的感觉基本上没什么区别,最终也能连通,唯一的区别就是在执行`wg`的时候会显示“Interface: wg0 (userspace)”罢了。从效率上来说虽然肯定没有内核模块那么高但它其实也用了“Tun”模块理论上和使用“Tap”模块的n2n应该差不多吧。
### 在openEuler中遇到的问题
在我使用的节点中还有一台安装了openEuler 22.03 LTS操作系统的服务器虽然openEuler和CentOS可以说基本上没什么区别但毕竟它的内核是openEuler自己编译的所以没办法直接使用CentOS的内核模块。并且openEuler的源中也完全没有提供和WireGuard相关的包所以想要在openEuler上安装WireGuard还是有些挑战当然如果觉得麻烦它们倒是有一个兼容WireGuard的客户端[TunSafe](https://eur.openeuler.openatom.cn/coprs/nucleo/tunsafe/)可以凑活用一下)。
后来我试了一下在这上面安装wireguard-tools倒是可以直接用[CentOS 8EPEL源中的包](https://mirrors.tuna.tsinghua.edu.cn/epel/8/Everything/x86_64/Packages/w/wireguard-tools-1.0.20210914-1.el8.x86_64.rpm)但openEuler的内核在编译的时候故意没有包含WireGuard内核模块……这该怎么办呢用wireguard-go吗虽然这样可以很简单地解决但感觉这样就是认输了😂。后来我搜了一下找到了一篇[在openEuler安装WireGuard内核模块](https://dingle.site/archives/wei-openeulertian-jia-wireguardmo-kuai)的文章,方法大致如下:
1. 首先安装编译环境和源代码。
```bash
yum install elfutils-libelf-devel kernel-devel pkgconfig "@Development Tools"
yum install kernel-headers.x86_64 pkg-config ncurses-devel openssl-devel dwarves
yum install kernel-source.x86_64
```
2. 然后进行编译配置,内核源码一般会安装到`/usr/src/`下,找到之后在里面执行`make menuconfig`然后勾选“Device Drivers -> Network device support -> Wireguard secure network tunnel”并保存。
3. 最后执行`make`开始编译,为了加速可以用`-j`参数加上CPU的核心数进行并行编译当时编译就花掉了一整天😂理论上应该可以只编译WireGuard和它依赖的几个模块不过我不太清楚怎么做还是费点时间按照文中说的做吧。
4. 执行`make modules_install`将编译好的结果安装到`/lib/modules/5.10.0`
不过系统似乎不会去这个路径下找内核模块所以还得把这里面的kernel文件夹复制到`/lib/modules/$(uname -r)`下,然后执行`depmod -a`更新模块依赖。
5. 最后执行`modprobe wireguard`验证模块是否能正常加载,如果没有报错并且可以在`lsmod | grep wireguard`中看到就说明安装成功了剩余的步骤和其他Linux系统一样。
### WireGuard的控制平面
虽然WireGuard本身配置很简单但每加一个节点还得在交换机节点上修改一下配置文件稍微有些麻烦所以有人开发了一些控制平面让它可以被更规范地管理比如[Netmaker](https://github.com/gravitl/netmaker)和[Headscale](https://github.com/juanfont/headscale)。而Headscale主要是为Tailscale客户端开发的开源服务器端因此功能会局限于Tailscale提供的功能。所以如果没有用过Tailscale可以优先考虑Netmaker。
这两个控制平面支持的功能相当丰富而且它们还支持让WireGuard进行NAT穿透自动组建Mesh网络不像我一堆在NAT后的设备还要直接使用WireGuard就只能搭成星形网络。只不过对我来说我也用不到那么多企业级功能这个服务端配置起来也有点麻烦而且我也没有很多节点需要动态增减我的云端服务器带宽也足够使用所以就没有用这些东西了😆。
## 其他的组网工具
除了WireGuard之外还有很多其他的组网工具比如[VNT](https://github.com/vnt-dev/vnt)和[EasyTier](https://github.com/EasyTier/Easytier)这俩用起来也非常简单只需要加几个参数就能组网和n2n一样。不过功能相比于n2n来说要强大不少也支持NAT穿透而且还都兼容WireGuard协议另外不像WireGuard强制使用UDP传输这两个还能用TCP和WebSocket在特殊网络环境下应该比直接用WireGuard更好。另外它们都是Rust编写的也许会更安全😋可惜我已经配好WireGuard之后懒得再改了如果以后有机会可以尝试一下。
# 总结
现在如果想要异地搭建虚拟局域网还是有相当多的选择而且无论是性能还是配置难度都比以前好了不少。看来这种需求还是相当多啊也正是因为有这些需求所以才会出现这么多的方案可以用吧……总之我最后还是选择了纯WireGuard方案主要还是简单够用可靠性也不错而且折腾了这么多再换也不太合适吧🤣。

View File

@@ -32,7 +32,8 @@ graph LR;
GH@{ shape: bow-rect, label: "GitHub" } GH@{ shape: bow-rect, label: "GitHub" }
GL@{ shape: bow-rect, label: "GitLab" } GL@{ shape: bow-rect, label: "GitLab" }
GE@{ shape: bow-rect, label: "Gitee" } GE@{ shape: bow-rect, label: "Gitee" }
OG@{ shape: bow-rect, label: "Other..." } OG@{ shape: bow-rect, label: "And more..." }
OGP@{ shape: docs, label: "And more..." }
CFP@{ shape: docs, label: "CloudFlare Pages" } CFP@{ shape: docs, label: "CloudFlare Pages" }
GHP@{ shape: docs, label: "GitHub Pages" } GHP@{ shape: docs, label: "GitHub Pages" }
GLP@{ shape: docs, label: "GitLab Pages" } GLP@{ shape: docs, label: "GitLab Pages" }
@@ -41,14 +42,13 @@ graph LR;
GF@{ shape: lin-cyl, label: "Greenfield" } GF@{ shape: lin-cyl, label: "Greenfield" }
Vercel@{ shape: docs, label: "Vercel" } Vercel@{ shape: docs, label: "Vercel" }
Netlify@{ shape: docs, label: "Netlify" } Netlify@{ shape: docs, label: "Netlify" }
SH@{ shape: docs, label: "statichost.eu" }
DA@{ shape: docs, label: "dAppling" } DA@{ shape: docs, label: "dAppling" }
CFW@{ label: "CloudFlare Workers" } CFW@{ label: "CloudFlare Workers" }
CFAI@{ shape: procs, label: "CloudFlare AI" } CFAI@{ shape: procs, label: "CloudFlare AI" }
CFD@{ shape: lin-cyl, label: "CloudFlare D1" } CFD@{ shape: lin-cyl, label: "CloudFlare D1" }
Deno@{ shape: curv-trap, label: "Deno" } Deno@{ shape: curv-trap, label: "Deno" }
Glitch@{ shape: curv-trap, label: "Glitch" } Glitch@{ shape: curv-trap, label: "Glitch" }
Other@{ shape: curv-trap, label: "Other..." } Other@{ shape: curv-trap, label: "And more..." }
subgraph Repo subgraph Repo
GH GH
GL GL
@@ -60,11 +60,11 @@ graph LR;
GHP GHP
GLP GLP
CFP CFP
SH
FELH FELH
DA DA
Vercel Vercel
Netlify Netlify
OGP
end end
subgraph API[API Service] subgraph API[API Service]
@@ -87,7 +87,7 @@ graph LR;
GH <-- Sync --> GL GH <-- Sync --> GL
GH -- Sync --> GE GH -- Sync --> GE
GH -. Sync .-> OG GH -. Sync .-> OG
GH -- Deploy --> GHP & SH & Netlify & FELH & DA GH -- Deploy --> GHP & Netlify & FELH & DA & OGP
GL -- Deploy --> CFP & Vercel & GLP GL -- Deploy --> CFP & Vercel & GLP
CFW -- Reverse Proxy --> GHP CFW -- Reverse Proxy --> GHP
Deno -- Reverse Proxy --> GHP Deno -- Reverse Proxy --> GHP