NUC8 高负载下的风扇声音令人不禁联想到外星人/未来人的意念控制 BGM,偶然间发现已经有高玩 DIY 的散热外壳,于是某宝入手

安装完毕才发现有安装教程,链接如下:

为了可以使用 2.5寸硬盘,本人入手的是外壳 + 扩展盒,安装方法上述链接已经写的非常详细了,下面的内容主要说几个本人安装时遇到的值得注意的地方

散热器的选择和安装

考虑到会经常携带,选择了利民 AXP90-X47

此型号使用四个螺母固定,散热器放置后螺丝的高度不会顶到主板,建议使用机箱附带的四个垫片垫到螺母下,这一点上述链接的安装方法里也介绍了

风扇 4Pin 电源穿过顶盖的孔插到内部的升压板上豆子峡谷 NUC8i7BEH 散热改造豆子峡谷 NUC8i7BEH 散热改造 Continue reading “豆子峡谷 NUC8i7BEH 散热改造”

在一些地区或者一些场景下访问 Telegram 会有难度,Cloudflare 虽说在一些地区速度也不理想,但总比没有强

将通知消息的标题和内容发送到 Cloudflare Workers 的边缘网络,然后 Workers 转发到 Telegram Bot 的 API(发起 GET 或 POST 请求)

这个方法也可以在未被封禁的服务器上实现,或者在具有外网访问条件的环境内实现,然后通过端口转发到公网

下面是 Cloudflare Workers 的实现代码

const OPT = {
  BotToken: '', // Telegram Bot API
  ChatID:'', // User ChatID
  ParseMode: 'markdownv2' //keep blank, html, markdown or markdownv2
}
 
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})
 
async function handleRequest(request) {
  let url = new URL(request.url);

  let title = url.searchParams.get('title')||'Telegram Bot Notification';
  let msg = url.searchParams.get('msg')||'Add msg parameter to send customized message';
 
  if(msg.errcode){
    return new Response(JSON.stringify(msg), {
      status: 200, 
      headers:{
        'content-type':'application/json; charset=UTF-8'
      }
    })
  }
 
  return await sendMessage(title, msg);
}

async function sendMessage(title, msg){
  let url = "https://api.telegram.org/";
  url += "bot" + OPT.BotToken + "/sendMessage?";
  url += "chat_id=" + OPT.ChatID + "&";
  url += "parse_mode=" + OPT.ParseMode + "&";
  url += "text=*" + title + "*%0A%0A";
  url += msg;
  
  return fetch(url ,{
    method:'get',
    headers: {
      'Accept': 'text/html,application/xhtml+xml,application/xml;',
      'Accept-Encoding': 'gzip, deflate, br',
      'User-Agent': 'Mozilla/5.0 Chrome/90.0.4430.72'
    }
  });
}

新建 Workers,将代码粘贴至脚本中,点击部署

脚本默认使用 MarkdownV2 格式,如果使用纯文本或 HTML 格式,需要自行修改位于 34 行的标题加粗 ** 号

可以在 OPT 内添加其他通知参数,关于其他参数可以查看 Telegram Bot API

以上代码已发布到 azhuge233 / Teleflare-Messenger