【站点已恢复】DDNS 服务切换到 Cloudflare,再见 GoDaddy API

作者:V君 发布于:2024-5-8 12:07 Wednesday 分类:小服杂记

最近发现狗爹 API 持续报 403,使我的域名一直无法更新 IP。

首先我想到找客服,由于找不到网页客服聊天入口我就打了个越洋电话过去问,客服表示“无法提供技术支持”,让我发邮件到 API 支持邮箱。

那我就得摘录完整错误信息发邮件咯,用 Postman 调用API返回“ACCESS_DENIED Authenticated user is not allowed access”,我首先咕狗这 message 试图寻找更多信息,然鹅——

the DNS API has some new limitations.

•    Accounts with 10 or more domains

•    Accounts with a Discount Domain Club subscription

找到这样一篇帖子,坏家伙,开始收钱了,而且 Club 订阅还不便宜,亏我前段时间还一口气续费好几年,这下只能先让 Cloudflare 接管 DNS 服务了,它的 API 不收钱。

我给 NetBootServer 增加了 Cloudflare 的 DDNS 接入,感兴趣的小伙伴们可以点进去看看。

标签: DDNS

评论(1) 引用(0) 浏览(93)

勉强从灾难中恢复

作者:V君 发布于:2023-5-3 20:49 Wednesday 分类:小服杂记

数据库和备份的树莓派双双失效,找到一份年初的备份,还好这半年没写博客

评论(2) 引用(0) 浏览(376)

总算是修好邮件通知功能了

作者:V君 发布于:2022-5-28 19:15 Saturday 分类:小服杂记

这次排查过程我只能用下面的两张梗图来形容。

首先不知道如何断点调试运行在 Apache 的 PHP,那就只能找到输出日志的方法,然后拼命打log。(第一张梗图)

其次打了 log 得到的错误信息莫名其妙,可能是发邮件的库和自己搭的邮件服务器存在兼容问题,调着调着莫名其妙又通了,然后去掉打 log 的代码,做出思考状。(第二张梗图)

点击查看原图

点击查看原图

评论(0) 引用(0) 浏览(224)

引入ace编辑器用作代码高亮(杀鸡焉用牛刀?

作者:V君 发布于:2020-3-20 22:57 Friday 分类:小服杂记

博客中有不少文章把代码段贴出来,有(dan)空(teng)的时候想办法去弄点样式,没(lan)空的时候就直接贴纯文本。是时候应该解决一下了。那就去看看用什么组件好吧。

(放狗出去找)发现了 highlight.js ,看起来不错,但不支持显示行号,并且作者也不打算实现它。那就再找找吧,(找了一会儿),想起 ace 编辑器了,如果只要设置成只读,它就是一个优秀的代码高亮组件,还能折叠代码块。

废话少说开始干!首先找到代码插入点,这次我选择在 content/templates/default/footer.php 底部的 #wrap 结束标记后面,插入 CDN 库引用然后写了下面的代码来启用。

先TL;DR一下使用方法:在需要高亮的元素上增加以下属性

  1. highlight="ace" 启用代码高亮
  2. ace-lang="javascript" 必选,指定代码语言
  3. ace-theme="chrome" 可选,配色主题

代码语言和配色主题可以参照源代码文件名。

注释掉 log 语句并甩锅给 IE(

//replace nbsp \xa0 to normal space \x20
function normalizeSpaces(elm){
    var nodes = elm.childNodes;
    for (var i=0; i < nodes.length; ++i){
        if(nodes[i].nodeName === "#text") nodes[i].textContent = nodes[i].textContent.split("\xa0").join('\x20');
        else normalizeSpaces(nodes[i]);
    }
}

if (ace===undefined){
    console.log('highlight: ace undefined, no works');
}else{
    var items = document.querySelectorAll('[highlight=ace]');
    //console.log(`highlight: found ${items.length} element(s) to highlight, dealing with it.`);
    for (var i=0;i<items.length;++i){
        var item = items[i];
        
        var aceLang=item.getAttribute("ace-lang");
        if (aceLang === null){
            //console.warn(`highlight: the highlight element #${i} missing attribute 'ace-lang', skipped`);
            continue;
        }
        
        normalizeSpaces(item);
        
        var aceTheme=item.getAttribute("ace-theme");
        if (aceTheme === null) aceTheme = "Chrome";
        
        var editor = ace.edit(item);
        editor.setReadOnly(true);
        editor.setOptions({maxLines: Infinity});
        editor.setTheme("ace/theme/"+aceTheme);
        editor.session.setMode("ace/mode/"+aceLang);
        editor.setValue( editor.getValue().split('\n').join('\r\n'));
        editor.getSession().selection.clearSelection();
    }
}

继续水

标签: 软件开发 javascript Web技术

评论(0) 引用(0) 浏览(898)

将全部公开的SVN项目迁移到Git了

作者:V君 发布于:2020-3-19 20:12 Thursday 分类:小服杂记

由于 SVN 的占用空间日益增大,目前又主要以 Git 为主,使得备份空间占用变得越来越没有意义,因此花了几天时间来搬运。在这里向大家分担一下这个过程。其实也不复杂,只是比较繁琐。因为找不到好用的迁移方法,我用的是最笨的手动方式,即从 SVN 导出最新版然后推送到 Git。

找到办法之后就可以制定行动方案了,因为博客上面许多文章都引用了 SVN 的链接,得找出它们,将引用的项目搬到 Git,然后更新链接。大概被分成了如下 3 个阶段:

  1. 直接从数据库中搜索带有 SVN 链接文章
  2. 导出最新版,创建 Git 仓库,导入并检查编译
  3. 推送,然后重新回到步骤 1 直到所有文章都处理完

最后把 SVN 的公开访问关闭了,如果有需要访问原 SVN 有、但没被文章引用的项目,请留言,我会考虑为其创建公开的 Git 仓库。

标签: 源码管理

评论(2) 引用(0) 浏览(571)

Powered by emlog 去你妹的备案 sitemap