Compare commits

..

No commits in common. "master" and "AR-Backup-2026.02.08" have entirely different histories.

32 changed files with 603 additions and 1085 deletions

View File

@ -22,8 +22,6 @@ if (!norunFlag) {
var sleepTimer_ = null;
var AITalkFlag = false;
var talkNum = 0;
// 暴露到全局,供 pjax.js 在页面切换后重新调用
window._live2d = { initTips: null, showMessage: null, showHitokoto: null };
(function () {
function renderTip(template, context) {
var tokenReg = /(\\)?\{([^\{\}\\]+)(\\)?\}/g;
@ -35,11 +33,11 @@ if (!norunFlag) {
var currentObject = context;
var i, length, variable;
for (i = 0, length = variables.length; i < length; ++i) {
variable = currentObject[variables[i]];
if (variable === undefined || variable === null) return '';
currentObject = variable;
variable = variables[i];
currentObject = currentObject[variable];
if (currentObject === undefined || currentObject === null) return '';
}
return String(currentObject);
return currentObject;
});
}
@ -58,20 +56,14 @@ if (!norunFlag) {
showMessage('你都复制了些什么呀,转载要记得加上出处哦~~', 5000);
});
// 缓存 message.json 数据,供 PJAX 重绑定使用
var tipsData = null;
function initTips() {
$.ajax({
cache: true,
url: message_Path + 'message.json',
dataType: "json",
success: function (result) {
tipsData = result;
// 解绑旧事件(用命名空间避免影响其他绑定)
$.each(result.mouseover, function (index, tips) {
$(tips.selector).off('mouseover._live2d_tips mouseout._live2d_tips');
$(tips.selector).on('mouseover._live2d_tips', function () {
$(tips.selector).mouseover(function () {
var text = tips.text;
if (Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1) - 1];
text = text.renderTip({ text: $(this).text() });
@ -80,7 +72,7 @@ if (!norunFlag) {
clearInterval(liveTlakTimer);
liveTlakTimer = null;
});
$(tips.selector).on('mouseout._live2d_tips', function () {
$(tips.selector).mouseout(function () {
showHitokoto();
if (liveTlakTimer == null) {
liveTlakTimer = window.setInterval(function () {
@ -90,8 +82,7 @@ if (!norunFlag) {
});
});
$.each(result.click, function (index, tips) {
$(tips.selector).off('click._live2d_tips');
$(tips.selector).on('click._live2d_tips', function () {
$(tips.selector).click(function () {
if (hitFlag) {
return false
}
@ -115,22 +106,46 @@ if (!norunFlag) {
}
});
}
window._live2d.initTips = initTips;
initTips();
var text;
if (document.referrer !== '' && document.referrer.split('/')[2] !== window.location.host) {
var referrer = document.createElement('a');
referrer.href = document.referrer;
var domain = referrer.hostname.split('.')[1];
if (domain == 'baidu' || domain == 'so' || domain == 'google') {
var source = domain == 'baidu' ? '百度搜索' : domain == 'so' ? '360搜索' : '谷歌搜索';
text = '嗨! 来自 ' + source + ' 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
} else {
text = '嗨!来自 <span style="color:#0099cc;">' + referrer.hostname + '</span> 的朋友!';
var domain = referrer.hostname.split('.')[1];
if (domain == 'baidu') {
text = '嗨! 来自 百度搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
} else if (domain == 'so') {
text = '嗨! 来自 360搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
} else if (domain == 'google') {
text = '嗨! 来自 谷歌搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
}
} else {
text = getWelcomeText();
if (window.location.pathname == "/") { //主页URL判断需要斜杠结尾
var now = (new Date()).getHours();
if (now > 23 || now <= 5) {
text = '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?';
} else if (now > 5 && now <= 7) {
text = '早上好!一日之计在于晨,美好的一天就要开始了!';
} else if (now > 7 && now <= 11) {
text = '上午好!工作顺利嘛,不要久坐,多起来走动走动哦!';
} else if (now > 11 && now <= 14) {
text = '中午了,工作了一个上午,现在是午餐时间!';
} else if (now > 14 && now <= 17) {
text = '午后很容易犯困呢,今天的运动目标完成了吗?';
} else if (now > 17 && now <= 19) {
text = '傍晚了!窗外夕阳的景色很美丽呢,最美不过夕阳红~~';
} else if (now > 19 && now <= 21) {
text = '晚上好,今天过得怎么样?';
} else if (now > 21 && now <= 23) {
text = '已经这么晚了呀,早点休息吧,晚安~~';
} else {
text = '嗨~ 快来逗我玩吧!';
}
} else {
text = '欢迎阅读<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
}
}
showMessage(text, 12000);
})();
@ -157,7 +172,6 @@ if (!norunFlag) {
console.log(sleepTimer_);
}
}
window._live2d.showHitokoto = showHitokoto;
function checkSleep() {
var sleepStatu = sessionStorage.getItem("Sleepy");
@ -199,7 +213,6 @@ if (!norunFlag) {
//if (timeout === null) timeout = 5000;
//hideMessage(timeout);
}
window._live2d.showMessage = showMessage;
function talkValTimer() {
$('#live_talk').val('1');
}
@ -371,100 +384,74 @@ if (!norunFlag) {
};
};
//获取音乐信息初始化
var $bgm = $('#live2d_bgm');
// 音乐按钮点击事件(幂等,使用命名空间避免重复绑定)
$('#musicButton').off('click._bgm').on('click._bgm', function () {
var bgmListInfo = $('input[name=live2dBGM]');
if (bgmListInfo.length == 0) {
$('#musicButton').hide();
} else {
var bgmPlayNow = parseInt($('#live2d_bgm').attr('data-bgm'));
var bgmPlayTime = 0;
var live2dBGM_Num = sessionStorage.getItem("live2dBGM_Num");
var live2dBGM_PlayTime = sessionStorage.getItem("live2dBGM_PlayTime");
if (live2dBGM_Num) {
if (live2dBGM_Num <= $('input[name=live2dBGM]').length - 1) {
bgmPlayNow = parseInt(live2dBGM_Num);
}
}
if (live2dBGM_PlayTime) {
bgmPlayTime = parseInt(live2dBGM_PlayTime);
}
var live2dBGMSrc = bgmListInfo.eq(bgmPlayNow).val();
$('#live2d_bgm').attr('data-bgm', bgmPlayNow);
$('#live2d_bgm').attr('src', live2dBGMSrc);
$('#live2d_bgm')[0].currentTime = bgmPlayTime;
$('#live2d_bgm')[0].volume = 0.5;
var live2dBGM_IsPlay = sessionStorage.getItem("live2dBGM_IsPlay");
var live2dBGM_WindowClose = sessionStorage.getItem("live2dBGM_WindowClose");
if (live2dBGM_IsPlay == '0' && live2dBGM_WindowClose == '0') {
$('#live2d_bgm')[0].play();
$('#musicButton').addClass('play');
}
sessionStorage.setItem("live2dBGM_WindowClose", '1');
$('#musicButton').on('click', function () {
if ($('#musicButton').hasClass('play')) {
$bgm[0].pause();
$('#live2d_bgm')[0].pause();
$('#musicButton').removeClass('play');
sessionStorage.setItem("live2dBGM_IsPlay", '1');
} else {
$bgm[0].play();
$('#live2d_bgm')[0].play();
$('#musicButton').addClass('play');
sessionStorage.setItem("live2dBGM_IsPlay", '0');
}
});
// BGM 事件监听(仅绑定一次,使用标志位避免重复)
if (!window._live2d._bgmEventsBound) {
$bgm[0].addEventListener("timeupdate", function () {
sessionStorage.setItem("live2dBGM_PlayTime", $bgm[0].currentTime);
});
$bgm[0].addEventListener("ended", function () {
var listNow = parseInt($bgm.attr('data-bgm'));
listNow++;
var inputs = $('input[name=live2dBGM]');
if (inputs.length === 0) return;
if (listNow > inputs.length - 1) {
listNow = 0;
}
var listNewSrc = inputs.eq(listNow).val();
if (!listNewSrc) return;
sessionStorage.setItem("live2dBGM_Num", listNow);
$bgm.attr('src', listNewSrc);
$bgm[0].play();
$bgm.attr('data-bgm', listNow);
});
$bgm[0].addEventListener("error", function () {
$bgm[0].pause();
$('#musicButton').removeClass('play');
showMessage('音乐似乎加载不出来了呢!', 0);
});
window.onbeforeunload = function () {
sessionStorage.setItem("live2dBGM_WindowClose", '0');
if ($('#musicButton').hasClass('play')) {
sessionStorage.setItem("live2dBGM_IsPlay", '0');
}
};
window._live2d._bgmEventsBound = true;
}
// 初始化 BGM根据当前页面是否有 BGM 输入)
if (typeof window._live2d.initBGM === 'function') {
window._live2d.initBGM();
document.getElementById('live2d_bgm').addEventListener("timeupdate", function () {
var live2dBgmPlayTimeNow = document.getElementById('live2d_bgm').currentTime;
sessionStorage.setItem("live2dBGM_PlayTime", live2dBgmPlayTimeNow);
});
document.getElementById('live2d_bgm').addEventListener("ended", function () {
var listNow = parseInt($('#live2d_bgm').attr('data-bgm'));
listNow++;
if (listNow > $('input[name=live2dBGM]').length - 1) {
listNow = 0;
}
var listNewSrc = $('input[name=live2dBGM]').eq(listNow).val();
sessionStorage.setItem("live2dBGM_Num", listNow);
$('#live2d_bgm').attr('src', listNewSrc);
$('#live2d_bgm')[0].play();
$('#live2d_bgm').attr('data-bgm', listNow);
});
document.getElementById('live2d_bgm').addEventListener("error", function () {
$('#live2d_bgm')[0].pause();
$('#musicButton').removeClass('play');
showMessage('音乐似乎加载不出来了呢!', 0);
});
}
}
// 暴露 BGM 初始化函数,供 PJAX 重初始化时调用
window._live2d.initBGM = function() {
var bgmListInfo = $('input[name=live2dBGM]');
var $bgm = $('#live2d_bgm');
if (bgmListInfo.length === 0) {
$('#musicButton').hide();
if ($bgm.length) $bgm[0].pause();
return;
}
var bgmPlayNow = parseInt($bgm.attr('data-bgm')) || 0;
var bgmPlayTime = 0;
var live2dBGM_Num = sessionStorage.getItem("live2dBGM_Num");
var live2dBGM_PlayTime = sessionStorage.getItem("live2dBGM_PlayTime");
if (live2dBGM_Num) {
if (parseInt(live2dBGM_Num) <= bgmListInfo.length - 1) {
bgmPlayNow = parseInt(live2dBGM_Num);
}
}
if (live2dBGM_PlayTime) {
bgmPlayTime = parseFloat(live2dBGM_PlayTime);
}
var newSrc = bgmListInfo.eq(bgmPlayNow).val();
$bgm.attr('data-bgm', bgmPlayNow);
if ($bgm.attr('src') !== newSrc) {
$bgm[0].pause();
$bgm.attr('src', newSrc);
$bgm[0].currentTime = bgmPlayTime;
}
$bgm[0].volume = 0.5;
var live2dBGM_IsPlay = sessionStorage.getItem("live2dBGM_IsPlay");
var live2dBGM_WindowClose = sessionStorage.getItem("live2dBGM_WindowClose");
if (live2dBGM_IsPlay == '0' && live2dBGM_WindowClose == '0') {
$bgm[0].play();
$('#musicButton').addClass('play');
}
sessionStorage.setItem("live2dBGM_WindowClose", '1');
$('#musicButton').show();
};
$(document).ready(function () {
var AIimgSrc = [
message_Path + "model/histoire/histoire.1024/texture_00.png",

View File

@ -50,4 +50,4 @@ Powered by [Jekyll](https://github.com/jekyll/jekyll)
本站转载的文章如无特别说明,均按原文章的协议执行
## 打赏/赞助 Mayx
![QRCode](images/QRCode.png)
![QRCode](/images/QRCode.png)

View File

@ -173,9 +173,5 @@
"/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/12/01/linux.html": "这篇文章介绍了在浏览器中运行Linux的各种方法从最初的纯JS虚拟机JSLinux到后来的WASM虚拟机如v86、WebVM、WebCM再到容器化方案container2wasm以及直接将Linux内核编译为WASM的方案。作者详细对比了这些方案的优缺点包括性能、兼容性、功能和开发难度。文章还提到了模仿Linux环境的WebContainers和JupyterLite并最终认为虚拟机方案更靠谱但对WASM的未来充满期待。作者最后表示博客上添加类似功能的计划还在考虑中目前主要分享了各种方法的探索过程。",
"/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/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/05/01/virtual-net.html": "这篇文章介绍了作者在尝试异地组网搭建虚拟局域网时对多种组网工具的探索和体验。作者首先尝试了n2n但由于其项目停止更新且在NAT后的机器间存在掉线问题最终选择了WireGuard作为主要方案。文章详细描述了WireGuard的配置过程包括在Linux、OpenWrt和openEuler系统上的安装和配置并遇到了各种各样的挑战例如在红米AX3000路由器上找不到内核模块以及在openEuler上缺少WireGuard相关包。此外文章还提到了Netmaker和Headscale等WireGuard的控制平面以及VNT和EasyTier等其他组网工具并总结了最终选择WireGuard的原因简单、够用、可靠性不错且已经投入了大量配置。"
"/2026/01/01/summary.html": "这篇文章介绍了作者对2025年的年终总结主要表达了对自身状态的担忧和对未来的不确定感。作者认为自己在记忆和思考能力方面有所下滑稳定性较低且未能抓住资产保值的机会。同时文章也记录了AI技术的飞速发展以及自己博客内容与时代脱节的现象。尽管对未来感到迷茫作者仍然抱有一丝希望期望在2026年做出正确的选择避免陷入危险。"
}

View File

@ -5,6 +5,7 @@ title,link,feed_url,description
极客兔兔,https://geektutu.com/,https://geektutu.com/atom.xml,致力于分享有趣的技术实践
维基萌,https://www.wikimoe.com/,https://www.wikimoe.com/rss,萌即是正义一名热爱acg的前端设计师的小站
7gugu's blog,https://www.7gugu.com/,https://7gugu.com/index.php/feed/,"一个用来存放我爱好的地方,编程,摄影之类的空间"
云游君,https://www.yunyoujun.cn/,https://www.yunyoujun.cn/atom.xml,希望能成为一个有趣的人。
Kingfish404,https://blog.kingfish404.cn/,https://blog.kingfish404.cn/index.xml,"Stay curious,stay naive. WUT. Jin Yu's Blog"
FKUN,https://blog.fkun.tech/,https://blog.fkun.tech/feed/,
Sinofine,https://sinofine.me/,https://sinofine.me/atom.xml,
@ -15,10 +16,8 @@ Vullfin的博客,https://blog.vull.top/,https://blog.vull.top/atom.xml,Vullfin's
陈陈菌博客,https://blog.glumi.cn/,https://blog.glumi.cn/rss.xml,计算机业余爱好者。
彬红茶日记,https://note.redcha.cn/,https://note.redcha.cn/rss.xml,我的个人日记!
Lanke's blog,https://blog.blueke.top/,https://blog.blueke.top/rss.xml,请为一切不真实之物骄傲,因为我们高于这个世界!
寒士杰克,https://www.hansjack.com/,https://www.hansjack.com/feed/,喜欢捣鼓,不断进步!
时光流·言,https://www.hansjack.com/,https://www.hansjack.com/feed/,个人博客,持续分享网站部署实战经验、精选书评解读和生活观察手记。 这里提供可复用的技术教程、深度阅读指南和真实生活洞察,与技术爱好者一起进步......
Pinpe 的云端,https://pinpe.top/,https://pinpe.top/rss.xml,一个属于自己的云朵。
Chise Hachiroku,https://chise.hachiroku.com/zh/,https://chise.hachiroku.com/zh/feed/,向明日的辉迹,干杯!
映屿,https://www.glowisle.me/,https://www.glowisle.me/atom.xml,关于互联网、书籍、生活琐事以及那些一闪而过的念头
Restent's Notebook,https://blog.gxres.net/,https://blog.gxres.net/atom.xml,不前沿技术分享
Coseroom,https://coseroom.com,,
RavelloH's Blog,https://ravelloh.com,https://ravelloh.com/feed.xml,Beginning of meditation.

1 title link feed_url description
5 极客兔兔 https://geektutu.com/ https://geektutu.com/atom.xml 致力于分享有趣的技术实践
6 维基萌 https://www.wikimoe.com/ https://www.wikimoe.com/rss 萌即是正义!一名热爱acg的前端设计师的小站!
7 7gugu's blog https://www.7gugu.com/ https://7gugu.com/index.php/feed/ 一个用来存放我爱好的地方,编程,摄影之类的空间
8 云游君 https://www.yunyoujun.cn/ https://www.yunyoujun.cn/atom.xml 希望能成为一个有趣的人。
9 Kingfish404 https://blog.kingfish404.cn/ https://blog.kingfish404.cn/index.xml Stay curious,stay naive. WUT. Jin Yu's Blog
10 FKUN https://blog.fkun.tech/ https://blog.fkun.tech/feed/
11 Sinofine https://sinofine.me/ https://sinofine.me/atom.xml
16 陈陈菌博客 https://blog.glumi.cn/ https://blog.glumi.cn/rss.xml 计算机业余爱好者。
17 彬红茶日记 https://note.redcha.cn/ https://note.redcha.cn/rss.xml 我的个人日记!
18 Lanke's blog https://blog.blueke.top/ https://blog.blueke.top/rss.xml 请为一切不真实之物骄傲,因为我们高于这个世界!
19 寒士杰克 时光流·言 https://www.hansjack.com/ https://www.hansjack.com/feed/ 喜欢捣鼓,不断进步! 个人博客,持续分享网站部署实战经验、精选书评解读和生活观察手记。 这里提供可复用的技术教程、深度阅读指南和真实生活洞察,与技术爱好者一起进步......
20 Pinpe 的云端 https://pinpe.top/ https://pinpe.top/rss.xml 一个属于自己的云朵。
21 Chise Hachiroku https://chise.hachiroku.com/zh/ https://chise.hachiroku.com/zh/feed/ 向明日的辉迹,干杯!
22 映屿 https://www.glowisle.me/ https://www.glowisle.me/atom.xml 关于互联网、书籍、生活琐事以及那些一闪而过的念头
23 Restent's Notebook https://blog.gxres.net/ https://blog.gxres.net/atom.xml 不前沿技术分享
Coseroom https://coseroom.com
RavelloH's Blog https://ravelloh.com https://ravelloh.com/feed.xml Beginning of meditation.

View File

@ -2,85 +2,210 @@ repo_url
http://gdatura24gtdy23lxd7ht3xzx6mi7mdlkabpvuefhrjn4t5jduviw5ad.onion/Mayx/mayx
http://git.dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/mayx/blog
http://giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q.b32.i2p/mayx/blog
https://lavaforge.org/mayx/blog
https://sij.ai/mayx/blog
https://repobase.net/mayx/blog
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://tilde.club/~mayx/git/blog.git/
https://tvoygit.ru/Mayx/mayx
https://git.envs.net/Mayx/mayx
https://tildegit.org/Mayx/mayx
https://git.tilde.town/mayx/blog
https://git.pixie.town/mayx/mayx
https://cgit.tilde.town/~mayx/blog
https://gitlab.haskell.org/mayx/mayx
https://repo2.serv00.com/git/pub/Mayx/mayx/
https://git.pixie.town/mayx/mayx
https://codefloe.com/mayx/blog
https://git.minetest.land/Mayx/blog
https://gitea.stormyhome.net/mayx/blog
http://47.120.60.153:10880/mayx/blog
http://61.139.16.27:26684/mayx/blog
http://116.62.245.34:3000/mayx/blog
http://1.6.141.109:3000/mayx/blog
http://52.28.156.42/mayx/blog
http://164.92.160.200:3000/mayx/blog
https://git.tux.pizza/mayx/blog
https://code.dsconce.space/mayx/blog
https://git.anibilag.ru/mayx/blog
https://git.lolpro11.me/mayx/blog
https://git.empirica.pro/mayx/blog
https://git.emanuelemiani.it/mayx/blog
https://git.dehemi.com/mayx/blog
http://101.66.229.132:61088/mayx/blog
https://git.bp-web.app/mayx/blog
http://47.103.91.160:50903/mayx/blog
https://mygit.iexercice.com/mayx/blog
http://162.215.134.149:4000/mayx/blog
http://durfee.mycrestron.com:3000/mayx/blog
https://gitea.nongnghiepso.com/mayx/blog
https://codes.tools.asitavsen.com/mayx/blog
http://122.116.190.233:3001/mayx/blog
http://50.19.111.193:3000/mayx/blog
https://git-test.zcy.dev/mayx/blog
https://git.nothamor.com/mayx/blog
https://git.zeroplay.io/mayx/blog
https://git.successkaoyan.com/mayx/blog
http://139.129.25.251:3000/mayx/blog
http://45.33.87.87/mayx/blog
https://git.rankenste.in/mayx/blog
http://168.126.28.36:3000/mayx/blog
http://120.79.27.232:3000/mayx/blog
http://wangbeibei.xyz:6002/mayx/blog
https://git.duplanet.ovh/mayx/blog
http://69.62.77.234:8888/mayx/blog
http://112.219.147.186:7000/mayx/blog
https://git.rootfinlay.co.uk/mayx/blog
https://repo.beithing.com/mayx/blog
https://git.yi-guanjia.com/mayx/blog
https://git.repo.in.net/mayx/blog
https://gitea.belanjaparts.com/mayx/blog
http://185.208.225.190:3000/mayx/blog
https://git.sudo-fhir.au/mayx/blog
https://git.flywithu.com/mayx/blog
http://116.204.34.35:12000/mayx/blog
https://git.echaeplay.com/mayx/blog
https://git.bethelean.kr/mayx/blog
https://git.Apture.io/mayx/blog
http://103.231.8.120/mayx/blog
https://gitea.jasonstolle.com/mayx/blog
http://8.134.61.107:3000/mayx/blog
http://47.107.88.161:3000/mayx/blog
https://git.votava.org/mayx/blog
https://gitea.madf12.com/mayx/blog
http://8.134.104.234:3000/mayx/blog
https://gitea.carmon.co.kr/mayx/blog
http://142.171.47.170:3000/mayx/blog
http://111.231.146.230:8418/mayx/blog
https://git.winscloud.net/mayx/blog
https://git.pwaapp.cc/mayx/blog
http://119.28.73.80:5000/mayx/blog
http://194.60.231.252:3000/mayx/blog
https://git.sleepingforest.co.uk/mayx/blog
https://git.brb.homeip.net/mayx/blog
https://an360.top/mayx/blog
https://gitea.chenxu2233.com/mayx/blog
http://106.15.78.64:3000/mayx/blog
http://hoenking.cn:3000/mayx/blog
https://gitea.anessen.xyz/mayx/blog
https://git.cjcrace.io/mayx/blog
https://git.wisder.net/mayx/blog
http://8.138.187.97:3000/mayx/blog
https://git2.ujin.tech/mayx/blog
http://111.119.244.185:3000/mayx/blog
http://110.41.179.36:13000/mayx/blog
https://git.moonwoou.com/mayx/blog
https://git.tomlab.dev/mayx/blog
http://182.92.109.202:8070/mayx/blog
http://94.130.182.154:3000/mayx/blog
https://git.unicom.studio/mayx/blog
http://43.138.173.153:8804/mayx/blog
http://frktedu.ru:3000/mayx/blog
https://git.lokalix.de/mayx/blog
http://8.141.14.13:3000/mayx/blog
http://139.196.201.231:3000/mayx/blog
https://git.influxfin.com/mayx/blog
https://git.programar.io/mayx/blog
http://219.157.255.213:25311/mayx/blog
https://git.melvincarvalho.com/mayx/blog
https://gitea.aerwen.net/mayx/blog
https://git.vekus.ru/mayx/blog
https://gitea.svc.obaa.cloud/mayx/blog
http://8.134.64.84:3000/mayx/blog
https://gitea.blubeacon.com/mayx/blog
http://116.204.75.78:6180/mayx/blog
https://git.ods-company.ru/mayx/blog
http://109.228.48.121:8000/mayx/blog
https://bk-house.synology.me:3081/mayx/blog
http://123.57.95.66:9000/mayx/blog
https://git.sparrowcomm.com/mayx/blog
https://git.hubhoo.com/mayx/blog
https://git.ultra.pub/mayx/blog
http://27.124.12.222:3000/mayx/blog
https://saga.iao.ru:3043/mayx/blog
https://git.sayndone.ru/mayx/blog
https://gitea.hintsight.com/mayx/blog
https://anzsco.co.nz/mayx/blog
https://git.valami.giize.com/mayx/blog
https://git.simbarbet.com/mayx/blog
https://git.saintdoggie.org/mayx/blog
http://blackobelisk.xyz:3000/mayx/blog
https://git.dushes.keenetic.pro/mayx/blog
http://47.129.22.53:22345/mayx/blog
https://git.tech.troyrc.com/mayx/blog
http://git.zkyspace.top/mayx/blog
http://149.88.87.128:3000/mayx/blog
http://124.70.167.140:3000/mayx/blog
http://8.137.38.60:8201/mayx/blog
http://112.74.106.216:3000/mayx/blog
http://77.223.118.106:8081/mayx/blog
https://git.the-kn.com/mayx/blog
https://gitea.net50.ne.jp/mayx/blog
https://git.ism-dev.net/mayx/blog
http://sinzero.xyz:3000/mayx/blog
https://gitea.b54.co/mayx/blog
https://git.matevi.sh/mayx/blog
http://213.35.118.215:60001/mayx/blog
https://git.jasonpittman.com/mayx/blog
https://gitea.shirom.me/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
http://60.204.131.99:3000/mayx/blog
http://femail.email:8418/mayx/blog
http://47.93.56.66:8080/mayx/blog
http://167.172.7.198:8081/mayx/blog
https://gitea.meetgu.ru/mayx/blog
https://git.patrich.se/mayx/blog
http://116.236.50.103:8789/mayx/blog
https://git.paulll.cc/mayx/blog
https://gitea.reimann.ee/mayx/blog
http://109.74.197.189/mayx/blog
https://git.nussi.net/mayx/blog
http://94.224.160.69:7990/mayx/blog
https://git.hxps.ru/mayx/blog
https://gitea.ekjeong.synology.me/mayx/blog
https://git.d4m13n.dev/mayx/blog
https://git.4lcap.com/mayx/blog
https://git.stit.tech/mayx/blog
https://www.9miao.fun:6839/mayx/blog
https://git.autotion.net/mayx/blog
http://octifor.synology.me:53000/mayx/blog
https://git.daoyoucloud.com/mayx/blog
https://git.entryrise.com/mayx/blog
https://code.bitahub.com/mayx/blog
https://git.daneric.dev/mayx/blog
http://malingshu.site:6010/mayx/blog
https://repo.gusdya.net/mayx/blog
https://gitea.tmartens.dev/mayx/blog
http://218.206.106.50:19901/mayx/blog
https://git.slegeir.com/mayx/blog
https://git.kimcblog.com/mayx/blog
https://git.minaev.su/mayx/blog
https://git.0fs.ru/mayx/blog
https://git.bremauer.cc/mayx/blog
http://119.3.29.177:3000/mayx/blog
http://47.110.224.240:13000/mayx/blog
http://194.67.86.160:3100/mayx/blog
http://47.101.58.33:3000/mayx/blog
https://gitea.synapsetec.cn/mayx/blog
http://gitea.yunshanghub.com:8081/mayx/blog
https://repo.c-software.id/mayx/blog
http://113.177.27.200:2033/mayx/blog
http://152.69.204.151:3000/mayx/blog
http://207.180.229.193:3001/mayx/blog
https://g2.m8il.in/mayx/blog
http://34.81.52.16/mayx/blog
http://120.78.74.94:3000/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://115.159.107.117:3000/mayx/blog
http://116.62.115.84:3000/mayx/blog
https://Cagit.Cacode.net/mayx/blog
http://wingsing.net:3000/mayx/blog
http://hgngit.ipdz.me/mayx/blog
http://185.163.116.39:49153/mayx/blog
https://gitea.onfing.ir/mayx/blog
https://lius.familyds.org:3000/mayx/blog
https://git.morozoff.pro/mayx/blog
https://gitea.questline.coop/mayx/blog
https://git.poggerer.xyz/mayx/blog
https://git.wisptales.org/mayx/blog
http://git.chaojing-film.com:3000/mayx/blog
https://git.nusaerp.com/mayx/blog
http://35.207.205.18:3000/mayx/blog
@ -90,453 +215,364 @@ http://112.124.40.88:5510/mayx/blog
http://121.36.37.70:15501/mayx/blog
http://187.216.152.151:9999/mayx/blog
http://116.63.173.179:8001/mayx/blog
https://git.iop.plus/mayx/blog
http://47.114.82.162:3000/mayx/blog
http://114.116.79.196/mayx/blog
https://gitea.cybs.io/mayx/blog
https://gitea.fcliu.net/mayx/blog
http://git.yinas.cn/mayx/blog
http://git.chilidoginteractive.com:3000/mayx/blog
http://121.40.40.177:3000/mayx/blog
http://118.31.223.224:3000/mayx/blog
http://voicebot.digitalakademie-bw.de:3000/mayx/blog
http://178.254.35.219:3000/mayx/blog
http://114.215.207.150:3000/mayx/blog
http://2.59.132.109:3001/mayx/blog
http://newslabx.csie.ntu.edu.tw:3000/mayx/blog
http://81.71.148.57:8080/mayx/blog
https://git.lmskaran.com/mayx/blog
http://sdgit.zfmgr.top/mayx/blog
http://154.86.0.30:3000/mayx/blog
http://139.224.196.148:3000/mayx/blog
https://omegat.dmu-medical.de/mayx/blog
http://52.23.128.62:3000/mayx/blog
http://85.214.41.219:49153/mayx/blog
http://6068688.xyz:3000/mayx/blog
https://git.881221.xyz/mayx/blog
http://120.46.222.128:10021/mayx/blog
http://120.26.108.239:9188/mayx/blog
https://git.van-peeren.de/mayx/blog
http://git.gkcorp.com.vn:16000/mayx/blog
http://47.111.17.177:3000/mayx/blog
https://k0ki-dev.com/mayx/blog
http://110.42.45.89:2052/mayx/blog
https://git.furcom.org/mayx/blog
http://47.109.95.73:3000/mayx/blog
http://8.133.240.249:3456/mayx/blog
http://34.102.70.200:3000/mayx/blog
http://175.178.219.170:3000/mayx/blog
https://code.miraclezhb.com/mayx/blog
http://blueroses.top:8888/mayx/blog
http://47.112.118.149:10082/mayx/blog
https://gitea.jobiglo.com/mayx/blog
http://begild.top:8418/mayx/blog
http://58.221.13.198:30010/mayx/blog
https://git.tbaer.de/mayx/blog
https://git.d-popov.com/mayx/blog
https://git.liliyamol.cn/mayx/blog
http://8.138.90.28:3000/mayx/blog
https://gitea.theaken.com/mayx/blog
https://git.ja-schwarz.de/mayx/blog
https://git.xemo-net.de/mayx/blog
https://git.23cm.cn/mayx/blog
https://gitea.oio.cat/mayx/blog
http://59.110.17.86:3000/mayx/blog
https://git.karma-riuk.com/mayx/blog
https://git.saidomar.fr/mayx/blog
http://gitea.fcunb.cn:10083/mayx/blog
http://47.107.152.87:3000/mayx/blog
https://git.sduonline.cn/mayx/blog
https://git.7o9o.net/mayx/blog
https://dev.init.zone/mayx/blog
https://git.baneynet.net/mayx/blog
https://git.gupaoedu.cn/mayx/blog
http://60.205.233.184:3010/mayx/blog
https://git.ricecakecat.com/mayx/blog
https://gittea.biveki.ru/mayx/blog
https://git.7milch.com/mayx/blog
https://git.sitenevis.com/mayx/blog
https://git.nightime.org/mayx/blog
https://dreamplacesai.de/mayx/blog
https://git.cool2645.com/mayx/blog
http://185.87.111.46:3000/mayx/blog
http://suncheng.asia:14200/mayx/blog
http://1.94.13.224:9080/mayx/blog
https://auric-org.org/mayx/blog
https://git.git-happens.de/mayx/blog
http://101.35.183.241/mayx/blog
https://gitea.quiztimes.nl/mayx/blog
http://106.14.189.125:3000/mayx/blog
https://git.hundseth.com/mayx/blog
https://travgit.guillorystack.com/mayx/blog
http://gitea.coderpath.com/mayx/blog
https://gitea.thanh0x.com/mayx/blog
http://175.198.180.19:3000/mayx/blog
https://gitea.albanmary.com/mayx/blog
http://ngtools.cn:53000/mayx/blog
https://git.hantify.ru/mayx/blog
http://43.136.169.169:3000/mayx/blog
http://121.196.213.68:3000/mayx/blog
https://git.vereint-digital.de/mayx/blog
https://git.advarna.fr/mayx/blog
http://111.198.4.69:8092/mayx/blog
https://git.lakaweb.com/mayx/blog
https://forge.coreymclark.com/mayx/blog
http://ems.iclematis.com:30000/mayx/blog
https://git.micahmoore.io/mayx/blog
https://schokigeschmack.de/mayx/blog
https://git.anatid.net/mayx/blog
https://git.lekai.info/mayx/blog
https://git.avclick.ru/mayx/blog
http://135.235.225.198:3000/mayx/blog
https://git.sick.earth/mayx/blog
https://git.prayujt.com/mayx/blog
https://git.galaxylabs.ca/mayx/blog
https://gitlab.n8n-store.xyz/mayx/blog
https://gitea.katiethe.dev/mayx/blog
http://159.203.33.179:3000/mayx/blog
http://117.72.114.197:3000/mayx/blog
https://git.ashcloud.com/mayx/blog
http://us2.fornoone.top:3000/mayx/blog
https://git.novaa.xyz/mayx/blog
http://101.46.208.93:3000/mayx/blog
http://23.94.57.60:3000/mayx/blog
https://watch.mommys.plumbing/mayx/blog
https://devkona.net/mayx/blog
https://gitea.avixc-nas.myds.me/mayx/blog
https://gitea.chaopi.dev/mayx/blog
http://sjhome.cloud:3000/mayx/blog
https://gitea.sciotech.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://git.ctx.dev/mayx/blog
https://nas.szwyll.com:3000/mayx/blog
https://git.koppa.pro/mayx/blog
http://202.65.194.19:3000/mayx/blog
http://8.148.234.146:3001/mayx/blog
http://www.bzturbo.com.br/mayx/blog
https://git.maiasoft.jp/mayx/blog
https://gitea.xala.dev/mayx/blog
http://101.201.34.43:3000/mayx/blog
https://git.ixu.me/mayx/blog
https://git.gloje-rinchen-dorjee-rinpoche-buddhist-monastery.org/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://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
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
http://209.141.47.52:3000/mayx/blog
https://git.apfern.com/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
https://git.yukaige.com/mayx/blog
http://nas.bi1kbu.com:8418/mayx/blog
http://123.56.74.235:3000/mayx/blog
http://1.94.178.207: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
http://210.211.116.85:3000/mayx/blog
http://osztromok.com:3164/mayx/blog
http://175.209.53.134:3030/mayx/blog
http://118.163.190.249:3000/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://168.138.196.70:3000/mayx/blog
http://39.96.211.118:3000/mayx/blog
http://47.103.100.52:3000/mayx/blog
http://5.189.140.23:8080/mayx/blog
http://121.37.47.20:3000/mayx/blog
https://git.antropix.dev/mayx/blog
http://15.237.198.144/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
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
http://101.132.160.67:3000/mayx/blog
https://gitea.temp.brentgruber.com/mayx/blog
http://47.102.147.170:3050/mayx/blog
http://209.38.235.254:3000/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
http://8.138.187.132:3000/mayx/blog
http://117.72.15.187:3000/mayx/blog
http://81.70.30.91:3000/mayx/blog
https://gitea.kisechan.space/mayx/blog
http://140.238.9.133:3007/mayx/blog
http://8.138.100.115:3000/mayx/blog
https://git.mwapp.com.br/mayx/blog
http://yidaima.cn:6008/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://113.207.86.104:3080/mayx/blog
http://down.luanhailiang.cn:9000/mayx/blog
http://39.96.195.72:10082/mayx/blog
https://gitea.klopfenstein.org/mayx/blog
http://8.148.24.160:3000/mayx/blog
https://221.219.181.35:30000/mayx/blog
http://221.219.181.35:30000/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://120.27.19.58:30000/mayx/blog
https://gitea.suchodupin.com/mayx/blog
http://117.72.219.18:6000/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://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
http://223.108.157.174:3000/mayx/blog
http://120.24.249.56/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
https://mygit.kikyps.com/mayx/blog
http://152.42.207.183:3000/mayx/blog
http://47.99.60.81:10082/mayx/blog
http://120.211.66.170:8418/mayx/blog
http://187.189.244.23:3000/mayx/blog
http://58.176.21.43:9004/mayx/blog
https://gitea.vilcap.com/mayx/blog
http://8.137.94.229:3000/mayx/blog
http://121.196.245.62/mayx/blog
http://47.102.209.69:53000/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
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://www.koelndom.cn:13030/mayx/blog
http://209.127.59.74:3000/mayx/blog
https://git.dotb.cloud/mayx/blog
https://git.bigdalang.com/mayx/blog
https://gitea.augeo.dev/mayx/blog
http://120.46.23.215:3000/mayx/blog
http://121.41.2.71:3000/mayx/blog
http://8.138.242.82:8888/mayx/blog
http://110.41.177.80:5000/mayx/blog
https://gitea.dsmaster.myds.me/mayx/blog
http://intechrnd.iptime.org:3000/mayx/blog
https://gitea.primecontrols-dev.com/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
https://git.ndpcloud.ru/mayx/blog
https://gitea.va-comer.net/mayx/blog
https://git.lucas-michel.fr/mayx/blog
http://60.205.162.59:3000/mayx/blog
https://git.imvictor.tech:2/mayx/blog
https://git.pwcedge-sbs-innov-lab.com/mayx/blog
http://47.112.137.193:3000/mayx/blog
https://gitea.malin.onl/mayx/blog
http://58.38.123.148:3176/mayx/blog
http://docker.clhero.fun:3000/mayx/blog
http://42.193.251.215:3000/mayx/blog
https://bdgit.educoder.net/mayx/blog
http://e19510c831.iok.la/mayx/blog
https://www.nxgit.xyz/mayx/blog
http://119.45.49.212:3000/mayx/blog
https://git.synapsenet.net/mayx/blog
https://gitea.kdlsvps.top/mayx/blog
http://deiniusoft.com:3000/mayx/blog
https://code.antopie.org/mayx/blog
http://c6h5gp.top:3000/mayx/blog
https://git.serenetia.com/mayx/blog
https://tm-jikayo.com/mayx/blog
https://vcs.cozydsp.space/mayx/blog
http://43.162.113.116:3000/mayx/blog
http://8.129.11.230:7002/mayx/blog
http://115.190.107.87:3000/mayx/blog
https://git.hast.one/mayx/blog
http://106.12.50.144:8081/mayx/blog
http://43.192.90.133/mayx/blog
http://120.77.94.227:9999/mayx/blog
https://code.wxk8.com/mayx/blog
http://www.befitsoft.com/mayx/blog
http://36.213.200.127:23000/mayx/blog
http://8.155.58.218:9000/mayx/blog
http://fanlibo.i234.me:8418/mayx/blog
https://git.christophhagen.de/mayx/blog
http://rito.synology.me:3000/mayx/blog
http://www.dothing.com:6999/mayx/blog
http://8.217.32.95:3000/mayx/blog
https://git.temporaryname.org/mayx/blog
https://git.loli.surf/mayx/blog
https://Repo.gusdya.net/mayx/blog
https://git.m.ctf.arrobe.fr/mayx/blog
http://120.27.238.24:3000/mayx/blog
https://code.diekabuths.dynu.net/mayx/blog
http://69.62.64.52:3333/mayx/blog
https://git.flymiracle.com/mayx/blog
https://git.scene.to/mayx/blog
https://git.auwiesen2.de/mayx/blog
http://naughtycat.biz:3333/mayx/blog
https://git.p1.bitstorm.co.nz/mayx/blog
https://www.yalecheung.top:1024/mayx/blog
http://39.105.67.143:3000/mayx/blog
https://gitea.manekenbrand.com/mayx/blog
https://gitea.eabor.xyz/mayx/blog
http://106.14.138.181:3000/mayx/blog
https://git.adalspace.com/mayx/blog
https://git.yyuu.xyz/mayx/blog
http://39.107.70.124:3000/mayx/blog
http://huanghomenas2.myqnapcloud.com:4000/mayx/blog
http://218.237.212.51:30003/mayx/blog
http://gitea.huangyanjie.com/mayx/blog
https://git.stormrain.cn/mayx/blog
https://git.deuxfleurs.fr/mayx/blog
https://www.simpra.org:3000/mayx/blog
http://8.148.31.14:3000/mayx/blog
http://55x.top:9300/mayx/blog
https://gitea.lelespace.top/mayx/blog
https://git.lmbrs.org/mayx/blog
https://fj.sinesation.com/mayx/blog
http://47.94.246.1:3000/mayx/blog
http://103.87.67.60:3100/mayx/blog
https://docker-registry-lszz.uj.com.tw/mayx/blog
https://git.honulla.com/mayx/blog
https://www.arcbyte.dev/mayx/blog
http://45.144.30.78:8083/mayx/blog
https://git.nihil.foo/mayx/blog
https://scm.bcorex.e3labs.net/mayx/blog
http://167.172.88.190:3000/mayx/blog
http://58.17.14.95:8001/mayx/blog
https://hero-cloud-stg-code.cnbita.com/mayx/blog
https://git.darkmattergame.net/mayx/blog
http://101.37.69.204:3000/mayx/blog
http://jacksonhampton.com:3000/mayx/blog
https://git.jaronnie.com/mayx/blog
https://gitea.tecamino.com/mayx/blog
http://39.99.175.172:8000/mayx/blog
http://8.138.13.251:3000/mayx/blog
http://47.115.223.229:8888/mayx/blog
http://47.105.59.0:5132/mayx/blog
https://git.veran.link/mayx/blog
http://104.254.131.244:3000/mayx/blog
https://gitea.alacloud.de/mayx/blog
https://git.tobiasweise.dev/mayx/blog
https://code.cif.su/mayx/blog
https://git.cynic.moe/mayx/blog
https://git.muellers-software.org/mayx/blog
http://8.130.128.130:3000/mayx/blog
https://repos.fbpx.io/mayx/blog
https://git.cavemanon.xyz/mayx/blog
http://svn.rivastudio.cn/mayx/blog
https://kamtk.ru:4000/mayx/blog
http://39.98.126.115:8080/mayx/blog
http://46.202.189.66:3000/mayx/blog
http://82.26.157.11:3001/mayx/blog
http://123.60.146.54:3000/mayx/blog
http://8.140.248.67:3000/mayx/blog
http://118.178.172.49:3000/mayx/blog
https://gitea.lasallesaintdenis.com/mayx/blog
http://123.57.225.51:3000/mayx/blog
http://8.130.135.159:3000/mayx/blog
https://git.suo0.com/mayx/blog
http://103.228.160.127:3100/mayx/blog
https://git.dshkabatur.ru/mayx/blog
https://gitea.hoba.dedyn.io/mayx/blog
https://git.wegoo.ltd/mayx/blog
http://114.203.209.83:3000/mayx/blog
http://47.100.111.106:3000/mayx/blog
http://47.103.78.70:3000/mayx/blog
http://47.100.208.160:51300/mayx/blog
http://113.44.218.8:3000/mayx/blog
https://git.cenoq.com/mayx/blog
http://8.152.205.35:3000/mayx/blog
http://120.210.80.160:3000/mayx/blog
http://1.95.192.200:59300/mayx/blog
https://git.medis.com.vn/mayx/blog
http://194.5.152.156:3000/mayx/blog
http://8.155.172.147:3001/mayx/blog
https://git.erfmann.dev/mayx/blog
https://git.weavefun.com:5443/mayx/blog
https://git.vajdak.cz/mayx/blog
http://58.65.162.118:3000/mayx/blog
https://git.arkon.solutions/mayx/blog
http://8.131.93.145:54082/mayx/blog
http://111.9.31.174:10007/mayx/blog
https://forgejo.bridgetownrb.com/mayx/blog
http://54.199.96.217:3000/mayx/blog
http://20.219.0.85:3000/mayx/blog
https://dev01.open-alt.com/mayx/blog
https://gitea.doinlab.com/mayx/blog
https://git.7af.ru/mayx/blog
https://gitea.yimoyuyan.cn/mayx/blog
https://git.apextoaster.com/mayx/blog
https://hub.open-verse.ai/mayx/blog
http://221.203.14.217:3000/mayx/blog
https://git.sophiagwen.au/mayx/blog
http://139.196.96.28:13000/mayx/blog
https://dev.kiramtech.com/mayx/blog
https://git.ihatemen.uk/mayx/blog
https://git.123doit.com/mayx/blog
http://62.43.207.91:8889/mayx/blog
https://rsas.de/mayx/blog
https://git.johntsai.online/mayx/blog
https://gitea.css-sistemas.com.br/mayx/blog
https://git.f4e.lol/mayx/blog
http://47.113.145.232:3000/mayx/blog
http://47.115.212.237:3000/mayx/blog
http://72.61.229.93:4000/mayx/blog
https://git.yinbonet.cn/mayx/blog
https://lishan148.synology.me:3014/mayx/blog_cn
http://1.95.221.174:3000/mayx/blog
https://git.huwhy.cn/mayx/blog_cn
http://119.91.35.154:3000/mayx/blog_cn
http://110.42.101.39:13000/mayx/blog_cn
http://39.101.74.135:5000/mayx/blog_cn
http://124.236.46.74:9103/mayx/blog_cn
http://123.57.130.140:3000/mayx/blog_cn
http://112.124.49.128:3000/mayx/blog_cn
http://118.24.46.223:3000/mayx/blog_cn
http://s3.v100.vip:31057/mayx/blog_cn
https://www.syq.im:2025/mayx/blog_cn
http://101.33.225.95:3000/mayx/blog_cn
http://45.55.138.82:3000/mayx/blog_cn
http://82.156.121.2:3000/mayx/blog_cn
http://118.24.129.148:3000/mayx/blog_cn
http://58.241.155.106:10140/mayx/blog_cn
http://120.48.141.82:3000/mayx/blog_cn
http://61.178.84.89:8998/mayx/blog_cn
http://82.156.111.58:3000/mayx/blog_cn
https://git.saike.fun:9755/mayx/blog_cn
https://git.cool2645.com/mayx/blog_cn
http://1.95.173.44:3000/mayx/blog_cn
http://58.221.157.122:3000/mayx/blog_cn
https://gitlab.liruwei.cn/mayx/blog_cn
http://61.190.74.90:9900/mayx/blog_cn
http://49.234.27.222:3000/mayx/blog_cn
http://8.153.70.81:30001/mayx/blog_cn
http://175.27.229.211:3000/mayx/blog_cn
http://106.55.174.214:3000/mayx/blog_cn
https://git.yidaimingjvn.xyz/mayx/blog_cn
http://39.105.67.143:3000/mayx/blog_cn
http://8.140.232.131:8100/mayx/blog_cn
http://82.156.89.21:3000/mayx/blog_cn
https://git.sskuaixiu.com/mayx/blog_cn
http://xujiesoft.vicp.net:3000/mayx/blog_cn
http://113.44.36.103:23000/mayx/blog_cn
https://git.mingliqiye.com/mayx/blog_cn
http://119.29.194.155:8894/mayx/blog_cn
http://58.213.60.6:19000/mayx/blog_cn
http://36.153.162.171:3000/mayx/blog_cn
http://47.92.113.131:3000/mayx/blog
http://gyc.myds.me:4000/mayx/blog
https://git.tablet.sh/mayx/blog
https://git.gnyra.com/mayx/blog
https://git.graveyard.sh/mayx/blog
https://git.nathanspackman.com/mayx/blog
https://git.rmarl.in/mayx/blog
http://git.qniao.cn/mayx/blog
https://git.fast-blast.uk/mayx/blog
http://git.mynas71.myds.me/mayx/blog
https://git.4lsa.com/mayx/blog
https://rlgit.pro/mayx/blog
https://git.veraskolivna.net/mayx/blog
https://git.lifetop.net/mayx/blog
https://gitea.jnyuxia.com/mayx/blog
http://git.liuhung.com/mayx/blog
https://git.secretserver.club/mayx/blog
https://gitea.adber.tech/mayx/blog
https://gitea.hello.faith/mayx/blog
https://tea.neuron.my/mayx/blog
https://git.violka-it.net/mayx/blog
https://git.adityagupta.dev/mayx/blog
https://git.danpeak.co.uk/mayx/blog
https://gitea.mynas-lechner.de/mayx/blog
https://git.automathon.org/mayx/blog
https://aeterna.cim.mcgill.ca/mayx/blog
https://git.esen.gay/mayx/blog
https://git.webtims.ru/mayx/blog
https://gitea.personalsoftware.space/mayx/blog
http://gitea.yiban.com.tw:3030/mayx/blog
https://gitlab.iplusus.com/mayx/blog
https://git.cyberuk.me/mayx/blog
https://git.privezishop.ru/mayx/blog
https://gitea.zachl.tech/mayx/blog
https://git.miasma-os.com/mayx/blog
https://gitea.nacsity.cn/mayx/blog
https://gitea.diputadosalta.gob.ar/mayx/blog
https://ttym.space/mayx/blog
https://getskill.work/mayx/blog
https://suprasage.com/mayx/blog
https://git.zakum.cn/mayx/blog
https://gitea.amazingcoders.com/mayx/blog
https://gitea.kamilklecha.dev/mayx/blog
http://47.109.103.110:9000/mayx/blog_cn
http://47.105.124.101:3000/mayx/blog_cn
http://49.232.183.190:3000/mayx/blog_cn
http://git.zxkedu.com:33769/mayx/blog_cn
https://code.wemediacn.com/mayx/blog_cn
https://gitea.shizuka.icu/mayx/blog_cn
http://43.139.2.237:3000/mayx/blog_cn
http://51.159.198.233:3000/mayx/blog
https://gitea.adriangonzalezbarbosa.eu/mayx/blog
https://git.legatus.ru/mayx/blog
https://git.kayashov.keenetic.pro/mayx/blog
http://43.138.83.20:3000/mayx/blog_cn
http://47.104.241.192:19999/mayx/blog_cn
http://47.98.148.146:1026/mayx/blog_cn
http://119.96.62.56:3000/mayx/blog_cn
http://101.42.28.156:3000/mayx/blog_cn
http://106.55.0.66:31807/mayx/blog_cn
https://gitea.gentronhealth.com/mayx/blog_cn
http://43.143.209.246:6300/mayx/blog_cn
http://152.136.158.133:36512/mayx/blog_cn
http://yidaima.cn:6008/mayx/blog_cn
http://47.113.101.80:3000/mayx/blog_cn
http://82.156.98.34:3000/mayx/blog_cn
http://zgd.synology.me:8418/mayx/blog_cn
https://git.zguiy.com/mayx/blog_cn
http://58.221.216.202:3000/mayx/blog_cn
http://39.100.183.95:88/mayx/blog_cn
http://www.xshideserver.com:3000/mayx/blog_cn
http://124.223.54.62:28/mayx/blog_cn
http://159.75.131.235:3001/mayx/blog_cn
http://1.117.67.95:3000/mayx/blog_cn
http://103.236.53.208:3000/mayx/blog_cn
http://118.195.135.194:3000/mayx/blog_cn
http://81.70.102.154/mayx/blog_cn
http://154.8.164.149:3000/mayx/blog_cn
http://111.228.34.40:3000/mayx/blog_cn
http://82.156.249.211:3000/mayx/blog_cn
http://36.133.248.69:3088/mayx/blog_cn
http://220.205.16.27:18081/mayx/blog_cn
http://81.69.221.216:3000/mayx/blog_cn
http://115.159.194.75:4000/mayx/blog_cn
http://183.204.60.122:10081/mayx/blog_cn
http://43.139.240.37:17000/mayx/blog_cn
http://159.75.27.114:3000/mayx/blog_cn
http://arcreya.top/mayx/blog_cn
https://code.tczkiot.com/mayx/blog_cn
http://111.170.153.123:3000/mayx/blog_cn
http://xeroworld.team/mayx/blog_cn
https://gitea.wuyuank.com/mayx/blog_cn
http://47.117.245.9:17701/mayx/blog_cn
https://git.sunlix.one/mayx/blog_cn
http://47.106.222.181:20511/mayx/blog_cn
http://101.43.95.130:3001/mayx/blog_cn
http://39.101.170.62:9080/mayx/blog_cn
https://gitea.myat4.com/mayx/blog_cn
http://118.24.161.24:3000/mayx/blog_cn
http://githanea.s.odn.cc/mayx/blog_cn
https://git.dev.chuweizi.com/mayx/blog
http://35.175.189.8/mayx/blog
http://meowug.com:8418/mayx/blog_cn
http://36.138.125.206:3000/mayx/blog_cn
https://git.4lcap.com/mayx/blog_cn
http://101.43.238.71:3000/mayx/blog_cn
http://59.110.175.62:4322/mayx/blog_cn
https://www.luluvip.cn:8419/mayx/blog_cn
http://xianyuhome.cn:11013/mayx/blog_cn
https://git.chatumbrella.online/mayx/blog
https://silica.codes/mayx/blog
https://git.crystalyx.net/mayx/blog
https://gittea.dev/mayx/blog
https://git.newnaturalphilosophy.org/mayx/blog
http://mrjinit.com:3000/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://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
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
http://huanghomenas2.myqnapcloud.com:4000/mayx/blog_cn
http://43.142.166.108:10082/mayx/blog_cn
https://git.ueda.sk/mayx/blog_cn
https://tm-jikayo.com/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.powerdata.dk/mayx/blog
http://ydds.cloud:3000/mayx/blog_cn
http://120.24.50.145:3000/mayx/blog_cn
https://code.draussenfunker.de/mayx/blog_cn
https://git.dinsor.co.th/mayx/blog
https://ofibohost.com/mayx/blog
https://lab.iishka.net/mayx/blog
http://www.arkproject.top/mayx/blog
http://www.bkandssp.cn:30/mayx/blog
https://gitea.spitaki.cloud/mayx/blog
https://git.codle.ru/mayx/blog
https://git.sao.ru/mayx/blog
https://codeop.ru/mayx/blog
https://git.mirocom.org/mayx/blog
http://gitea.ydxtool.com/mayx/blog
http://18.167.251.121:10003/mayx/blog
http://39.98.171.121:53000/mayx/blog
https://gitea.malxte.de/mayx/blog
https://git.nizart.me/mayx/blog
https://git.ddns.net/mayx/blog
http://222.85.214.245:9776/mayx/blog
https://git.kraevsky.ru/mayx/blog
https://ruyiscx.cloud:3000/mayx/blog
https://git.0xee.eu/mayx/blog
https://gitea.deitglobal.com/mayx/blog
https://www.mygitea.ru/mayx/blog
https://git.crwlr.ir/mayx/blog
https://git.nozora.top/mayx/blog
https://git.sortug.com/mayx/blog
https://aivyx-gitea.cloud/mayx/blog
https://git.edenit.co.kr/mayx/blog
https://git.catgirlsneed.homes/mayx/blog
https://git.eldev.netcraze.pro/mayx/blog
http://110.41.184.238:3000/mayx/blog
http://47.108.255.216:3000/mayx/blog_cn
https://gitea.molietech.com/mayx/blog_cn
http://58.87.88.234:3000/mayx/blog_cn
http://210.75.240.13:3000/mayx/blog_cn
https://git.xz-i.com:30443/mayx/blog_cn
http://111.229.64.148:8080/mayx/blog_cn
https://git.fynn.vip/mayx/blog_cn
http://119.91.212.17:3000/mayx/blog_cn
http://git.hbg99.com:8080/mayx/blog_cn
https://git.eplg.services/mayx/blog
http://89.167.38.168:3001/mayx/blog
http://namonba.asuscomm.com:3001/mayx/blog
http://109.199.98.226:3001/mayx/blog
https://git.extra.eiffel.com/mayx/blog
https://gitea.digitanie.org/mayx/blog
http://124.207.0.162:30000/mayx/blog
https://git.xleed.com/mayx/blog

1 repo_url
2 http://gdatura24gtdy23lxd7ht3xzx6mi7mdlkabpvuefhrjn4t5jduviw5ad.onion/Mayx/mayx
3 http://git.dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/mayx/blog
4 http://giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q.b32.i2p/mayx/blog
https://lavaforge.org/mayx/blog
https://sij.ai/mayx/blog
https://repobase.net/mayx/blog
5 https://gitlab.lain.la/mayx/mayx.pages.lain.la
6 https://gitplac.si/mayx/mayx.gitpage.si https://tvoygit.ru/Mayx/mayx
https://gitnet.fr/mayx/blog
https://forge.fedoraproject.org/mabbs/blog
https://tilde.club/~mayx/git/blog.git/
7 https://git.envs.net/Mayx/mayx
8 https://tildegit.org/Mayx/mayx
9 https://git.tilde.town/mayx/blog https://git.pixie.town/mayx/mayx
10 https://cgit.tilde.town/~mayx/blog
11 https://gitlab.haskell.org/mayx/mayx
12 https://repo2.serv00.com/git/pub/Mayx/mayx/
https://git.pixie.town/mayx/mayx
https://codefloe.com/mayx/blog
13 https://git.minetest.land/Mayx/blog
14 https://gitea.stormyhome.net/mayx/blog
15 http://47.120.60.153:10880/mayx/blog
16 http://61.139.16.27:26684/mayx/blog
17 http://116.62.245.34:3000/mayx/blog
18 http://1.6.141.109:3000/mayx/blog
19 http://52.28.156.42/mayx/blog
20 http://164.92.160.200:3000/mayx/blog
21 https://git.tux.pizza/mayx/blog
22 https://code.dsconce.space/mayx/blog
23 https://git.anibilag.ru/mayx/blog
24 https://git.lolpro11.me/mayx/blog
25 https://git.empirica.pro/mayx/blog
26 https://git.emanuelemiani.it/mayx/blog
27 https://git.dehemi.com/mayx/blog
28 http://101.66.229.132:61088/mayx/blog
29 https://git.bp-web.app/mayx/blog
30 http://47.103.91.160:50903/mayx/blog
31 https://mygit.iexercice.com/mayx/blog
32 http://162.215.134.149:4000/mayx/blog
33 http://durfee.mycrestron.com:3000/mayx/blog
34 https://gitea.nongnghiepso.com/mayx/blog
35 https://codes.tools.asitavsen.com/mayx/blog
36 http://122.116.190.233:3001/mayx/blog
37 http://50.19.111.193:3000/mayx/blog
38 https://git-test.zcy.dev/mayx/blog
39 https://git.nothamor.com/mayx/blog
40 https://git.zeroplay.io/mayx/blog
41 https://git.successkaoyan.com/mayx/blog
42 http://139.129.25.251:3000/mayx/blog
43 http://45.33.87.87/mayx/blog
44 https://git.rankenste.in/mayx/blog
45 http://168.126.28.36:3000/mayx/blog
46 http://120.79.27.232:3000/mayx/blog
47 http://wangbeibei.xyz:6002/mayx/blog
48 https://git.duplanet.ovh/mayx/blog
49 http://69.62.77.234:8888/mayx/blog
50 http://112.219.147.186:7000/mayx/blog
51 https://git.rootfinlay.co.uk/mayx/blog
52 https://repo.beithing.com/mayx/blog
53 https://git.yi-guanjia.com/mayx/blog
54 https://git.repo.in.net/mayx/blog
55 https://gitea.belanjaparts.com/mayx/blog
56 http://185.208.225.190:3000/mayx/blog
57 https://git.sudo-fhir.au/mayx/blog
58 https://git.flywithu.com/mayx/blog
59 http://116.204.34.35:12000/mayx/blog
60 https://git.echaeplay.com/mayx/blog
61 https://git.bethelean.kr/mayx/blog
62 https://git.Apture.io/mayx/blog
63 http://103.231.8.120/mayx/blog
64 https://gitea.jasonstolle.com/mayx/blog
65 http://8.134.61.107:3000/mayx/blog
66 http://47.107.88.161:3000/mayx/blog
67 https://git.votava.org/mayx/blog
68 https://gitea.madf12.com/mayx/blog
69 http://8.134.104.234:3000/mayx/blog
70 https://gitea.carmon.co.kr/mayx/blog
71 http://142.171.47.170:3000/mayx/blog
72 http://111.231.146.230:8418/mayx/blog
73 https://git.winscloud.net/mayx/blog
74 https://git.pwaapp.cc/mayx/blog
75 http://119.28.73.80:5000/mayx/blog
76 http://194.60.231.252:3000/mayx/blog
77 https://git.sleepingforest.co.uk/mayx/blog
78 https://git.brb.homeip.net/mayx/blog
79 https://an360.top/mayx/blog
80 https://gitea.chenxu2233.com/mayx/blog
81 http://106.15.78.64:3000/mayx/blog
82 http://hoenking.cn:3000/mayx/blog
83 https://gitea.anessen.xyz/mayx/blog
84 https://git.cjcrace.io/mayx/blog
85 https://git.wisder.net/mayx/blog
86 http://8.138.187.97:3000/mayx/blog
87 https://git2.ujin.tech/mayx/blog
88 http://111.119.244.185:3000/mayx/blog
89 http://110.41.179.36:13000/mayx/blog
90 https://git.moonwoou.com/mayx/blog
91 https://git.tomlab.dev/mayx/blog
92 http://182.92.109.202:8070/mayx/blog
93 http://94.130.182.154:3000/mayx/blog
94 https://git.unicom.studio/mayx/blog
95 http://43.138.173.153:8804/mayx/blog
96 http://frktedu.ru:3000/mayx/blog
97 https://git.lokalix.de/mayx/blog
98 http://8.141.14.13:3000/mayx/blog
99 http://139.196.201.231:3000/mayx/blog
100 https://git.influxfin.com/mayx/blog
101 https://git.programar.io/mayx/blog
102 http://219.157.255.213:25311/mayx/blog
103 https://git.melvincarvalho.com/mayx/blog
104 https://gitea.aerwen.net/mayx/blog
105 https://git.vekus.ru/mayx/blog
106 https://gitea.svc.obaa.cloud/mayx/blog
107 http://8.134.64.84:3000/mayx/blog
108 https://gitea.blubeacon.com/mayx/blog
109 http://116.204.75.78:6180/mayx/blog
110 https://git.ods-company.ru/mayx/blog
111 http://109.228.48.121:8000/mayx/blog
112 https://bk-house.synology.me:3081/mayx/blog
113 http://123.57.95.66:9000/mayx/blog
114 https://git.sparrowcomm.com/mayx/blog
115 https://git.hubhoo.com/mayx/blog
116 https://git.ultra.pub/mayx/blog
117 http://27.124.12.222:3000/mayx/blog
118 https://saga.iao.ru:3043/mayx/blog
119 https://git.sayndone.ru/mayx/blog
120 https://gitea.hintsight.com/mayx/blog
121 https://anzsco.co.nz/mayx/blog
122 https://git.valami.giize.com/mayx/blog
123 https://git.simbarbet.com/mayx/blog
124 https://git.saintdoggie.org/mayx/blog
125 http://blackobelisk.xyz:3000/mayx/blog
126 https://git.dushes.keenetic.pro/mayx/blog
127 http://47.129.22.53:22345/mayx/blog
128 https://git.tech.troyrc.com/mayx/blog
129 http://git.zkyspace.top/mayx/blog
130 http://149.88.87.128:3000/mayx/blog
131 http://124.70.167.140:3000/mayx/blog
132 http://8.137.38.60:8201/mayx/blog
133 http://112.74.106.216:3000/mayx/blog
134 http://77.223.118.106:8081/mayx/blog
135 https://git.the-kn.com/mayx/blog
136 https://gitea.net50.ne.jp/mayx/blog
137 https://git.ism-dev.net/mayx/blog
138 http://sinzero.xyz:3000/mayx/blog
139 https://gitea.b54.co/mayx/blog
140 https://git.matevi.sh/mayx/blog
141 http://213.35.118.215:60001/mayx/blog
142 https://git.jasonpittman.com/mayx/blog
143 https://gitea.shirom.me/mayx/blog
144 http://1.95.221.174:3000/mayx/blog
145 https://git.wangxinlei.cn/mayx/blog
146 http://101.200.74.121:3000/mayx/blog
147 http://123.56.193.182:3000/mayx/blog
148 http://60.204.131.99:3000/mayx/blog
149 http://femail.email:8418/mayx/blog
150 http://47.93.56.66:8080/mayx/blog
151 http://167.172.7.198:8081/mayx/blog
152 https://gitea.meetgu.ru/mayx/blog
153 https://git.patrich.se/mayx/blog
154 http://116.236.50.103:8789/mayx/blog
155 https://git.paulll.cc/mayx/blog
156 https://gitea.reimann.ee/mayx/blog
157 http://109.74.197.189/mayx/blog
158 https://git.nussi.net/mayx/blog
159 http://94.224.160.69:7990/mayx/blog
160 https://git.hxps.ru/mayx/blog
161 https://gitea.ekjeong.synology.me/mayx/blog
162 https://git.d4m13n.dev/mayx/blog
163 https://git.4lcap.com/mayx/blog
164 https://git.stit.tech/mayx/blog
165 https://www.9miao.fun:6839/mayx/blog
166 https://git.autotion.net/mayx/blog
167 http://octifor.synology.me:53000/mayx/blog
168 https://git.daoyoucloud.com/mayx/blog
169 https://git.entryrise.com/mayx/blog
170 https://code.bitahub.com/mayx/blog
171 https://git.daneric.dev/mayx/blog
172 http://malingshu.site:6010/mayx/blog
173 https://repo.gusdya.net/mayx/blog
174 https://gitea.tmartens.dev/mayx/blog
175 http://218.206.106.50:19901/mayx/blog
176 https://git.slegeir.com/mayx/blog
177 https://git.kimcblog.com/mayx/blog
178 https://git.minaev.su/mayx/blog
179 https://git.0fs.ru/mayx/blog
180 https://git.bremauer.cc/mayx/blog
181 http://119.3.29.177:3000/mayx/blog
182 http://47.110.224.240:13000/mayx/blog
183 http://194.67.86.160:3100/mayx/blog
184 http://47.101.58.33:3000/mayx/blog
185 https://gitea.synapsetec.cn/mayx/blog
186 http://gitea.yunshanghub.com:8081/mayx/blog
187 https://repo.c-software.id/mayx/blog
188 http://113.177.27.200:2033/mayx/blog
189 http://152.69.204.151:3000/mayx/blog
190 http://207.180.229.193:3001/mayx/blog
191 https://g2.m8il.in/mayx/blog
192 http://34.81.52.16/mayx/blog
193 http://120.78.74.94:3000/mayx/blog
194 https://git.genowisdom.cn/mayx/blog
195 http://120.26.116.243:3000/mayx/blog
196 http://123.57.16.111:3000/mayx/blog
197 http://115.159.107.117:3000/mayx/blog
198 http://116.62.115.84:3000/mayx/blog
199 https://Cagit.Cacode.net/mayx/blog
200 http://wingsing.net:3000/mayx/blog
201 http://hgngit.ipdz.me/mayx/blog
202 http://185.163.116.39:49153/mayx/blog
203 https://gitea.onfing.ir/mayx/blog
204 https://lius.familyds.org:3000/mayx/blog
205 https://git.morozoff.pro/mayx/blog
206 https://gitea.questline.coop/mayx/blog
207 https://git.poggerer.xyz/mayx/blog
208 https://git.wisptales.org/mayx/blog
209 http://git.chaojing-film.com:3000/mayx/blog
210 https://git.nusaerp.com/mayx/blog
211 http://35.207.205.18:3000/mayx/blog
215 http://121.36.37.70:15501/mayx/blog
216 http://187.216.152.151:9999/mayx/blog
217 http://116.63.173.179:8001/mayx/blog
218 https://git.iop.plus/mayx/blog
219 http://47.114.82.162:3000/mayx/blog
220 http://114.116.79.196/mayx/blog
221 https://gitea.cybs.io/mayx/blog
222 https://gitea.fcliu.net/mayx/blog
223 http://git.yinas.cn/mayx/blog
224 http://git.chilidoginteractive.com:3000/mayx/blog
225 http://121.40.40.177:3000/mayx/blog
226 http://118.31.223.224:3000/mayx/blog
227 http://voicebot.digitalakademie-bw.de:3000/mayx/blog
228 http://178.254.35.219:3000/mayx/blog
229 http://114.215.207.150:3000/mayx/blog
230 http://2.59.132.109:3001/mayx/blog
231 http://newslabx.csie.ntu.edu.tw:3000/mayx/blog
232 http://81.71.148.57:8080/mayx/blog
233 https://git.lmskaran.com/mayx/blog
234 http://sdgit.zfmgr.top/mayx/blog
235 http://154.86.0.30:3000/mayx/blog
236 http://139.224.196.148:3000/mayx/blog
237 https://omegat.dmu-medical.de/mayx/blog
238 http://52.23.128.62:3000/mayx/blog
239 http://85.214.41.219:49153/mayx/blog
240 http://6068688.xyz:3000/mayx/blog
241 https://git.881221.xyz/mayx/blog
242 http://120.46.222.128:10021/mayx/blog
243 http://120.26.108.239:9188/mayx/blog
244 https://git.van-peeren.de/mayx/blog
245 http://git.gkcorp.com.vn:16000/mayx/blog
246 http://47.111.17.177:3000/mayx/blog
247 https://k0ki-dev.com/mayx/blog
248 http://110.42.45.89:2052/mayx/blog
249 https://git.furcom.org/mayx/blog
250 http://47.109.95.73:3000/mayx/blog
251 http://8.133.240.249:3456/mayx/blog
252 http://34.102.70.200:3000/mayx/blog
253 http://175.178.219.170:3000/mayx/blog
254 https://code.miraclezhb.com/mayx/blog
255 http://blueroses.top:8888/mayx/blog
256 http://47.112.118.149:10082/mayx/blog
257 https://gitea.jobiglo.com/mayx/blog
258 http://begild.top:8418/mayx/blog
259 http://58.221.13.198:30010/mayx/blog
260 https://git.tbaer.de/mayx/blog
261 https://git.d-popov.com/mayx/blog
262 https://git.liliyamol.cn/mayx/blog
263 http://8.138.90.28:3000/mayx/blog
264 https://gitea.theaken.com/mayx/blog
265 https://git.ja-schwarz.de/mayx/blog
266 https://git.xemo-net.de/mayx/blog
267 https://git.23cm.cn/mayx/blog
268 https://gitea.oio.cat/mayx/blog
269 http://59.110.17.86:3000/mayx/blog
270 https://git.karma-riuk.com/mayx/blog
271 https://git.saidomar.fr/mayx/blog
272 http://gitea.fcunb.cn:10083/mayx/blog
273 http://47.107.152.87:3000/mayx/blog
274 https://git.sduonline.cn/mayx/blog
275 https://git.7o9o.net/mayx/blog
276 https://dev.init.zone/mayx/blog
277 https://git.baneynet.net/mayx/blog
278 https://git.gupaoedu.cn/mayx/blog
279 http://60.205.233.184:3010/mayx/blog
280 https://git.ricecakecat.com/mayx/blog
281 https://gittea.biveki.ru/mayx/blog
282 https://git.7milch.com/mayx/blog
283 https://git.sitenevis.com/mayx/blog
284 https://git.nightime.org/mayx/blog
285 https://dreamplacesai.de/mayx/blog
286 https://git.cool2645.com/mayx/blog
287 http://185.87.111.46:3000/mayx/blog
288 http://suncheng.asia:14200/mayx/blog
289 http://1.94.13.224:9080/mayx/blog
290 https://auric-org.org/mayx/blog
291 https://git.git-happens.de/mayx/blog
292 http://101.35.183.241/mayx/blog
293 https://gitea.quiztimes.nl/mayx/blog
294 http://106.14.189.125:3000/mayx/blog
295 https://git.hundseth.com/mayx/blog
296 https://travgit.guillorystack.com/mayx/blog
297 http://gitea.coderpath.com/mayx/blog
298 https://gitea.thanh0x.com/mayx/blog
299 http://175.198.180.19:3000/mayx/blog
300 https://gitea.albanmary.com/mayx/blog
301 http://ngtools.cn:53000/mayx/blog
302 https://git.hantify.ru/mayx/blog
303 http://43.136.169.169:3000/mayx/blog
304 http://121.196.213.68:3000/mayx/blog
305 https://git.vereint-digital.de/mayx/blog
306 https://git.advarna.fr/mayx/blog
307 http://111.198.4.69:8092/mayx/blog
308 https://git.lakaweb.com/mayx/blog
309 https://forge.coreymclark.com/mayx/blog
310 http://ems.iclematis.com:30000/mayx/blog
311 https://git.micahmoore.io/mayx/blog
312 https://schokigeschmack.de/mayx/blog
313 https://git.anatid.net/mayx/blog
314 https://git.lekai.info/mayx/blog
315 https://git.avclick.ru/mayx/blog
316 http://135.235.225.198:3000/mayx/blog
317 https://git.sick.earth/mayx/blog
318 https://git.prayujt.com/mayx/blog
319 https://git.galaxylabs.ca/mayx/blog
320 https://gitlab.n8n-store.xyz/mayx/blog
321 https://gitea.katiethe.dev/mayx/blog
322 http://159.203.33.179:3000/mayx/blog
323 http://117.72.114.197:3000/mayx/blog
324 https://git.ashcloud.com/mayx/blog
325 http://us2.fornoone.top:3000/mayx/blog
326 https://git.novaa.xyz/mayx/blog
327 http://101.46.208.93:3000/mayx/blog
328 http://23.94.57.60:3000/mayx/blog
329 https://watch.mommys.plumbing/mayx/blog
330 https://devkona.net/mayx/blog
331 https://gitea.avixc-nas.myds.me/mayx/blog
332 https://gitea.chaopi.dev/mayx/blog
333 http://sjhome.cloud:3000/mayx/blog
334 https://gitea.sciotech.cn/mayx/blog
335 http://8.148.220.5:8089/mayx/blog
336 http://8.140.250.85:3000/mayx/blog
337 http://8.134.11.35:3000/mayx/blog
338 https://git.ctx.dev/mayx/blog
339 https://nas.szwyll.com:3000/mayx/blog
340 https://git.koppa.pro/mayx/blog
341 http://202.65.194.19:3000/mayx/blog
342 http://8.148.234.146:3001/mayx/blog
343 http://www.bzturbo.com.br/mayx/blog
344 https://git.maiasoft.jp/mayx/blog
345 https://gitea.xala.dev/mayx/blog
346 http://101.201.34.43:3000/mayx/blog
347 https://git.ixu.me/mayx/blog
348 https://git.gloje-rinchen-dorjee-rinpoche-buddhist-monastery.org/mayx/blog
349 http://101.35.227.2:3000/mayx/blog
350 http://175.126.123.163:3000/mayx/blog
351 https://vw-git.senecasense.com/mayx/blog
352 http://git.uhfdemo.com/mayx/blog
353 http://47.108.217.75:3000/mayx/blog
354 https://git.jakubzabski.pl/mayx/blog
355 https://www.git.omezaldama.xyz/mayx/blog
356 https://vila.go.ro/mayx/blog
357 https://git.olyntec.com/mayx/blog
358 http://8.134.218.17:8013/mayx/blog
359 http://124.223.89.168:8080/mayx/blog
360 http://139.129.21.166:3000/mayx/blog
361 http://111.231.240.168:9082/mayx/blog
362 https://git.afonsosoares.com/mayx/blog
363 http://209.141.47.52:3000/mayx/blog
364 https://git.apfern.com/mayx/blog
365 http://dapainas.asia:5990/mayx/blog
366 http://60.204.158.188:3000/mayx/blog
367 https://zqz5.com/mayx/blog
368 https://git.3dizart.ru/mayx/blog
369 http://119.3.252.2:3000/mayx/blog
370 http://60.204.156.211:3000/mayx/blog
371 https://git.yukaige.com/mayx/blog
372 http://nas.bi1kbu.com:8418/mayx/blog
373 http://123.56.74.235:3000/mayx/blog
374 http://1.94.178.207:3000/mayx/blog
375 https://gitea.tsaida.synology.me/mayx/blog
376 http://xapple.ru:3000/mayx/blog
377 https://git.teygaming.com/mayx/blog
378 https://git.alhsk.top/mayx/blog
379 http://8.138.4.170:8980/mayx/blog
380 http://210.211.116.85:3000/mayx/blog
381 http://osztromok.com:3164/mayx/blog
382 http://175.209.53.134:3030/mayx/blog
383 http://118.163.190.249:3000/mayx/blog
384 http://39.107.226.169:3000/mayx/blog
385 https://git.ueda.sk/mayx/blog
386 http://113.45.76.155:3000/mayx/blog
387 http://168.138.196.70:3000/mayx/blog
388 http://39.96.211.118:3000/mayx/blog
389 http://47.103.100.52:3000/mayx/blog
390 http://5.189.140.23:8080/mayx/blog
391 http://121.37.47.20:3000/mayx/blog
392 https://git.antropix.dev/mayx/blog
393 http://15.237.198.144/mayx/blog
394 http://123.249.119.122:3000/mayx/blog
395 http://183.6.120.101:30000/mayx/blog
396 http://134.122.173.191:3000/mayx/blog
397 http://8.138.81.5:3000/mayx/blog
398 https://xgit.tsuimg.top/mayx/blog
399 http://123.60.156.158:13000/mayx/blog
400 http://57.129.94.190:3000/mayx/blog
401 https://gitea.micro-stack.org/mayx/blog
402 http://101.132.160.67:3000/mayx/blog
403 https://gitea.temp.brentgruber.com/mayx/blog
404 http://47.102.147.170:3050/mayx/blog
405 http://209.38.235.254:3000/mayx/blog
406 http://172.236.250.154:3000/mayx/blog
407 http://54.198.134.152:3000/mayx/blog
408 http://121.41.35.226:11011/mayx/blog
409 http://47.111.1.12:3000/mayx/blog
410 https://nelgit.nelpi.co.uk/mayx/blog
411 http://47.108.156.251:3000/mayx/blog
412 http://8.141.91.86:3000/mayx/blog
413 http://8.138.187.132:3000/mayx/blog
414 http://117.72.15.187:3000/mayx/blog
415 http://81.70.30.91:3000/mayx/blog
416 https://gitea.kisechan.space/mayx/blog
417 http://140.238.9.133:3007/mayx/blog
418 http://8.138.100.115:3000/mayx/blog
419 https://git.mwapp.com.br/mayx/blog
420 http://yidaima.cn:6008/mayx/blog
421 http://185.126.237.57:3000/mayx/blog
422 http://47.97.50.232:3000/mayx/blog
423 http://106.54.211.95:3000/mayx/blog
424 http://210.245.20.73:3333/mayx/blog
425 http://43.248.97.109:3000/mayx/blog
426 http://113.207.86.104:3080/mayx/blog
427 http://down.luanhailiang.cn:9000/mayx/blog
428 http://39.96.195.72:10082/mayx/blog
429 https://gitea.klopfenstein.org/mayx/blog
430 http://8.148.24.160:3000/mayx/blog
431 https://221.219.181.35:30000/mayx/blog http://221.219.181.35:30000/mayx/blog
432 http://172.172.102.93:3000/mayx/blog
433 http://139.196.179.195:3000/mayx/blog
434 http://115.120.245.164:3000/mayx/blog
435 http://120.27.19.58:30000/mayx/blog
436 https://gitea.suchodupin.com/mayx/blog
437 http://117.72.219.18:6000/mayx/blog
438 http://35.194.179.90:3000/mayx/blog
439 http://188.245.173.247:3080/mayx/blog
440 http://8.153.14.94:61308/mayx/blog
441 http://66.179.208.56:3001/mayx/blog
442 http://59.110.63.79:13000/mayx/blog
443 http://59.110.63.80:3000/mayx/blog
444 http://121.43.60.72:9015/mayx/blog
445 http://171.80.13.66:9112/mayx/blog
446 http://211.22.221.188:3000/mayx/blog
447 http://223.108.157.174:3000/mayx/blog
448 http://120.24.249.56/mayx/blog
449 http://47.100.90.152:3000/mayx/blog
450 http://120.24.251.176:30000/mayx/blog
451 http://121.196.237.108:3000/mayx/blog
452 http://g.gamesns.cn:3000/mayx/blog
453 http://54.179.203.2:3000/mayx/blog
454 http://14.103.246.124:16000/mayx/blog
455 https://mygit.kikyps.com/mayx/blog
456 http://152.42.207.183:3000/mayx/blog
457 http://47.99.60.81:10082/mayx/blog
458 http://120.211.66.170:8418/mayx/blog
459 http://187.189.244.23:3000/mayx/blog
460 http://58.176.21.43:9004/mayx/blog
461 https://gitea.vilcap.com/mayx/blog
462 http://8.137.94.229:3000/mayx/blog
463 http://121.196.245.62/mayx/blog
464 http://47.102.209.69:53000/mayx/blog
465 http://116.205.97.109:3000/mayx/blog
466 https://gitea.ysme.top/mayx/blog
467 http://8.140.242.230:3000/mayx/blog
468 http://8.138.142.17:3000/mayx/blog
469 http://47.95.31.56:20080/mayx/blog
470 http://123.56.231.200:3000/mayx/blog
471 http://113.46.142.74:3000/mayx/blog
472 http://www.koelndom.cn:13030/mayx/blog
473 http://209.127.59.74:3000/mayx/blog
474 https://git.dotb.cloud/mayx/blog
475 https://git.bigdalang.com/mayx/blog
476 https://gitea.augeo.dev/mayx/blog
477 http://120.46.23.215:3000/mayx/blog
478 http://121.41.2.71:3000/mayx/blog
479 http://8.138.242.82:8888/mayx/blog
480 http://110.41.177.80:5000/mayx/blog
481 https://gitea.dsmaster.myds.me/mayx/blog
482 http://intechrnd.iptime.org:3000/mayx/blog
483 https://gitea.primecontrols-dev.com/mayx/blog
484 http://39.104.61.219:3000/mayx/blog
485 http://www.scserverddns.top:13000/mayx/blog
486 http://156.255.1.229:3000/mayx/blog
487 https://git.ndpcloud.ru/mayx/blog
488 https://gitea.va-comer.net/mayx/blog
489 https://git.lucas-michel.fr/mayx/blog
490 http://60.205.162.59:3000/mayx/blog
491 https://git.imvictor.tech:2/mayx/blog
492 https://git.pwcedge-sbs-innov-lab.com/mayx/blog
493 http://47.112.137.193:3000/mayx/blog
494 https://gitea.malin.onl/mayx/blog
495 http://58.38.123.148:3176/mayx/blog
496 http://docker.clhero.fun:3000/mayx/blog
497 http://42.193.251.215:3000/mayx/blog
498 https://bdgit.educoder.net/mayx/blog
499 http://e19510c831.iok.la/mayx/blog
500 https://www.nxgit.xyz/mayx/blog
501 http://119.45.49.212:3000/mayx/blog
502 https://git.synapsenet.net/mayx/blog
503 https://gitea.kdlsvps.top/mayx/blog
504 http://deiniusoft.com:3000/mayx/blog
505 https://code.antopie.org/mayx/blog
506 http://c6h5gp.top:3000/mayx/blog
507 https://git.serenetia.com/mayx/blog
508 https://tm-jikayo.com/mayx/blog
509 https://vcs.cozydsp.space/mayx/blog
510 http://43.162.113.116:3000/mayx/blog
511 http://8.129.11.230:7002/mayx/blog
512 http://115.190.107.87:3000/mayx/blog
513 https://git.hast.one/mayx/blog
514 http://106.12.50.144:8081/mayx/blog
515 http://43.192.90.133/mayx/blog
516 http://120.77.94.227:9999/mayx/blog
517 https://code.wxk8.com/mayx/blog
518 http://www.befitsoft.com/mayx/blog
519 http://36.213.200.127:23000/mayx/blog
520 http://8.155.58.218:9000/mayx/blog
521 http://fanlibo.i234.me:8418/mayx/blog
522 https://git.christophhagen.de/mayx/blog
523 http://rito.synology.me:3000/mayx/blog
524 http://www.dothing.com:6999/mayx/blog
525 http://8.217.32.95:3000/mayx/blog
526 https://git.temporaryname.org/mayx/blog
527 https://git.loli.surf/mayx/blog
528 https://Repo.gusdya.net/mayx/blog
529 https://git.m.ctf.arrobe.fr/mayx/blog
530 http://120.27.238.24:3000/mayx/blog
531 https://code.diekabuths.dynu.net/mayx/blog
532 http://69.62.64.52:3333/mayx/blog
533 https://git.flymiracle.com/mayx/blog
534 https://git.scene.to/mayx/blog
535 https://git.auwiesen2.de/mayx/blog
536 http://naughtycat.biz:3333/mayx/blog
537 https://git.p1.bitstorm.co.nz/mayx/blog
538 https://www.yalecheung.top:1024/mayx/blog
539 http://39.105.67.143:3000/mayx/blog
540 https://gitea.manekenbrand.com/mayx/blog
541 https://gitea.eabor.xyz/mayx/blog
542 http://106.14.138.181:3000/mayx/blog
543 https://git.adalspace.com/mayx/blog
544 https://git.yyuu.xyz/mayx/blog
545 http://39.107.70.124:3000/mayx/blog
546 http://huanghomenas2.myqnapcloud.com:4000/mayx/blog
547 http://218.237.212.51:30003/mayx/blog
548 http://gitea.huangyanjie.com/mayx/blog
549 https://git.stormrain.cn/mayx/blog
550 https://git.deuxfleurs.fr/mayx/blog
551 https://www.simpra.org:3000/mayx/blog
552 http://8.148.31.14:3000/mayx/blog
553 http://55x.top:9300/mayx/blog
554 https://gitea.lelespace.top/mayx/blog
555 https://git.lmbrs.org/mayx/blog
556 https://fj.sinesation.com/mayx/blog
557 http://47.94.246.1:3000/mayx/blog
558 http://103.87.67.60:3100/mayx/blog
559 https://docker-registry-lszz.uj.com.tw/mayx/blog
560 https://git.honulla.com/mayx/blog
561 https://www.arcbyte.dev/mayx/blog
562 http://45.144.30.78:8083/mayx/blog
563 https://git.nihil.foo/mayx/blog
564 https://scm.bcorex.e3labs.net/mayx/blog
565 http://167.172.88.190:3000/mayx/blog
566 http://58.17.14.95:8001/mayx/blog
567 https://hero-cloud-stg-code.cnbita.com/mayx/blog
568 https://git.darkmattergame.net/mayx/blog
569 http://101.37.69.204:3000/mayx/blog
570 http://jacksonhampton.com:3000/mayx/blog
571 https://git.jaronnie.com/mayx/blog
572 https://gitea.tecamino.com/mayx/blog
573 http://39.99.175.172:8000/mayx/blog
574 http://8.138.13.251:3000/mayx/blog
575 http://47.115.223.229:8888/mayx/blog
576 http://47.105.59.0:5132/mayx/blog
577 https://git.veran.link/mayx/blog
578 http://104.254.131.244:3000/mayx/blog
https://gitea.alacloud.de/mayx/blog
https://git.tobiasweise.dev/mayx/blog
https://code.cif.su/mayx/blog
https://git.cynic.moe/mayx/blog
https://git.muellers-software.org/mayx/blog
http://8.130.128.130:3000/mayx/blog
https://repos.fbpx.io/mayx/blog
https://git.cavemanon.xyz/mayx/blog
http://svn.rivastudio.cn/mayx/blog
https://kamtk.ru:4000/mayx/blog
http://39.98.126.115:8080/mayx/blog
http://46.202.189.66:3000/mayx/blog
http://82.26.157.11:3001/mayx/blog
http://123.60.146.54:3000/mayx/blog
http://8.140.248.67:3000/mayx/blog
http://118.178.172.49:3000/mayx/blog
https://gitea.lasallesaintdenis.com/mayx/blog
http://123.57.225.51:3000/mayx/blog
http://8.130.135.159:3000/mayx/blog
https://git.suo0.com/mayx/blog
http://103.228.160.127:3100/mayx/blog
https://git.dshkabatur.ru/mayx/blog
https://gitea.hoba.dedyn.io/mayx/blog
https://git.wegoo.ltd/mayx/blog
http://114.203.209.83:3000/mayx/blog
http://47.100.111.106:3000/mayx/blog
http://47.103.78.70:3000/mayx/blog
http://47.100.208.160:51300/mayx/blog
http://113.44.218.8:3000/mayx/blog
https://git.cenoq.com/mayx/blog
http://8.152.205.35:3000/mayx/blog
http://120.210.80.160:3000/mayx/blog
http://1.95.192.200:59300/mayx/blog
https://git.medis.com.vn/mayx/blog
http://194.5.152.156:3000/mayx/blog
http://8.155.172.147:3001/mayx/blog
https://git.erfmann.dev/mayx/blog
https://git.weavefun.com:5443/mayx/blog
https://git.vajdak.cz/mayx/blog
http://58.65.162.118:3000/mayx/blog
https://git.arkon.solutions/mayx/blog
http://8.131.93.145:54082/mayx/blog
http://111.9.31.174:10007/mayx/blog
https://forgejo.bridgetownrb.com/mayx/blog
http://54.199.96.217:3000/mayx/blog
http://20.219.0.85:3000/mayx/blog
https://dev01.open-alt.com/mayx/blog
https://gitea.doinlab.com/mayx/blog
https://git.7af.ru/mayx/blog
https://gitea.yimoyuyan.cn/mayx/blog
https://git.apextoaster.com/mayx/blog
https://hub.open-verse.ai/mayx/blog
http://221.203.14.217:3000/mayx/blog
https://git.sophiagwen.au/mayx/blog
http://139.196.96.28:13000/mayx/blog
https://dev.kiramtech.com/mayx/blog
https://git.ihatemen.uk/mayx/blog
https://git.123doit.com/mayx/blog
http://62.43.207.91:8889/mayx/blog
https://rsas.de/mayx/blog
https://git.johntsai.online/mayx/blog
https://gitea.css-sistemas.com.br/mayx/blog
https://git.f4e.lol/mayx/blog
http://47.113.145.232:3000/mayx/blog
http://47.115.212.237:3000/mayx/blog
http://72.61.229.93:4000/mayx/blog
https://git.yinbonet.cn/mayx/blog
https://lishan148.synology.me:3014/mayx/blog_cn
http://1.95.221.174:3000/mayx/blog
https://git.huwhy.cn/mayx/blog_cn
http://119.91.35.154:3000/mayx/blog_cn
http://110.42.101.39:13000/mayx/blog_cn
http://39.101.74.135:5000/mayx/blog_cn
http://124.236.46.74:9103/mayx/blog_cn
http://123.57.130.140:3000/mayx/blog_cn
http://112.124.49.128:3000/mayx/blog_cn
http://118.24.46.223:3000/mayx/blog_cn
http://s3.v100.vip:31057/mayx/blog_cn
https://www.syq.im:2025/mayx/blog_cn
http://101.33.225.95:3000/mayx/blog_cn
http://45.55.138.82:3000/mayx/blog_cn
http://82.156.121.2:3000/mayx/blog_cn
http://118.24.129.148:3000/mayx/blog_cn
http://58.241.155.106:10140/mayx/blog_cn
http://120.48.141.82:3000/mayx/blog_cn
http://61.178.84.89:8998/mayx/blog_cn
http://82.156.111.58:3000/mayx/blog_cn
https://git.saike.fun:9755/mayx/blog_cn
https://git.cool2645.com/mayx/blog_cn
http://1.95.173.44:3000/mayx/blog_cn
http://58.221.157.122:3000/mayx/blog_cn
https://gitlab.liruwei.cn/mayx/blog_cn
http://61.190.74.90:9900/mayx/blog_cn
http://49.234.27.222:3000/mayx/blog_cn
http://8.153.70.81:30001/mayx/blog_cn
http://175.27.229.211:3000/mayx/blog_cn
http://106.55.174.214:3000/mayx/blog_cn
https://git.yidaimingjvn.xyz/mayx/blog_cn
http://39.105.67.143:3000/mayx/blog_cn
http://8.140.232.131:8100/mayx/blog_cn
http://82.156.89.21:3000/mayx/blog_cn
https://git.sskuaixiu.com/mayx/blog_cn
http://xujiesoft.vicp.net:3000/mayx/blog_cn
http://113.44.36.103:23000/mayx/blog_cn
https://git.mingliqiye.com/mayx/blog_cn
http://119.29.194.155:8894/mayx/blog_cn
http://58.213.60.6:19000/mayx/blog_cn
http://36.153.162.171:3000/mayx/blog_cn
http://47.92.113.131:3000/mayx/blog
http://gyc.myds.me:4000/mayx/blog
https://git.tablet.sh/mayx/blog
https://git.gnyra.com/mayx/blog
https://git.graveyard.sh/mayx/blog
https://git.nathanspackman.com/mayx/blog
https://git.rmarl.in/mayx/blog
http://git.qniao.cn/mayx/blog
https://git.fast-blast.uk/mayx/blog
http://git.mynas71.myds.me/mayx/blog
https://git.4lsa.com/mayx/blog
https://rlgit.pro/mayx/blog
https://git.veraskolivna.net/mayx/blog
https://git.lifetop.net/mayx/blog
https://gitea.jnyuxia.com/mayx/blog
http://git.liuhung.com/mayx/blog
https://git.secretserver.club/mayx/blog
https://gitea.adber.tech/mayx/blog
https://gitea.hello.faith/mayx/blog
https://tea.neuron.my/mayx/blog
https://git.violka-it.net/mayx/blog
https://git.adityagupta.dev/mayx/blog
https://git.danpeak.co.uk/mayx/blog
https://gitea.mynas-lechner.de/mayx/blog
https://git.automathon.org/mayx/blog
https://aeterna.cim.mcgill.ca/mayx/blog
https://git.esen.gay/mayx/blog
https://git.webtims.ru/mayx/blog
https://gitea.personalsoftware.space/mayx/blog
http://gitea.yiban.com.tw:3030/mayx/blog
https://gitlab.iplusus.com/mayx/blog
https://git.cyberuk.me/mayx/blog
https://git.privezishop.ru/mayx/blog
https://gitea.zachl.tech/mayx/blog
https://git.miasma-os.com/mayx/blog
https://gitea.nacsity.cn/mayx/blog
https://gitea.diputadosalta.gob.ar/mayx/blog
https://ttym.space/mayx/blog
https://getskill.work/mayx/blog
https://suprasage.com/mayx/blog
https://git.zakum.cn/mayx/blog
https://gitea.amazingcoders.com/mayx/blog
https://gitea.kamilklecha.dev/mayx/blog
http://47.109.103.110:9000/mayx/blog_cn
http://47.105.124.101:3000/mayx/blog_cn
http://49.232.183.190:3000/mayx/blog_cn
http://git.zxkedu.com:33769/mayx/blog_cn
https://code.wemediacn.com/mayx/blog_cn
https://gitea.shizuka.icu/mayx/blog_cn
http://43.139.2.237:3000/mayx/blog_cn
http://51.159.198.233:3000/mayx/blog
https://gitea.adriangonzalezbarbosa.eu/mayx/blog
https://git.legatus.ru/mayx/blog
https://git.kayashov.keenetic.pro/mayx/blog
http://43.138.83.20:3000/mayx/blog_cn
http://47.104.241.192:19999/mayx/blog_cn
http://47.98.148.146:1026/mayx/blog_cn
http://119.96.62.56:3000/mayx/blog_cn
http://101.42.28.156:3000/mayx/blog_cn
http://106.55.0.66:31807/mayx/blog_cn
https://gitea.gentronhealth.com/mayx/blog_cn
http://43.143.209.246:6300/mayx/blog_cn
http://152.136.158.133:36512/mayx/blog_cn
http://yidaima.cn:6008/mayx/blog_cn
http://47.113.101.80:3000/mayx/blog_cn
http://82.156.98.34:3000/mayx/blog_cn
http://zgd.synology.me:8418/mayx/blog_cn
https://git.zguiy.com/mayx/blog_cn
http://58.221.216.202:3000/mayx/blog_cn
http://39.100.183.95:88/mayx/blog_cn
http://www.xshideserver.com:3000/mayx/blog_cn
http://124.223.54.62:28/mayx/blog_cn
http://159.75.131.235:3001/mayx/blog_cn
http://1.117.67.95:3000/mayx/blog_cn
http://103.236.53.208:3000/mayx/blog_cn
http://118.195.135.194:3000/mayx/blog_cn
http://81.70.102.154/mayx/blog_cn
http://154.8.164.149:3000/mayx/blog_cn
http://111.228.34.40:3000/mayx/blog_cn
http://82.156.249.211:3000/mayx/blog_cn
http://36.133.248.69:3088/mayx/blog_cn
http://220.205.16.27:18081/mayx/blog_cn
http://81.69.221.216:3000/mayx/blog_cn
http://115.159.194.75:4000/mayx/blog_cn
http://183.204.60.122:10081/mayx/blog_cn
http://43.139.240.37:17000/mayx/blog_cn
http://159.75.27.114:3000/mayx/blog_cn
http://arcreya.top/mayx/blog_cn
https://code.tczkiot.com/mayx/blog_cn
http://111.170.153.123:3000/mayx/blog_cn
http://xeroworld.team/mayx/blog_cn
https://gitea.wuyuank.com/mayx/blog_cn
http://47.117.245.9:17701/mayx/blog_cn
https://git.sunlix.one/mayx/blog_cn
http://47.106.222.181:20511/mayx/blog_cn
http://101.43.95.130:3001/mayx/blog_cn
http://39.101.170.62:9080/mayx/blog_cn
https://gitea.myat4.com/mayx/blog_cn
http://118.24.161.24:3000/mayx/blog_cn
http://githanea.s.odn.cc/mayx/blog_cn
https://git.dev.chuweizi.com/mayx/blog
http://35.175.189.8/mayx/blog
http://meowug.com:8418/mayx/blog_cn
http://36.138.125.206:3000/mayx/blog_cn
https://git.4lcap.com/mayx/blog_cn
http://101.43.238.71:3000/mayx/blog_cn
http://59.110.175.62:4322/mayx/blog_cn
https://www.luluvip.cn:8419/mayx/blog_cn
http://xianyuhome.cn:11013/mayx/blog_cn
https://git.chatumbrella.online/mayx/blog
https://silica.codes/mayx/blog
https://git.crystalyx.net/mayx/blog
https://gittea.dev/mayx/blog
https://git.newnaturalphilosophy.org/mayx/blog
http://mrjinit.com:3000/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://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
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
http://huanghomenas2.myqnapcloud.com:4000/mayx/blog_cn
http://43.142.166.108:10082/mayx/blog_cn
https://git.ueda.sk/mayx/blog_cn
https://tm-jikayo.com/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.powerdata.dk/mayx/blog
http://ydds.cloud:3000/mayx/blog_cn
http://120.24.50.145:3000/mayx/blog_cn
https://code.draussenfunker.de/mayx/blog_cn
https://git.dinsor.co.th/mayx/blog
https://ofibohost.com/mayx/blog
https://lab.iishka.net/mayx/blog
http://www.arkproject.top/mayx/blog
http://www.bkandssp.cn:30/mayx/blog
https://gitea.spitaki.cloud/mayx/blog
https://git.codle.ru/mayx/blog
https://git.sao.ru/mayx/blog
https://codeop.ru/mayx/blog
https://git.mirocom.org/mayx/blog
http://gitea.ydxtool.com/mayx/blog
http://18.167.251.121:10003/mayx/blog
http://39.98.171.121:53000/mayx/blog
https://gitea.malxte.de/mayx/blog
https://git.nizart.me/mayx/blog
https://git.ddns.net/mayx/blog
http://222.85.214.245:9776/mayx/blog
https://git.kraevsky.ru/mayx/blog
https://ruyiscx.cloud:3000/mayx/blog
https://git.0xee.eu/mayx/blog
https://gitea.deitglobal.com/mayx/blog
https://www.mygitea.ru/mayx/blog
https://git.crwlr.ir/mayx/blog
https://git.nozora.top/mayx/blog
https://git.sortug.com/mayx/blog
https://aivyx-gitea.cloud/mayx/blog
https://git.edenit.co.kr/mayx/blog
https://git.catgirlsneed.homes/mayx/blog
https://git.eldev.netcraze.pro/mayx/blog
http://110.41.184.238:3000/mayx/blog
http://47.108.255.216:3000/mayx/blog_cn
https://gitea.molietech.com/mayx/blog_cn
http://58.87.88.234:3000/mayx/blog_cn
http://210.75.240.13:3000/mayx/blog_cn
https://git.xz-i.com:30443/mayx/blog_cn
http://111.229.64.148:8080/mayx/blog_cn
https://git.fynn.vip/mayx/blog_cn
http://119.91.212.17:3000/mayx/blog_cn
http://git.hbg99.com:8080/mayx/blog_cn
https://git.eplg.services/mayx/blog
http://89.167.38.168:3001/mayx/blog
http://namonba.asuscomm.com:3001/mayx/blog
http://109.199.98.226:3001/mayx/blog
https://git.extra.eiffel.com/mayx/blog
https://gitea.digitanie.org/mayx/blog
http://124.207.0.162:30000/mayx/blog
https://git.xleed.com/mayx/blog

View File

@ -1,8 +1,6 @@
proxies:
- https://blog.mayx.workers.dev/
- https://mayx.deno.dev/
- https://mayx.val.run/
- https://mayx.azion.app/
- https://yuki.gear.host/
- https://mayx.global.ssl.fastly.net/
mirrors:
@ -13,17 +11,12 @@ mirrors:
- https://mayx.frama.io/
- https://mayx.surge.sh/
- https://mayx.pages.gay/
- https://mayx.gitpage.si/
- https://mayx.serv00.net/
- https://mayx.vercel.app/
- https://mayx-blog.pgs.sh/
- https://mayx.netlify.app/
- https://mayx.gitnet.page/
- https://mayx.stormkit.dev/
- https://mayx.grebedoc.dev/
- https://mayx.pixie.homes/
- https://mabbs.kinsta.page/
- https://mayx.codeberg.page/
- https://mayx.tildepages.org/
- https://mayx.pages.lain.la/
- https://mayx.4everland.app/
- https://mayx.readthedocs.io/
@ -31,10 +24,8 @@ mirrors:
- https://unmayx.bitbucket.io/
- https://mayx.pages.debian.net/
- https://mayx.dappling.network/
- https://mayx-blog.statichost.page/
- https://mayx-blog.statichost.eu/
- https://mabbs-blog.static.hf.space/
- http://mayx.gitlink.net/
- https://mayx.pixie.homes/
repos:
- https://github.com/Mabbs/mabbs.github.io
- https://gitlab.com/mayx/mayx.gitlab.io
@ -43,27 +34,21 @@ repos:
- https://codeberg.org/mayx/blog
- https://pagure.io/mayx
- https://git.gay/mayx/mayx
- https://repo.or.cz/mayx.git
- https://gitea.com/mayx/mayx
- https://gitgud.io/mayx/mayx
- https://git.sr.ht/~mayx/mayx
- https://worktree.ca/mayx/blog
- https://git.launchpad.net/mayx
- https://gin.g-node.org/mayx/blog
- https://tildeforge.dev/mayx/blog
- https://git.disroot.org/mayx/mayx
- https://bitbucket.org/unmayx/mayx
- https://sourcecraft.dev/mayx/mayx
- https://code.forgejo.org/mayx/blog
- https://gitflic.ru/project/mayx/blog
- https://rocketgit.com/user/mayx/blog/
- https://tangled.org/mayx.tngl.sh/blog/
- https://gitee.com/mabbs/mabbs
- https://cnb.cool/unmayx/mayx
- https://atomgit.com/mayx/blog
- https://sourceforge.net/projects/mayx/
- https://dev.azure.com/unmayx/_git/Mayx
- https://www.gitlink.org.cn/mayx/mayx.gitlink.net
static:
- https://mayx.nekoweb.org/
- https://mayx.neocities.org/
@ -77,3 +62,4 @@ others:
- https://mayx.home.blog/
- https://unmayx.medium.com/
- https://mayx.cnblogs.com/
- https://mayx.xlog.app/

View File

@ -9,7 +9,6 @@ layout: xslt_container
<meta name="viewport" content="width=device-width, initial-scale=1" />
{% seo %}
{% if page.robots %}<meta name="robots" content="{{ page.robots }}" />{% endif %}
{% unless site.github %}<link rel="canonical" href="https://mabbs.github.io{{ page.url }}" />{% endunless %}
{% feed_meta %}
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}(RSS)" href="{{ "/rss.xml" | absolute_url }}" />
@ -17,8 +16,6 @@ layout: xslt_container
<link rel="stylesheet" href="/assets/css/style.css?v={{ site.time | date: "%s" }}" />
<!--[if !IE]> -->
<link rel="stylesheet" href="/Live2dHistoire/live2d/css/live2d.css" />
<link rel="stylesheet" href="/assets/css/gitalk.css">
<script src="/assets/js/gitalk.min.js"></script>
<!-- <![endif]-->
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="{{ site.title }}" />
<link rel="webmention" href="https://webmention.io/mabbs.github.io/webmention" />
@ -27,7 +24,6 @@ layout: xslt_container
<link rel="prefetch" href="https://www.blogsclub.org/badge/mabbs.github.io" as="image" />
<link rel="blogroll" type="text/xml" href="/blogroll.opml" />
<link rel="me" href="https://github.com/Mabbs" />
<link type="text/plain" rel="author" href="/humans.txt" />
<script src="/assets/js/jquery.min.js"></script>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
@ -37,15 +33,6 @@ layout: xslt_container
<script>
var lastUpdated = new Date("{{ site.time | date_to_rfc822 }}");
var BlogAPI = "https://summary.mayx.eu.org";
var GitalkConfig = {
clientID: '36557aec4c3cb04f7ac6',
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
repo: 'mabbs.github.io',
owner: 'Mabbs',
admin: ['Mabbs'],
distractionFreeMode: false,
proxy: 'https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token'
};
</script>
<script src="/assets/js/main.js"></script>
<!--[if !IE]> -->
@ -71,13 +58,13 @@ layout: xslt_container
<h1><a class="u-url u-uid p-name" rel="me" href="{{ "/" | relative_url }}">{{ site.title | default: site.github.repository_name }}</a></h1>
{% if site.logo %}
<img src="{{ site.logo }}" fetchpriority="high" class="u-photo" alt="Logo" style="width: 90%; max-width: 300px; max-height: 300px; border-radius: 25%;" />
<img src="{{ site.logo }}" fetchpriority="high" class="u-photo" alt="Logo" style="width: 90%; max-width: 300px; max-height: 300px;" />
{% endif %}
<p class="p-note">{{ site.description | default: site.github.project_tagline }}</p>
<form id="search-input-all" action="/search.html">
<input type="text" name="keyword" placeholder="Search blog posts.." />&#160;<input type="submit" value="搜索" />
<form action="/search.html">
<input type="text" name="keyword" id="search-input-all" placeholder="Search blog posts.." />&#160;<input type="submit" value="搜索" />
</form>
<br />
@ -102,7 +89,7 @@ layout: xslt_container
{% endif %}
</ul>
</header>
<section id="pjax-container"{% unless page.layout == "default" %} class="h-entry"{% endunless %}>
<section{% unless page.layout == "default" %} class="h-entry"{% endunless %}>
{{ content }}
@ -110,7 +97,7 @@ layout: xslt_container
{% include live2d.html %}
<footer>
<p>
<small>Made with ❤ by Mayx<br />Last updated at {{ site.time | date: "%F %T" }}<br /> 总字数:{% include_cached word_count.html %} - 文章数:{{ site.posts.size }} - <a href="/rss.xml">Feed</a> - <a href="{{ "/README.html" | relative_url }}" >About</a></small>
<small>Made with ❤ by Mayx<br />Last updated at {{ site.time | date: "%F %T" }}<br /> 总字数:{% include_cached word_count.html %} - 文章数:{{ site.posts.size }} - <a href="{{ site.feed.path | relative_url }}" >Atom</a> - <a href="{{ "/README.html" | relative_url }}" >About</a></small>
</p>
</footer>
</div>
@ -119,8 +106,6 @@ layout: xslt_container
<script src="/assets/js/main_new.js"></script>
<script src="/Live2dHistoire/live2d/js/live2d.js"></script>
<script src="/Live2dHistoire/live2d/js/message.js"></script>
<script src="/assets/js/jquery.pjax.min.js"></script>
<script src="/assets/js/pjax.js"></script>
<!-- <![endif]-->
</body>
</html>

View File

@ -83,7 +83,7 @@ layout: default
{% if page.layout == "encrypt" %} {{content}} {% else %} <main class="post-content e-content" role="main">{% capture a_post_content %}{% include anchor_headings.html html=content beforeHeading=true anchorBody="<svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>" %}{% endcapture %}{{ a_post_content | replace: '<br />', '</p><p>' }}</main> {% endif %}
{% if page.tags %}
<small style="display: block">tags: {% for tag in page.tags %}<a rel="category tag" class="p-category" href="/search.html?keyword={{ tag | uri_escape }}"><em>{{ tag }}</em></a>{% unless forloop.last %} - {% endunless %}{% endfor %} <span style="float: right;"><a href="{% if site.github %}{{ site.github.repository_url }}{% else %}https://gitlab.com/mayx/mayx.gitlab.io{% endif %}/tree/master/{{ page.path }}">查看原始文件</a></span></small>
<small style="display: block">tags: {% for tag in page.tags %}<a rel="category tag" class="p-category" href="/search.html?keyword={{ tag | url_encode | replace: '+', '%20' }}"><em>{{ tag }}</em></a>{% unless forloop.last %} - {% endunless %}{% endfor %} <span style="float: right;"><a href="{% if site.github %}{{ site.github.repository_url }}{% else %}https://gitlab.com/mayx/mayx.gitlab.io{% endif %}/tree/master/{{ page.path }}">查看原始文件</a></span></small>
{% endif %}
{% if page.layout != "encrypt" %}
<h4 style="border-bottom: 1px solid #e5e5e5;margin: 2em 0 5px;">推荐文章</h4>
@ -158,11 +158,22 @@ $.get(BlogAPI + "/suggest?id={{ page.url }}&update=" + lastUpdated.valueOf(), fu
</div>
<!--[if !IE]> -->
<link rel="stylesheet" href="/assets/css/gitalk.css">
<script src="/assets/js/gitalk.min.js"></script>
<div id="gitalk-container" data-page-id="{{ page.id }}"></div>
<div id="gitalk-container"></div>
<script>
var gitalk = new Gitalk(Object.assign({ id: '{{ page.id }}' }, GitalkConfig))
var gitalk = new Gitalk({
clientID: '36557aec4c3cb04f7ac6',
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
repo: 'mabbs.github.io',
owner: 'Mabbs',
admin: ['Mabbs'],
id: '{{ page.id }}', // Ensure uniqueness and length less than 50
distractionFreeMode: false, // Facebook-like distraction free mode
proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
})
gitalk.render('gitalk-container')
</script>
<!-- <![endif]-->

View File

@ -1,7 +1,11 @@
{% if page.layout == "xslt" %}<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xml" href="/feed.xslt.xml"?>
<?xml-stylesheet type="text/css" href="/assets/css/xslt.css"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sm="http://www.sitemaps.org/schemas/sitemap/0.9">
<xsl:stylesheet
version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sm="http://www.sitemaps.org/schemas/sitemap/0.9">
<xsl:output method="html" version="4.0" encoding="UTF-8" indent="yes" doctype-system="about:legacy-compat" />
<xsl:template match="/">
{{ content }}

View File

@ -12,7 +12,7 @@ tags: [浏览器, Linux, 虚拟机, WASM]
# 在浏览器中运行Linux
## 虚拟机方案
### 纯JS虚拟机
要说到在浏览器上运行Linux最先想到的应该就是[Fabrice Bellard](https://bellard.org)大神写的[JSLinux](https://bellard.org/jslinux/)吧这可能是第一个在浏览器中实现的虚拟机毕竟是最强虚拟机QEMU的作者编写的。现在他的个人主页中展示的这个版本是WASM版本而他最早写的是纯JS实现的。那个JS实现的版本现在在GitHub上有一个[去混淆的版本](https://github.com/levskaya/jslinux-deobfuscated)可以用作学习和研究于是我顺手Fork了一份在GitHub Pages上部署作为[演示](https://mabbs.github.io/jslinux/)。
要说到在浏览器上运行Linux最先想到的应该就是[Fabrice Bellard](https://bellard.org)大神写的[JSLinux](https://bellard.org/jslinux/)吧这可能是第一个在浏览器中实现的虚拟机毕竟是最强虚拟机QEMU的作者编写的。现在他的个人主页中展示的这个版本是WASM版本而他最早写的是纯JS实现的。那个JS实现的版本现在在GitHub上有一个[去混淆的版本](https://github.com/levskaya/jslinux-deobfuscated)可以用作学习和研究于是我顺手Fork了一份在GitHub Pages上部署作为[演示](http://mabbs.github.io/jslinux/)。
作为纯JS实现的x86虚拟机性能估计是最差的但相应的兼容性也最好在Bellard当年写JSLinux的时候还没有WASM这种东西呢所以即使是在不支持WASM的IE11中也可以正常运行。假如我想把它作为终端用在我的博客上似乎也是个不错的选择即使我完全看不懂代码不知道如何实现JS和虚拟机的通信它也预留了一个剪贴板设备可以让我轻松地做到类似的事情比如我在里面写个Bash脚本通过它和外面的JS脚本联动来读取我的文章列表和内容那也挺不错。
当然Bellard用纯JS编写虚拟机也不是独一份他实现了x86的虚拟机相应的也有人用纯JS实现了RISC-V的虚拟机比如[ANGEL](https://github.com/riscv-software-src/riscv-angel),看起来挺不错,所以同样也顺手[搭了一份](https://mabbs.github.io/riscv-angel/)。只不过它似乎用了一些更先进的语法至少IE11上不能运行。
另外还有一个比较知名的项目,叫做[jor1k](https://github.com/s-macke/jor1k)它模拟的是OpenRISC架构。只是这个架构目前已经过时基本上没什么人用了不过这里面还内置了几个演示的小游戏看起来还挺有意思。

View File

@ -1,35 +0,0 @@
---
layout: post
title: 近期LLM的部署与应用经历(3)
tags: [AI, LLM, 模型部署, 使用体验]
---
用更多的方式探索AI<!--more-->
# 起因
在一年前,我[整了张RTX4090 48GiB魔改版](/2025/02/22/llm.html)用来跑DeepSeek-R1 70B的4bit量化模型不过都已经过了这么长时间这个模型也已经是过时的东西了……我之前在[Mac Studio M3 Ultra](/2025/05/07/mac-studio.html)上试了一下OpenAI在半年前出的gpt-oss-120b模型感觉效果还挺不错只不过因为M3 Ultra的GPU实际性能比不上正经高端的独显所以它在上下文很长的情况下还是有点慢因此我又整了张RTX4090 48GiB想整个双路试试更快的GPT-OSS模型总共96GiB的显存应该够跑这个模型了。
# 在两张RTX4090 48G上运行GPT-OSS
既然现在我手头有两张4090了那继续用i5-8400处理器的主机似乎不太合适主要是那个主板就一个PCIe插槽想插两张显卡也做不到那买个新的不知道买啥……不管怎么说既然用这么高级的显卡至少得让它跑满。在两张显卡上跑模型似乎卡间的通信速度比较重要那最起码得整个支持2个PCIe4.0 x16的板U套装才行这种级别的没有消费级产品只能考虑服务器或工作站了。不过我对服务器和工作站了解得并不多所以就问了问AI哪个支持2个PCIe4.0 x16的平台最便宜结果AI推荐了TRX40+[TR 3960X](https://www.amd.com/zh-cn/support/downloads/drivers.html/processors/ryzen-threadripper/ryzen-threadripper-3000-series/amd-ryzen-threadripper-3960x.html)于是就按照AI的说法整了一套。
这套板U差不多4000CNY价格倒是还行如果买现役的估计主板都比显卡贵了。但后来我发现这个并不是最便宜的😂搜了一下买寨版+[EPYC 7502](https://www.amd.com/zh-cn/support/downloads/drivers.html/processors/epyc/epyc-7002-series/amd-epyc-7502.html)还能再便宜1000CNY而且通道数更多插4张显卡都没问题……不过买都买了就先用吧看来AI的话不能随便信😥。
之前我跑模型为了方便,基本上都用的是[Ollama](https://github.com/ollama/ollama)不过听说Ollama多卡运行的效率很低而且多并发的效果不太好所以这次换了新电脑之后我想试试[vLLM](https://github.com/vllm-project/vllm)据说一般生产级的AI都用的是这个框架。
安装vLLM倒是比想象得简单很多直接一句`pip install vllm`就可以了其实并没有比Ollama复杂多少。我看了一下[OpenAI](https://developers.openai.com/cookbook/articles/gpt-oss/run-vllm/)和[vLLM](https://docs.vllm.ai/projects/recipes/en/latest/OpenAI/GPT-OSS.html)运行GPT-OSS的官方文档发现启动也非常简单一般来说直接执行`vllm serve openai/gpt-oss-120b`就可以。不过直接执行是对于单卡的,我用两张卡需要加个`--tensor-parallel-size 2`参数启用张量并行不然会爆显存。另外考虑到这个模型本身占掉60多GiB的显存之后剩下30GiB还是看起来有点少所以额外加了个`--kv-cache-dtype fp8`参数降低上下文对显存的占用毕竟模型本身也就是4bit量化的加了这个应该不会对它的能力有什么影响。除此之外AI还给我推荐了个`--enable-chunked-prefill`参数,说是也能避免爆显存的问题。
一切准备好之后直接执行,程序就自动开始下载模型了,过了几个小时,终于下载完成,顺便一说启动的时候还显示推荐安装`torch_c_dlpack_ext`虽然不知道是干啥的但也顺手安装了。启动完成之后我试了一下效果非常好不并发的情况下直接用能达到接近190Tps可以说是相当快了而且这个模型的水平也算是开源中的上游水平应该算是又快又好吧……看来多来一张4090还是挺划算嘛。只不过这个东西基本上就我一个人用所以也没什么能测一下并发的场景……虽然很快但还是有点浪费性能吧。
# 最近DeepSeek 1M上下文的使用体验
前段时间DeepSeek又出了新的模型最高可以支持1M长的上下文而且听说模型规模变小了所以速度也很快。可惜的是到目前为止还没有开放权重。当然就算开放权重了用2张4090估计也没有足够的显存分配给上下文至于Mac Studio感觉在长上下文的情况下运行速度应该会很慢……
不过我对这个1M上下文还是挺感兴趣因为好久之前我写过一篇[关于LLM能力上限](/2025/04/22/ai-limit.html)的文章在那篇文章中其实我遇到的问题基本上也就是由上下文不足导致的。那既然现在DeepSeek支持了1M的上下文那我就应该试试之前因为局限性而妥协的一些东西了。
这次我没有用摘要,而是直接把包含整个博客内容的[search.json](/search.json)文件上传到DeepSeek然后向它问了问我的一些问题。试了一下效果非常不错用摘要会省略的一些细节它基本上都可以展现出来我试了试让它给我生成一份简历它甚至在所有文章中找到了我的博客地址、GitHub和邮箱地址之前用摘要显然是做不到这一点的这个长上下文还是挺有用啊。
另外我还试了试让它根据文章内容分析十六型人格,并且我自己去答了一遍那个测试,结果也是相同的,说明它真的是在几秒内就读完了我的所有文章而且也完全理解了,真的是非常厉害。
只是拿AI分析我的文章也许只有我自己了😂实际上根本没人对我感兴趣也就只有我自己拿来给自己看……当然如果我的博客能比我活得长不知道会不会有未来人会对我感兴趣呢……总之对于现在肯定是毫无意义了。
除了这些之外我又试了一下让DeepSeek重构我的[Mabbs](https://github.com/Mabbs/Mabbs.Project)这次生成效果看起来很不错了虽然代码我没细看不确定能不能运行但至少没有偷懒只写一点点一口气写了80KiB多的代码这也是长上下文带来的好处吧。总之目前这个长上下文的DeepSeek也算是突破了之前我认为的上限看来LLM真的是前景无限啊。
另外我发现这次更新的DeepSeek居然了解我的博客我问了一下它“你知道Mayx的博客是哪个博客吗它居然知道能说出域名而且还知道我的博客是关于技术的😎看来这次的训练样本中包含我的信息啊……所以我对这次的更新也挺有好感毕竟我的知识如果能成为AI的一部分也算是一种永恒吧。
# 在8GiB内存的MacBook运行的新模型
在3年前我在[探索AI](/2023/04/05/ai.html)时在我只有8GiB内存的[MacBook Pro](/2023/02/03/mbp.html)上运行了非常早期的LLM——Alpaca-7B那时候7B的LLM虽然能回答一些问题但答非所问的情况也非常多。不过最近我发现了一个有意思的LLM叫做[LFM2.5-1.2B-Thinking](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Thinking)它只用了12亿的参数就有思维链而且水平据说还挺强。这么长时间过去之后我倒也想看看我的MacBook能运行多聪明的模型所以就试着跑了一下它。
运行它也很容易一般用Ollama就可以但是Ollama只有TUI不能渲染Markdown我也不太想在我的Mac上整WebUI之类的东西……那有什么好的选择吗我去制作这个模型的公司官网看了一下他们制作这个模型本就是为了在端侧运行所以也专门制作了一个软件运行他们的模型叫做[Apollo](https://www.liquid.ai/apollo)在手机和Mac上都可以用。我在我的Mac上安装试了一下效果很好首先速度非常快8bit量化正常情况下可以达到60多Tps即使是省电模式也能达到20多Tps。另外加上思维链它的思考能力也还不错虽然一些脑筋急转弯的题不算擅长但是正常对话回答问题之类的表现都很不错相比于之前7B的模型表现好太多了。当然考虑到都已经过去3年了能有这样的进步也很正常不过12亿参数就能有这样的智能还是相当可以啊。
这个模型之所以有这样的能力似乎是因为他们并不完全是Transformer架构而是使用的一种叫做LFM2的混合架构按照大家对他们公司Liquid AI以及这个架构名字的理解可能会觉得这个模型基于液态神经网络不过我让AI看了一下他们的代码似乎并不是他们用的是一种类似于Mamba的架构这种架构似乎就很擅长在小参数的模型下比Transformer模型表现的更好所以说这种变化也是算法进步带来的。
顺便一说这个Apollo除了运行他们自己的模型之外也能连接其他兼容OpenAI接口的模型正好可以用来连接我的GPT-OSS这样我就可以不需要下载一些浏览器套壳的重型应用来用我的模型了😝。
# 感想
自从ChatGPT之后AI的发展真是越来越强了而且能看出来目前甚至并不需要多新多好的硬件就能让一般人获得还不错的智能当然训练也许还是要大量的硬件这么看来AI软件的发展还是相当有潜力。目前来看既然优化软件就能做得越来越好那也许在有限的硬件环境下可以期待无限的智能吧。

View File

@ -1,32 +0,0 @@
---
layout: post
title: 关于AI个人助理的探索
tags: [AI, Agent, 个人助理]
---
给AI添加手脚能有多少种方法<!--more-->
# 起因
最近像[OpenClaw](https://github.com/openclaw/openclaw)这样被叫做“AI个人助理”的Agent越来越火了当然这种东西在我看来依然是新瓶装旧酒整来整去还就是和AutoGPT一样。这种东西在当时GPT-3.5的时候就有了现在只不过是增加了聊天软件交互的渠道便突然大火和当年的Manus一样……实在是无法理解。
一年前我用过Devin.ai这个云端的Agent编写过[用JS解析订阅源](/2025/04/08/feed.html)的脚本,体验还算不错,既然现在已经过了一年,那就让我看看现在又有了什么样的发展吧。
# 使用AI个人助理
## 体验原生OpenClaw
虽然感觉OpenClaw对我的意义不大但我还是安装体验了一下。不过在国内安装它还是相对有点困难毕竟国内无论是访问GitHub还是NPM都有点麻烦而且还需要有LLM提供商的信息……安装好之后使用起来感觉问题也非常多经常出现执行一半就停止执行在它执行的过程中看到它的操作不正确的时候也不能发言打断而且很多时候最终任务执行的效果也不太好这也可能是我用的国产开源模型推理能力有限没舍得用Claude之类先进模型的锅😂
另外我也尝试让它加入MoltBook、MomoClaw、InStreet、百度贴吧抓虾吧之类的AI社区让它帮我宣传我的博客但效果也很差它每次发的时候会忘掉之前发的内容结果就是同一篇内容发了好几遍……不过在这期间有个叫PushMeBot的家伙在[Moltbook的帖子](https://www.moltbook.com/post/7f1b0e1f-5175-4fd1-ad78-856be8b66250)中让我的OpenClaw执行一个网络监视程序最终安装好之后给我[发了9USDC](https://basescan.org/tx/0x44dbfe53f276201447f3877bf050a5d56adebf5fe05235264ee665da717e9373)😝,还挺有意思。
总之按照我的体验实在是想不出它能火的理由体验不算很好而且还要安装Node环境完全不像是能让大众轻松使用的东西。
不过这个项目似乎本身就是Vibe Coding的产物体验不好也能理解就看火了之后能有多少人完善它吧。
## 国内大厂的二开Claw
国内好多大厂倒是看中了这个东西的爆火像腾讯就出了几款这样的软件比如QClaw。它可以不需要配置额外的环境能像传统的软件一样直接安装使用而且有自带的模型有一定的免费额度可以用。配置技能也比较简单直接点击就可以完成。而且可以直接扫码关联微信直接通过微信和它进行交流可以说是相当的傻瓜化了。不过QClaw给的免费额度虽然用来聊天之类的没问题但对于开发软件还是有点少所以他们还出了个叫做WorkBuddy的软件它送的初始额度比QClaw要多不少所以更适合用来开发。只不过为啥腾讯要出两个功能一样的软件看起来应该是不同团队出的可能是面向的用户群体不一样所以搞了两套吧
## VSCode中的Agent
但要说开发的话用作为“AI个人助理”的某些Claw其实并不合适毕竟正常开发还是以人开发为主全AI开发总会有些问题所以开发的时候还是用编辑器集成的AI比较好。在三年前我就在用[GitHub Copilot](/2023/04/05/ai.html)了到现在我依然在用。现在的Copilot已经支持了Agent功能开发相比之前也是强了很多只不过现在的我没有学生身份Copilot Free偶尔也会出现不够用的情况。不过对于Agent这类功能实现起来还是太简单了所以有人开发这种功能的插件也很正常比如[Cline](https://github.com/cline/cline)Copilot只能用微软提供的几个模型而Cline可以自定义模型用起来也很方便。
## 微型开发板上运行的Claw
前段时间,我闲来无事看了一下两年前买的[Luckfox Pico Plus](/2024/02/24/luckfox.html)开发板的文档,偶然发现了一个很有意思的项目,叫做[LuckClaw](https://github.com/LuckfoxTECH/luckclaw),这是一个基于[nanobot](https://github.com/HKUDS/nanobot)用Golang重构的轻量个人AI助手可以在仅仅64MiB内存的超有限环境下运行一个和OpenClaw功能几乎相当的AI个人助理真的是非常厉害。
我在我的开发板上试了一下体验很不错安装不需要额外环境直接下载就能使用Go语言的程序确实方便。配置也很简单直接执行`luckclaw config`就可以交互式进行模型等设置的配置而且作为国产的应用它也能很方便的对接国内聊天软件。只是限于开发板本身的能力浏览器功能自然无法使用所以搜索如果不借助那些需要API Key的AI专用接口就基本上不能用……但总的来说效果已经非常不错了至少有那些Claw的80%能力。
2025.04.15补充后来我发现这种超精简的Claw项目看起来还挺多比如[ZeroClaw](https://github.com/zeroclaw-labs/zeroclaw)和[PicoClaw](https://github.com/sipeed/picoclaw),甚至还有给单片机用的[MimiClaw](https://github.com/memovai/mimiclaw)。而且有意思的是PicoClaw是Luckfox的竞争对手开发的但是LuckClaw中却包含PicoClaw字样的注释结果功能也没PicoClaw强关注度也更低属于是没抄明白了🤣
想到前段时间还有人为了OpenClaw专门买Mac Mini就感觉很有意思😆这个东西看起来应该是在路由器上都能跑。所以想要AI个人助理硬件完全不是问题只要整一个能24小时挂机的东西就可以满足绝大多数人的需求了。
## 在手机上运行的Claw
其实很多人也有比开发板和路由器性能更强的闲置设备,那就是手机,所以有人开发了一款叫做[ApkClaw](https://github.com/apkclaw-team/ApkClaw)的软件一样可以接入国内聊天软件。它既然能在手机上运行当然和在其他平台运行的Claw相比有一个独特的优势那就是操作手机应用。现在手机的应用相比电脑应用对于很多普通人来说功能更强大所以它能做的事情可能比其他的Claw还多。我试了一下配置也很方便只不过能配置的项目太少了看起来似乎没有安装Skill之类的功能也许是因为它是相对早期的软件所以功能还比较少吧。
# 感想
总的来说现在的Agent依然没有非常明显的进步问题依旧很多只是化身“AI个人助理”之后增加了不少应用场景。这倒也是好事在广泛传播的过程中也能让很多对技术了解不多但是很有想法的人参与其中也许能对AI的应用化增添不少力量吧。

View File

@ -1,76 +0,0 @@
---
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

@ -98,7 +98,7 @@ export default {
{ role: "user", content: questsion }
]
const answer = await env.AI.run('@cf/meta/llama-4-scout-17b-16e-instruct', {
const answer = await env.AI.run('@cf/google/gemma-3-12b-it', {
messages,
stream: true,
});
@ -175,7 +175,7 @@ export default {
}
]
const stream = await env.AI.run('@cf/meta/llama-4-scout-17b-16e-instruct', {
const stream = await env.AI.run('@cf/google/gemma-3-12b-it', {
messages,
stream: true,
});
@ -235,7 +235,7 @@ export default {
}
]
const answer = await env.AI.run('@cf/meta/llama-4-scout-17b-16e-instruct', {
const answer = await env.AI.run('@cf/google/gemma-3-12b-it', {
messages,
stream: false,
});

View File

@ -6,7 +6,6 @@ cd blog
mkdir Mabbs
curl -L -o Mabbs/README.md https://github.com/Mabbs/Mabbs/raw/main/README.md
bundle exec jekyll build -d ../public_html
rsync --delete -rv ../public_html/ mayx@pgs.sh:/blog
tar czvf MayxBlog.tgz --exclude-vcs ../public_html/
mv MayxBlog.tgz ../public_html/
cd ../public_html/
@ -15,10 +14,8 @@ git init
git branch -m main
git add .
git commit -m "update"
git branch pages
git remote add codeberg ssh://git@codeberg.org/mayx/pages.git
git remote add bitbucket ssh://git@bitbucket.org/unmayx/unmayx.bitbucket.io.git
git push -f codeberg main
git push -f codeberg pages
git push -f bitbucket main
/home/mayx/blog-env/node_modules/surge/bin/surge /home/mayx/public_html/ mayx.surge.sh

View File

@ -1 +0,0 @@
curl -LO https://github.com/Homebrew/homebrew-portable-ruby/releases/download/3.4.5/portable-ruby-3.4.5.x86_64_linux.bottle.tar.gz && mkdir -p ~/.local/portable-ruby && tar -xvf portable-ruby-3.4.5.x86_64_linux.bottle.tar.gz -C ~/.local/portable-ruby --strip-components=1 && export PATH="$HOME/.local/portable-ruby/3.4.5/bin:$PATH" && bundle install

View File

@ -5,16 +5,23 @@ title: Archives
# Archives
---
* * *
{% assign posts_by_year = site.posts | group_by_exp: "post", "post.date | date: '%Y'" %}
{% for post in site.posts %}
{% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
{% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
{% if forloop.first %}
{% for year in posts_by_year %}
## {{ this_year }}
## {{ year.name }} (共 {{ year.items | size }} 篇)
{% endif %}
{% for post in year.items %}
- {{ post.date | date: "%Y/%m/%d" }} - [{{ post.title }}{% if post.layout == "encrypt" %} [加密]{% endif %}]({{ post.url }})
{% endfor %}
- {{ post.date | date: "%Y/%m/%d" }} - [{{ post.title }}{% if post.layout == "encrypt" %} [加密] {% endif %}]({{ post.url }})
{% endfor %}
{% if forloop.last %}
{% else %}
{% if this_year != next_year %}
## {{next_year}}
{% endif %} {% endif %} {% endfor %}

View File

@ -1,95 +1,86 @@
@namespace atom url("http://www.w3.org/2005/Atom");
@namespace content url("http://purl.org/rss/1.0/modules/content/");
@namespace dc url("http://purl.org/dc/elements/1.1/");
:root {
--bg-color: #f4f5f7;
--card-bg: #ffffff;
--text-main: #222;
--text-muted: #555;
--text-light: #888;
--max-width: 780px;
}
@media (prefers-color-scheme: dark) {
:root {
--bg-color: #1a1a1c;
--card-bg: #2c2c2e;
--text-main: #e5e5e7;
--text-muted: #a1a1a6;
--text-light: #707074;
}
}
@namespace atom "http://www.w3.org/2005/Atom";
@namespace content "http://purl.org/rss/1.0/modules/content/";
@namespace dc "http://purl.org/dc/elements/1.1/";
body,
rss,
atom|feed {
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
background: var(--bg-color);
color: var(--text-main);
margin: 0px auto;
padding: 2rem 1rem;
font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont,
"Segoe UI", Roboto,
"Noto Sans SC", "PingFang SC",
"Microsoft YaHei", Arial, sans-serif;
background: #f4f5f7;
color: #222;
margin: 0;
padding: 2em 1em;
/* 左右内边距 1em竖屏不贴边 */
font-size: 14px;
line-height: 1.6;
max-width: var(--max-width);
max-width: 780px;
/* 最大宽度,桌面端居中 */
margin-left: auto;
margin-right: auto;
}
channel>title,
atom|feed>atom|title {
display: block;
font-size: 2rem;
font-weight: 800;
font-size: 1.7em;
font-weight: 700;
margin: 0 0 1.2em 0;
text-align: center;
margin: 0px 0px 0.5rem;
letter-spacing: -0.02em;
letter-spacing: -0.01em;
}
item,
atom|entry {
display: block;
background: var(--card-bg);
padding: 1.5rem;
margin-bottom: 1.25rem;
border-radius: 16px;
box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 20px;
transition: transform 0.2s;
}
item:hover,
atom|entry:hover {
transform: translateY(-2px);
background: #ffffff;
padding: 1.1em 1.2em;
margin-bottom: 1.1em;
border-radius: 14px;
box-shadow:
0 8px 24px rgba(0, 0, 0, 0.04),
0 2px 6px rgba(0, 0, 0, 0.03);
}
item>title,
atom|entry>atom|title {
display: block;
font-size: 1.25rem;
font-size: 1.15em;
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--text-main);
margin-bottom: 0.45em;
color: #111;
letter-spacing: -0.01em;
}
item>description,
atom|entry>atom|summary {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
display: block;
color: #555;
line-height: 1.65;
max-height: 16.5em;
overflow: hidden;
color: var(--text-muted);
font-size: 0.95rem;
line-height: 1.6;
position: relative;
}
item>pubDate,
atom|entry>atom|updated {
display: block;
color: var(--text-light);
font-size: 0.85rem;
margin-top: 0.75rem;
item>description::after,
atom|entry>atom|summary::after {
content: "…";
position: absolute;
right: 0.3em;
bottom: 0;
padding-left: 1.5em;
background: linear-gradient(to right,
rgba(255, 255, 255, 0),
#ffffff 70%);
font-weight: 600;
}
link,
guid,
pubDate,
author,
category,
comments,
@ -97,6 +88,7 @@ source,
enclosure,
content|encoded,
dc|creator,
lastBuildDate,
atom|id,
atom|link,
atom|updated,
@ -113,48 +105,27 @@ generator {
channel>description,
atom|feed>atom|subtitle {
display: block;
margin: 0.4em 0 2em 0;
/* 与条目明显拉开 */
text-align: center;
color: var(--text-muted);
font-size: 1rem;
margin-bottom: 2rem;
color: #666;
font-size: 0.95em;
}
channel>description::after,
atom|feed>atom|subtitle::after {
content: "这是一个订阅源Feed。复制当前URL到任何支持 Atom/RSS 的阅读器,即可订阅本博客的最新文章。\a 以下展示了此订阅源包含的最新文章:";
channel>title,
atom|feed>atom|title {
margin-bottom: 0.4em;
/* 原来较紧,这里放松 */
}
atom|feed>atom|subtitle::after,
channel>description::after {
content: "这是一个订阅源Feed。复制当前URL到任何支持 Atom/RSS 的阅读器,即可订阅本博客的最新文章。\A以下展示了此订阅源包含的最新文章";
display: block;
white-space: pre-wrap;
font-size: 0.875rem;
color: var(--text-light);
margin-top: 1rem;
padding: 1rem;
border-top-width: 1px;
border-top-style: solid;
border-top-color: rgba(128, 128, 128, 0.2);
}
rss,
channel,
atom|feed {
display: flex;
flex-direction: column;
}
channel>lastBuildDate,
atom|feed>atom|updated:not(atom|entry atom|updated) {
order: 999;
text-align: center;
margin-top: 3rem;
padding-top: 1.5rem;
border-top-width: 1px;
border-top-style: solid;
border-top-color: rgba(128, 128, 128, 0.2);
color: var(--text-light);
font-size: 0.85rem;
display: block !important;
}
channel>lastBuildDate::before,
atom|feed>atom|updated:not(atom|entry atom|updated)::before {
content: "更新于 ";
font-size: 0.95em;
color: #666;
margin: 1em 0 2em 0;
line-height: 1.5;
white-space: pre-wrap;
}

View File

@ -1274,3 +1274,5 @@
transform: rotate(360deg);
}
}
/*# sourceMappingURL=gitalk.css.map*/

View File

@ -34,33 +34,33 @@ a:hover {
.post-content h1 {
text-indent: -8px;
margin: 20px 0 10px;
margin:20px 0 10px;
border-bottom: 1px solid #e5e5e5;
}
.post-content h2 {
text-indent: -6px;
margin: 20px 0 10px;
margin:20px 0 10px;
border-bottom: 1px solid #e5e5e5;
}
.post-content h3 {
margin: 20px 0 10px;
margin:20px 0 10px;
text-indent: -5px;
}
.post-content h4 {
margin: 20px 0 10px;
margin:20px 0 10px;
text-indent: -4px;
}
.post-content h5 {
margin: 20px 0 10px;
margin:20px 0 10px;
text-indent: -3px;
}
.post-content h6 {
margin: 20px 0 10px;
margin:20px 0 10px;
text-indent: -2px;
}
@ -121,30 +121,24 @@ div.highlight button:hover {
font-size: 14px;
line-height: 1.4;
}
.footnotes p {
margin: 0;
text-indent: 0;
}
.wrapper {
.wrapper{
width: 90%;
}
header {
header{
width: 25%;
}
footer {
footer{
width: 25%;
}
section {
section{
width: 65%;
}
@media print,
screen and (max-width: 960px) {
@media print, screen and (max-width: 960px) {
.wrapper {
width: auto;
}
@ -162,7 +156,7 @@ screen and (max-width: 960px) {
}
}
code.highlighter-rouge {
code.highlighter-rouge{
padding: .1em .2em;
margin: 0;
font-size: 90%;
@ -177,29 +171,9 @@ code.highlighter-rouge {
border: 1px solid #ddd;
padding: 8px 12px;
border-radius: 4px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
max-width: 300px;
z-index: 1000;
font-size: 14px;
line-height: 1.4;
}
td.h-entry {
cursor: pointer;
}
td.h-entry:hover {
background: #f9f9f9;
}
body.pjax-loading::after {
content: '';
position: fixed;
top: 16px;
right: 16px;
width: 20px;
height: 20px;
background: url('/images/loading.svg') center / contain no-repeat;
z-index: 9999;
pointer-events: none;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -39,7 +39,7 @@ $(function () {
"-webkit-filter": "grayscale(100%)",
"filter": "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)"
})
$('body').html(function (_, oldHTML) {
$('body').html(function(_, oldHTML) {
return oldHTML.replace(/Mayx/g, 'Ghost');
});
console.warn("Mayx may already be Dead");
@ -67,28 +67,3 @@ function getSearchJSON(callback) {
callback(searchData);
}
}
if (typeof window.go === 'undefined') {
window.go = function (url) {
window.location.href = url;
return;
}
}
function getWelcomeText(pathname, title) {
pathname = pathname || window.location.pathname;
title = title || document.title.split(' | ')[0];
if (pathname === '/' || pathname === '/index.html') {
var now = (new Date()).getHours();
if (now > 23 || now <= 5) return '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?';
if (now > 5 && now <= 7) return '早上好!一日之计在于晨,美好的一天就要开始了!';
if (now > 7 && now <= 11) return '上午好!工作顺利嘛,不要久坐,多起来走动走动哦!';
if (now > 11 && now <= 14) return '中午了,工作了一个上午,现在是午餐时间!';
if (now > 14 && now <= 17) return '午后很容易犯困呢,今天的运动目标完成了吗?';
if (now > 17 && now <= 19) return '傍晚了!窗外夕阳的景色很美丽呢,最美不过夕阳红~~';
if (now > 19 && now <= 21) return '晚上好,今天过得怎么样?';
if (now > 21 && now <= 23) return '已经这么晚了呀,早点休息吧,晚安~~';
return '嗨~ 快来逗我玩吧!';
}
return '欢迎阅读<span style="color:#0099cc;">「 ' + title + ' 」</span>';
}

View File

@ -1,213 +0,0 @@
/**
* PJAX 初始化与页面切换重绑定脚本
* 依赖jQuery, jquery.pjax.min.js
* 加载顺序 jquery.pjax.min.js 之后body 末尾
*/
(function ($) {
// ========== 常量 ==========
var CONTAINER = '#pjax-container';
var PJAX_OPTS = {
container: CONTAINER,
fragment: CONTAINER,
timeout: 8000,
scrollTo: false
};
// ========== 各组件重初始化 ==========
/** 访问量统计 */
function reinitVisitors() {
if (typeof BlogAPI === 'undefined') return;
var apiBase = BlogAPI;
if ($('.visitors').length === 1) {
var $visitor = $('.visitors:first');
$.get(apiBase + '/count_click_add?id=' + $visitor.attr('id'), function (data) {
$visitor.text(Number(data));
});
} else if ($('.visitors-index').length > 0) {
$('.visitors-index').each(function () {
var $elem = $(this);
$.get(apiBase + '/count_click?id=' + $elem.attr('id'), function (data) {
$elem.text(Number(data));
});
});
}
}
/** AI 摘要post.html 内联脚本pjax 后由 executeScripts 触发) */
function reinitAISummary() {
if (typeof ai_gen === 'function' && $('#ai-output').length) {
try { ai_gen(); } catch (e) { /* ignore */ }
}
}
/** 代码块复制按钮 */
function reinitCopyButtons() {
$('.copy').remove();
$('div.highlight').each(function () {
var $block = $(this);
var $btn = $('<button>', { class: 'copy', type: 'button', text: '📋' });
$block.append($btn);
$btn.on('click', function () {
var code = $btn.siblings('pre').find('code').text().trim();
navigator.clipboard.writeText(code)
.then(function () { $btn.text('✅'); })
.catch(function () { $btn.text('❌'); })
.finally(function () { setTimeout(function () { $btn.text('📋'); }, 1500); });
});
});
}
/** 关键词高亮 */
function reinitHighlight() {
var keyword = new URLSearchParams(window.location.search).get('kw');
if (!keyword) return;
keyword = keyword.trim();
if (!keyword) return;
var escaped = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
var regex = new RegExp('(' + escaped + ')', 'gi');
var escapeHTML = function (str) {
return str.replace(/[&<>"']/g, function (t) {
return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }[t] || t;
});
};
function walk(node) {
$(node).contents().each(function () {
if (this.nodeType === Node.TEXT_NODE) {
var $t = $(this);
var text = escapeHTML($t.text());
if (regex.test(text)) $t.replaceWith(text.replace(regex, '<mark>$1</mark>'));
} else if (this.nodeType === Node.ELEMENT_NODE && !$(this).is('script, style, noscript, textarea')) {
walk(this);
}
});
}
$('section').each(function () { walk(this); });
}
/** Google Analytics 页面浏览事件 */
function trackPageView() {
if (typeof gtag === 'function') {
gtag('config', window._gaId || '', { page_path: window.location.pathname });
}
}
/** Live2D 重初始化 */
var _live2dSelectors = ['.post-link', '#search-input'];
var _live2dDelegateBound = false;
function reinitLive2d() {
if (!window._live2d) return;
var pathname = window.location.pathname;
// 更新"想问这篇文章"相关状态(仅真正的文章页显示)
$('#post_id').val(pathname);
if ($(CONTAINER + ' #gitalk-container').length > 0) {
$('.live_talk_input_name_body').show();
} else {
$('.live_talk_input_name_body').hide();
$('#load_this').prop('checked', false);
}
// 音乐按钮:根据当前页面是否有 BGM 输入来显示/隐藏
if (typeof window._live2d.initBGM === 'function') {
window._live2d.initBGM();
}
// 事件委托绑定(只执行一次)
if (!_live2dDelegateBound && typeof String.prototype.renderTip === 'function') {
var selector = CONTAINER + ' ' + _live2dSelectors.join(', ' + CONTAINER + ' ');
$(document).on('mouseover._live2d_pjax', selector, function (e) {
var $el = $(e.currentTarget || e.target);
if ($el.is('.post-link')) {
window._live2d.showMessage('要看看 ' + $el.text() + ' 么?', 3000);
} else if ($el.is('#search-input')) {
window._live2d.showMessage('在找什么东西呢,需要帮忙吗?', 3000);
}
});
$(document).on('mouseout._live2d_pjax', selector, function () {
if (window._live2d.showHitokoto) window._live2d.showHitokoto();
});
_live2dDelegateBound = true;
}
// 欢迎语
if (typeof window._live2d.showMessage === 'function') {
window._live2d.showMessage(getWelcomeText(pathname), 6000);
}
}
// ========== PJAX 导航 ==========
/** PJAX 完成后的统一处理 */
function doPjaxComplete() {
$('body').removeClass('pjax-loading');
// 清理可能残留的浮层(如推荐文章 tooltiphover 后点击跳转时 mouseleave 来不及触发)
$('.content-tooltip').remove();
onPjaxComplete();
}
/** 暴露给模板内 onclick/onchange 调用的导航函数 */
window.go = function (url) {
$.pjax({ url: url, ...PJAX_OPTS });
};
// ========== 初始化 ==========
/** 每次 pjax 完成后执行所有重初始化 */
function onPjaxComplete() {
reinitVisitors();
reinitCopyButtons();
reinitHighlight();
reinitAISummary();
reinitLive2d();
trackPageView();
window.scrollTo(0, 0);
}
$(document).ready(function () {
// 排除列表外链、锚点、静态资源、Live2D 目录
var exclude = ':not([target="_blank"]):not([href^="http"]):not([href^="//"])' +
':not([href^="mailto"]):not([href^="#"])' +
':not([href$=".xml"]):not([href$=".json"]):not([href$=".tgz"]):not([href$=".zip"])' +
':not([href^="/Live2dHistoire"])';
$(document).pjax('a' + exclude, PJAX_OPTS.container, PJAX_OPTS);
$(document).on('submit', 'form#search-input-all', function (e) {
$.pjax.submit(e, PJAX_OPTS.container, PJAX_OPTS);
});
$(document).on('pjax:send', function () {
$('body').addClass('pjax-loading');
});
$(document).on('pjax:complete', doPjaxComplete);
$(document).on('pjax:error', function (xhr, textStatus, error) {
console.warn('[pjax] error, fallback:', error);
});
$(document).on('pjax:end', function (event, xhr, options) {
var $container = $(options.container || PJAX_OPTS.container);
$container.find('script[type="module"]').each(function () {
var oldScript = this;
var newScript = document.createElement('script');
newScript.type = 'module';
// 如果是外链脚本 (<script src="..."></script>)
if (oldScript.src) {
newScript.src = oldScript.src;
} else {
// 如果是行内脚本 (<script>...code...</script>)
newScript.textContent = oldScript.textContent;
}
// 插入到 body 中触发浏览器执行
document.body.appendChild(newScript);
// 运行完后建议移除,防止 DOM 变得混乱(不影响模块执行)
newScript.remove();
});
});
// 首次加载初始化
reinitCopyButtons();
});
})(jQuery);

View File

@ -1,17 +0,0 @@
---
---
/* AUTHOR */
Name: Mayx
Contact: mayx@outlook.com
GitHub: Mabbs
From: China
/* THANKS */
Built with: Jekyll (https://jekyllrb.com)
/* SITE */
Last update: {{ site.time | date: "%F" }}
Language: Chinese / English
Doctype: HTML5
IDE: VSCode

View File

@ -5,14 +5,14 @@ image: https://screenshot.mayx.eu.org/
---
{% if paginator.page == 1 %}<div class="hslice" id="LatestPost">{% endif %}
<h1 class="entry-title" style="display:inline"> 首页 - 我的文章 </h1><small><a href="/archives.html">Archives</a> | <a href="javascript:void(0)" onclick="getSearchJSON(function(data){go(data[Math.floor(Math.random()*data.length)].url)})">Random</a></small><br /><br />
<h1 class="entry-title" style="display:inline"> 首页 - 我的文章 </h1><small><a href="/archives.html">Archives</a> | <a href="javascript:getSearchJSON(function(data){location=data[Math.floor(Math.random()*data.length)].url})">Random</a></small><br /><br />
<hr />
<!-- 遍历分页后的文章 -->
<table class="entry-content h-feed">
{% for post in paginator.posts %}
<tr><td class="h-entry" onclick="if (!event.target.closest('a.p-category')) go('{{ post.url }}')">
<tr><td class="h-entry" onclick="location='{{ post.url }}'">
<h2 class="p-name"><a class="post-link u-url" href="{{ post.url }}">{{ post.title }}{% if post.layout == "encrypt" %} [加密] {% endif %}</a></h2>
<p>
<time class="date dt-published" datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date: "%-d %B %Y" }}</time>
@ -24,7 +24,7 @@ image: https://screenshot.mayx.eu.org/
{% if post.tags %}
<span>
{% for tag in post.tags %}
<a rel="category tag" class="p-category" href="/search.html?keyword={{ tag | uri_escape }}"><code style="white-space: nowrap">#{{ tag }}</code></a>
<a rel="category tag" class="p-category" href="/search.html?keyword={{ tag | url_encode | replace: '+', '%20' }}"><code style="white-space: nowrap">#{{ tag }}</code></a>
{% endfor %}
</span>
{% endif %}
@ -44,7 +44,7 @@ image: https://screenshot.mayx.eu.org/
<span>&laquo; Prev</span>
{% endif %}
<select onchange="go(this.value == 1 ? '/index.html' : '/page' + this.value + '/index.html')">
<select onchange="window.location = this.value == 1 ? '/index.html' : '/page' + this.value + '/index.html'">
{% for page in (1..paginator.total_pages) %}
{% if page == paginator.page %}
<option value="{{ page }}" selected>{{ page }}</option>

View File

@ -4,12 +4,11 @@ title: Links
date: 2019-05-03
id: links
tags: [links]
robots: nofollow
---
| Link | Description |
| - | - |
{% for item in site.data.links %}| <a href="{{ item.link }}" target="_blank" rel="noopener" {% if item.feed_url %}data-feed="{{ item.feed_url }}"{% endif %}>{{ item.title }}</a> | {% if item.description %}{{ item.description }}{% else %}*No description*{% endif %} |
{% for item in site.data.links %}| <a href="{{ item.link }}" target="_blank" rel="noopener sponsored" {% if item.feed_url %}data-feed="{{ item.feed_url }}"{% endif %}>{{ item.title }}</a> | {% if item.description %}{{ item.description }}{% else %}*No description*{% endif %} |
{% endfor %}
订阅以上链接:[OPML](/blogroll.opml)

View File

@ -1,14 +0,0 @@
---
---
# {{ site.title }}
> {{ site.description }}
## Site Info
- [About Site](/README.html)
- [About Author](/humans.txt)
## Posts
{% for post in site.posts %}
- [{{ post.title }}{% if post.layout == "encrypt" %} [加密] {% endif %}]({{ post.url }}): {% assign ai_cache = site.data.ai-cache[post.url] %}{% if ai_cache %}{{ ai_cache | strip_html | strip_newlines }}{% elsif post.excerpt %}{{ post.excerpt | strip_html | strip_newlines }}{% else %}Just a Post.{% endif %}{% endfor %}

View File

@ -1,7 +1,6 @@
---
layout: default
title: 其他Git仓库镜像列表
robots: noindex, nofollow
---
# 其他Git仓库镜像列表

View File

@ -1,7 +1,6 @@
---
layout: default
title: 代理列表
robots: nofollow
---
源站:<https://mabbs.github.io/> <img src="https://mabbs.github.io/images/online.svg" style="width: 1.2em; vertical-align: text-bottom;" onerror="this.outerHTML='ⓧ'"/>
@ -32,8 +31,7 @@ graph LR;
GH@{ shape: bow-rect, label: "GitHub" }
GL@{ shape: bow-rect, label: "GitLab" }
GE@{ shape: bow-rect, label: "Gitee" }
OG@{ shape: bow-rect, label: "And more..." }
OGP@{ shape: docs, label: "And more..." }
OG@{ shape: bow-rect, label: "Other..." }
CFP@{ shape: docs, label: "CloudFlare Pages" }
GHP@{ shape: docs, label: "GitHub Pages" }
GLP@{ shape: docs, label: "GitLab Pages" }
@ -42,13 +40,14 @@ graph LR;
GF@{ shape: lin-cyl, label: "Greenfield" }
Vercel@{ shape: docs, label: "Vercel" }
Netlify@{ shape: docs, label: "Netlify" }
SH@{ shape: docs, label: "statichost.eu" }
DA@{ shape: docs, label: "dAppling" }
CFW@{ label: "CloudFlare Workers" }
CFAI@{ shape: procs, label: "CloudFlare AI" }
CFD@{ shape: lin-cyl, label: "CloudFlare D1" }
Deno@{ shape: curv-trap, label: "Deno" }
Glitch@{ shape: curv-trap, label: "Glitch" }
Other@{ shape: curv-trap, label: "And more..." }
Other@{ shape: curv-trap, label: "Other..." }
subgraph Repo
GH
GL
@ -60,11 +59,11 @@ graph LR;
GHP
GLP
CFP
SH
FELH
DA
Vercel
Netlify
OGP
end
subgraph API[API Service]
@ -87,7 +86,7 @@ graph LR;
GH <-- Sync --> GL
GH -- Sync --> GE
GH -. Sync .-> OG
GH -- Deploy --> GHP & Netlify & FELH & DA & OGP
GH -- Deploy --> GHP & SH & Netlify & FELH & DA
GL -- Deploy --> CFP & Vercel & GLP
CFW -- Reverse Proxy --> GHP
Deno -- Reverse Proxy --> GHP

View File

@ -27,7 +27,7 @@ if (mykeyword) {
</script>
<script src="/assets/js/simple-jekyll-search.min.js"></script>
<script>
function _doSearch(json) {
getSearchJSON(function(json){
var sjs = SimpleJekyllSearch({
searchInput: sbox,
resultsContainer: document.getElementById('results-container'),
@ -37,22 +37,5 @@ function _doSearch(json) {
});
sjs.search(mykeyword);
document.getElementById('search-loading').style.display = "none";
}
getSearchJSON(function(json) {
if (typeof SimpleJekyllSearch !== 'undefined') {
_doSearch(json);
} else {
// PJAX 场景:外部脚本通过 pjax 库异步加载,需要等待加载完成
var _poll = 0;
var _waitSJS = setInterval(function() {
if (typeof SimpleJekyllSearch !== 'undefined') {
clearInterval(_waitSJS);
_doSearch(json);
} else if (++_poll > 100) {
clearInterval(_waitSJS);
document.getElementById('search-loading').style.display = "none";
}
}, 50);
}
});
</script>