哈喽!林墨白 https://blog.lmb520.cn/ zh-CN 沉墨满纸,一笑若白。 Sun, 18 Aug 2024 19:33:00 +0800 Sun, 18 Aug 2024 19:33:00 +0800 《无处遁形:全网公敌》主线已通关 https://blog.lmb520.cn/archives/1305/ https://blog.lmb520.cn/archives/1305/ Sun, 18 Aug 2024 19:33:00 +0800 林墨白 《无处遁形:全网公敌》

简介

《无处遁形》是Steam平台广受好评的剧情向黑客解密游戏《全网公敌》手游版本。玩家通过网络搜索和社工手段获取目标人物信息,其隐藏最深的秘密都无处遁形。游戏中的每个故事看似各自独立,但随着剧情的发展却是草蛇灰线,伏脉千里。当所有事件串联起来,竟隐藏着惊天的秘密.....希望玩家在游玩的同时,对网络本身也能产生反思,学会保护好个人隐私。
游戏链接:https://tap.cn/lIajiwtcy
是否付费:是

获奖

Screenshot_2024_0818_193229.png

主线内容

第一章:程序员之死

某公司CEO跳楼自杀,自称被毒妻勒索千万;而妻子却在社交网络上发布被家暴的照片。谣言满天,谁在说谎?

第二章:看不见的眼睛

女大学生的不雅视频在网络疯传,这一刻,她已然社会性死亡。到底谁才是始作俑者?女性的安全又该由谁去保护?

第三章:消失的证据

品学兼优的学生会长忽然失踪。霸凌事件使案情越发扑朔迷离。谁是凶手,谁是受害者?

第四章:羞辱的代价

天降巨瓜,女歌星再次被爆黑料!恐吓信、炒作、前女团成员自杀事件.....网络再掀舆论狂欢!

第五章:永生代码

当社会陷入癫狂,你是否也愿意加入永生代码,获得真正的爱与永生?

游玩感受

整个游戏剧情就是让作为黑客的自己解决公司的下达的任务。自我感觉游戏剧情很有深度,在执行任务的时候,里面可以使用破密、“开户”、定位等功能。线索可以从里面的浏览器、聊天软件、邮件等获取,而且线索层层推进,可玩性很高,并且结局有三个结局(好解决、一般结局、Win结局)。有这地方的信息比较难获取,官方论坛也有攻略(但是自己找到更有成就感),美中不足的就是破密的方式有些简陋吧~

游戏视图

Screenshot_20240818_180819_5d31074c296fbfda28d67624b4aebe18.jpg
Screenshot_20240817_105129.jpg
Screenshot_20240817_143230.jpg
Screenshot_20240818_181035_5d31074c296fbfda28d67624b4aebe18.jpg
Screenshot_20240818_181705_5d31074c296fbfda28d67624b4aebe18.jpg
Screenshot_20240818_181831_5d31074c296fbfda28d67624b4aebe18.jpg
Screenshot_20240818_181838_5d31074c296fbfda28d67624b4aebe18.jpg
Screenshot_20240817_153644.jpg
Screenshot_20240818_180757_5d31074c296fbfda28d67624b4aebe18.jpg
Screenshot_20240818_183149_5d31074c296fbfda28d67624b4aebe18.jpg
Screenshot_20240818_183201_5d31074c296fbfda28d67624b4aebe18.jpg
Screenshot_20240818_182546_5d31074c296fbfda28d67624b4aebe18.jpg

]]>
2 https://blog.lmb520.cn/archives/1305/#comments https://blog.lmb520.cn/feed/
给BearSimple主题加一个友链随机跳转 https://blog.lmb520.cn/archives/1271/ https://blog.lmb520.cn/archives/1271/ Tue, 07 May 2024 18:30:00 +0800 林墨白 话说

因为BearSimple主题功能太多,昨天才发现有一个幻灯片的功能没使用,但是我好像没有什么东西可以放上去,思来想去好像可以做一个友链随机跳转。
本站随机跳转链接(点击幻灯片一样的效果):https://blog.lmb520.cn/other/links-go.php

实现

BearSimple有独立的友链数据库表,所以可以直接用php连接数据库获取友链链接,进行随机访问。中间过渡页面是使用开往的plain简洁版页面(作者是:Lifeni)
具体代码如下:

<html lang="zh">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <script async src="https://umami.luochancy.com/script.js" data-website-id="23ac5682-b5b5-4013-8a32-5ceb3e598df2"></script>
  <title>星际穿梭中 - 哈喽!林墨白</title>
  <meta
    name="description"
    content="沉墨满纸,一笑若白。——林墨白"
  />
  <link rel="shortcut icon" href="https://files.blog.lmb520.cn/assets/img/logo/pink-black.png" />
<link rel="stylesheet" href="https://files.blog.lmb520.cn/assets/css/links-go.css">
</head>
<body>
<?php
// 数据库连接信息
$servername = "xxxx";
$username = "xxxx";
$password = "xxxxx";
$dbname = "xxxxx";

// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("数据库连接失败: " . $conn->connect_error);
}

// 查询有效博客
$sql = "SELECT friendurl, friendname FROM typecho_bscore_friendlinks WHERE status = 'approved'";
$result = $conn->query($sql);

// 存储有效博客的数组
$links = array();

// 将有效博客存储到数组中
if ($result && $result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $friendUrl = $row["friendurl"];
        $friendName = $row["friendname"];
        // 确保友情链接是有效的URL格式
        if (filter_var($friendUrl, FILTER_VALIDATE_URL)) {
            $links[] = array("url" => $friendUrl, "name" => $friendName);
        }
    }
} else {
    echo "没有有效博客";
    $conn->close();
    exit();
}

// 关闭数据库连接
$conn->close();

// 随机选择一个博主
if (!empty($links)) {
    $random_link = $links[array_rand($links)];
    
    // 过渡页面显示时间
    echo '<script>
            setTimeout(function() {
              window.location.replace("' . $random_link["url"] . '");
            }, 3000); 
          </script>';
} else {
    echo "没有有效博客";
    exit();
}
?>
<main>
  <h1><span>哈喽!林墨白</span><span>正在驶入“<?php echo $random_link["name"]; ?>”星云</span></h1>

  <!-- Material Design 风格的加载动画 https://codepen.io/mrrocks/pen/ExLovj -->
  <svg
    class="spinner"
    width="32px"
    height="32px"
    viewBox="0 0 66 66"
    xmlns="http://www.w3.org/2000/svg"
  >
    <circle
      class="path"
      fill="none"
      stroke-width="6"
      stroke-linecap="round"
      cx="33"
      cy="33"
      r="30"
    ></circle>
  </svg>
</main>
<footer>
  <a
    href="https://blog.lmb520.cn/"
    target="_blank"
    rel="noopener noreferrer"
  >
    返回首页
  </a>
  <a
    href="https://blog.lmb520.cn/links.html"
    target="_blank"
    rel="noopener noreferrer"
  >
    加入友链
  </a>
  <a
    href="https://github.com/Lifeni"
    target="_blank"
    rel="noopener noreferrer"
  >
    模板作者
  </a>
  <span></span>
  <a
    href="https://beian.miit.gov.cn/"
    target="_blank"
    rel="noopener noreferrer"
  >
    蜀ICP备-2023019525号-1
  </a>
</footer>
</body>
</html>

里面的css调用代码可以将

<link rel="stylesheet" href="https://files.blog.lmb520.cn/assets/css/links-go.css">

改为

<style>
      /* 色板:https://www.materialui.co/colors */
      * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }

      body {
        font-family: Inter, -apple-system, HarmonyOS Sans SC, MiSans,
          Source Han Sans SC, Noto Sans SC, system-ui, Roboto, emoji, sans-serif;
        color: black;
        background: white;
        font-weight: 400;
        font-size: 1rem;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
      }

      main {
        padding: 2rem;
        flex: 1;
        display: flex;
        gap: 2rem;
        flex-direction: column;
        align-items: center;
        justify-content: center;
      }

      main h1 {
        margin-top: 4rem;
        font-size: 1.75rem;
        font-weight: 700;
        line-height: 1.75;
        text-align: center;
      }

      main h1 span {
        white-space: nowrap;
      }

      footer {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem 1.5rem;
        align-items: center;
        justify-content: center;
        padding: 1.75rem 2rem;
      }

      footer a {
        font-size: 0.875rem;
        text-decoration: none;
        color: #757575;
        transition: all 0.2s;
      }

      footer span {
        flex: 1;
      }

      footer a:hover {
        color: #3f51b5;
        text-decoration: underline;
        text-underline-offset: 0.25rem;
      }

      @media (prefers-color-scheme: dark) {
        body {
          color: #eeeeee;
          background: #212121;
        }

        footer a {
          color: #bdbdbd;
          transition: all 0.2s;
        }

        footer a:hover {
          color: #5c6bc0;
        }
      }

      @media screen and (max-width: 768px) {
        main {
          margin-top: 4.5rem;
        }

        main h1 {
          font-size: 1.5rem;
        }

        footer {
          gap: 0.5rem 1rem;
        }

        footer span {
          display: none;
        }
      }

      /* Material Design 风格的加载动画 https://codepen.io/mrrocks/pen/ExLovj  */
      .spinner {
        -webkit-animation: rotator 1.4s linear infinite;
        animation: rotator 1.4s linear infinite;
      }

      @-webkit-keyframes rotator {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(270deg);
        }
      }

      @keyframes rotator {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(270deg);
        }
      }

      .path {
        stroke-dasharray: 187;
        stroke-dashoffset: 0;
        transform-origin: center;
        -webkit-animation: dash 1.4s ease-in-out infinite,
          colors 5.6s ease-in-out infinite;
        animation: dash 1.4s ease-in-out infinite,
          colors 5.6s ease-in-out infinite;
      }

      @-webkit-keyframes colors {
        0% {
          stroke: #4285f4;
        }
        25% {
          stroke: #de3e35;
        }
        50% {
          stroke: #f7c223;
        }
        75% {
          stroke: #1b9a59;
        }
        100% {
          stroke: #4285f4;
        }
      }

      @keyframes colors {
        0% {
          stroke: #4285f4;
        }
        25% {
          stroke: #de3e35;
        }
        50% {
          stroke: #f7c223;
        }
        75% {
          stroke: #1b9a59;
        }
        100% {
          stroke: #4285f4;
        }
      }
      @-webkit-keyframes dash {
        0% {
          stroke-dashoffset: 187;
        }
        50% {
          stroke-dashoffset: 46.75;
          transform: rotate(135deg);
        }
        100% {
          stroke-dashoffset: 187;
          transform: rotate(450deg);
        }
      }
      @keyframes dash {
        0% {
          stroke-dashoffset: 187;
        }
        50% {
          stroke-dashoffset: 46.75;
          transform: rotate(135deg);
        }
        100% {
          stroke-dashoffset: 187;
          transform: rotate(450deg);
        }
      }
</style>

因为有可能我会移动样式文件,但是我移动后也会及时更新除非我忘了,所以建议自己放在代码里或者找个地方储存调用

注意

代码里面有很多需要自己按情况修改,比如数据库信息、网页内容、网站图标等等

]]>
7 https://blog.lmb520.cn/archives/1271/#comments https://blog.lmb520.cn/feed/
摄影分享 https://blog.lmb520.cn/archives/1253/ https://blog.lmb520.cn/archives/1253/ Mon, 06 May 2024 21:37:00 +0800 林墨白
林墨白的摄影作品_20240220_130915323.jpg
林墨白摄影作品_20240210_220911735.jpg
林墨白摄影作品_20240210_182825115.jpg
CRnall_20240210_165322957.jpg

]]>
3 https://blog.lmb520.cn/archives/1253/#comments https://blog.lmb520.cn/feed/
Typecho好看恋爱主题💕—Brave勇敢爱(魔改版) https://blog.lmb520.cn/archives/1196/ https://blog.lmb520.cn/archives/1196/ Wed, 20 Mar 2024 09:54:00 +0800 林墨白 Screenshot_2024_0319_162331.png

介绍

Brave主题是一款适合有对象的博主使用,可以和对象一起记录自己的恋爱历程

原版本

作者:赵阿卷
下载:
教程:https://blog.zwying.com/archives/59.html

魔改版

演示: love.lmb520.cn (原来的jjaa.love续费太贵了所以就没用了)
下载: https://lmb520.lanzoul.com/b05l2ytcj
密码: lmb520

感谢伊梦乡归处提供部分魔改教程

目前支持的功能


















等等等……

魔改版食用教程

主题配置

推荐在php7.4版本运行,太高的版本会报错
将主题压缩包完整上传到服务器上 Typecho 的/usr/themes/文件夹内,解压,然后到 Typecho 后台-控制台-外观-启用主题即可
由于本版本魔改太多,建议将原版或者其他魔改版备份后删除,再食用本主题。

启用后,创建对应页面,这里有几个页面需要创建,分别是首页页面、祝福板页面、点点滴滴页面、随笔说说页面、关于我们页面、恋爱清单页面、相册页面

除了首页页面其他的页面不是必须创建,而且一定要选择对应的模板!!!

首页页面创建好后,请在设置首页(如下图)
63adb5b22d881.jpg

然后就是主题设置了,主题设置内容截图
Screenshot_2024_0320_080220.jpg

喜欢的功能就打开,不喜欢就不打开,自由支配功能

基础内置图片配置

我们魔改版内置了许多图片,填写内置图片后可以让你快速配置主题以达到效果
头部大图设置

/usr/themes/Brave/asset/img/background.jpg

背景设置设置

/usr/themes/Brave/asset/img/background.svg

首页祝福墙小组件图标

/usr/themes/Brave/asset/img/祝福墙.svg

首页点点滴滴小组件图标

/usr/themes/Brave/asset/img/点点滴滴.svg

首页随笔说说小组件图标

/usr/themes/Brave/asset/img/随笔说说.svg

首页关于我们小组件图标

/usr/themes/Brave/asset/img/关于我们.svg

首页恋爱清单小组件图标

/usr/themes/Brave/asset/img/恋爱清单.svg

首页相册小组件图标

/usr/themes/Brave/asset/img/相册.svg

恋爱清单配置

恋爱清单采用短代码形式书写,不再采用繁杂的文章发布,格式如下:

[loveList]
[item status="0" img="" listct=""]一起看日出🌅[/item]
[item status="0" img="" listct=""]一起看日落🌄[/item]
[/loveList]

参数说明:
status为0将显示灰色对勾,代表未完成此项,为1会显示绿色对勾,代表完成此项img后面可以填写图片的链接,将显示在清单展开后,不填默认灰色填充,listct后面填写时间内容(格式不做规定)

如果需要预制好的恋爱清单,就直接将以下内容完整复制到到恋爱清单页面里

[loveList]
[item status="0" img="" listct=""]一起看日出🌅[/item]
[item status="0" img="" listct=""]一起看日落🌄[/item]
[item status="0" img="" listct=""]一起看绚烂的烟花🌟[/item]
[item status="0" img="" listct=""]一起吃路边摊🍖[/item]
[item status="0" img="" listct=""]一起唱首歌并录下来🎤[/item]
[item status="0" img="" listct=""]一起穿情侣装逛街👫[/item]
[item status="0" img="" listct=""]一起去游乐园(迪士尼)嗨一天🎈[/item]
[item status="0" img="" listct=""]陪对方过生日🎂[/item]
[item status="0" img="" listct=""]一起去海南的天涯海角🌴[/item]
[item status="0" img="" listct=""]一起去你的小学、初中、高中、大学👫[/item]
[item status="0" img="" listct=""]一起去我的小学、初中、高中、大学👫[/item]
[item status="0" img="" listct=""]一起放孔明灯🏮[/item]
[item status="0" img="" listct=""]去遍中国的每一个省份🚉[/item]
[item status="0" img="" listct=""]一起去钓鱼🐟[/item]
[item status="0" img="" listct=""]一起去当志愿者、义工👮[/item]
[item status="0" img="" listct=""]一起坐一辆没坐过的车,在陌生的地方下车逛🚃[/item]
[item status="0" img="" listct=""]淋一次雨,在雨中漫步☔[/item]
[item status="0" img="" listct=""]为对方做早餐🍔[/item]
[item status="0" img="" listct=""]在沙滩上写下彼此的名字✍[/item]
[item status="0" img="" listct=""]一起看初雪⛄[/item]
[item status="0" img="" listct=""]穿彼此的衣服👯[/item]
[item status="0" img="" listct=""]一起去坐过山车🎎[/item]
[item status="0" img="" listct=""]嘴对嘴吃东西🍜[/item]
[item status="0" img="" listct=""]一起去游泳🏊[/item]
[item status="0" img="" listct=""]去遍人民币背后的风景⛳[/item]
[item status="0" img="" listct=""]两个人一起锻炼运动🏃💃[/item]
[item status="0" img="" listct=""]一起爬山💑[/item]
[item status="0" img="" listct=""]在耳边低声旖旎"我爱你"💖[/item]
[item status="0" img="" listct=""]一起对着流星许愿🌠[/item]
[item status="0" img="" listct=""]一起手拉手压马路👫[/item]
[item status="0" img="" listct=""]一起坐在阳台,晒着太阳,磕着瓜子,聊着天👐[/item]
[item status="0" img="" listct=""]一起养一只宠物🐶[/item]
[item status="0" img="" listct=""]在公共场合下一起喝娃哈哈🍼[/item]
[item status="0" img="" listct=""]一起去买菜、做饭、刷碗🍛[/item]
[item status="0" img="" listct=""]一起去坐热气球🎈[/item]
[item status="0" img="" listct=""]带我去你童年居住的地方走一走👩[/item]
[item status="0" img="" listct=""]带你去我童年居住的地方走一走🧑[/item]
[item status="0" img="" listct=""]一起堆雪人⛄[/item]
[item status="0" img="" listct=""]一起坐摩天轮,在最高处拥吻💏[/item]
[item status="0" img="" listct=""]一起用勺子吃西瓜🍉[/item]
[item status="0" img="" listct=""]一起捡贝壳🐚[/item]
[item status="0" img="" listct=""]看一次冰灯⛲[/item]
[item status="0" img="" listct=""]一起去看海🌊[/item]
[item status="0" img="" listct=""]一起走沙滩🚶[/item]
[item status="0" img="" listct=""]一起去看支付宝共同种下的树🎋[/item]
[item status="0" img="" listct=""]一起跨年,通宵守岁📺[/item]
[item status="0" img="" listct=""]送彼此出门,给一个大大的拥抱与啵啵😚[/item]
[item status="0" img="" listct=""]一起看书,装满我们的书架💡[/item]
[item status="0" img="" listct=""]为对方穿衣服、系鞋带🙅[/item]
[item status="0" img="" listct=""]推对方玩秋千💁[/item]
[item status="0" img="" listct=""]一起去参加朋友的婚礼💕[/item]
[item status="0" img="" listct=""]在马尔代夫,体验玻璃地板的海上小屋🏡[/item]
[item status="0" img="" listct=""]一起坐一次飞机🛫[/item]
[item status="0" img="" listct=""]一起坐一次游轮🚤[/item]
[item status="0" img="" listct=""]一起去看一次演唱会🎵[/item]
[item status="0" img="" listct=""]一起在浴缸里泡澡🛀[/item]
[item status="0" img="" listct=""]一起去看海豚🐬[/item]
[item status="0" img="" listct=""]一起去捡落叶🍁[/item]
[item status="0" img="" listct=""]开车红灯时叫你啵啵🚗[/item]
[item status="0" img="" listct=""]一起完成一个冒险刺激的挑战💀[/item]
[item status="0" img="" listct=""]一起沿着铁轨走🚂[/item]
[item status="0" img="" listct=""]一起去看埃菲尔铁塔,在塔下拥吻👄[/item]
[item status="0" img="" listct=""]一起设计整理房间💎[/item]
[item status="0" img="" listct=""]徒步走完北京二环👟[/item]
[item status="0" img="" listct=""]与好朋友一起,享受四人约会的美妙💜💛💚💙[/item]
[item status="0" img="" listct=""]为他打领带🔫[/item]
[item status="0" img="" listct=""]我叫你一次“老婆”,你叫我一次“老公”👨‍❤️‍💋‍👨[/item]
[item status="0" img="" listct=""]带你在午夜开车兜风🚙[/item]
[item status="0" img="" listct=""]为她涂指甲油💅[/item]
[item status="0" img="" listct=""]来一次浪漫的小情趣😍[/item]
[item status="0" img="" listct=""]在阳台上养着一排多肉植物🥦[/item]
[item status="0" img="" listct=""]一起过一次六一儿童节👧👦[/item]
[item status="0" img="" listct=""]入住一次五星级酒店🏨[/item]
[item status="0" img="" listct=""]为彼此换一个对方心仪的发型,不论长短烫染💇[/item]
[item status="0" img="" listct=""]偷偷观察对方熟睡的模样,记录下来📷[/item]
[item status="0" img="" listct=""]一起去打电玩👾[/item]
[item status="0" img="" listct=""]一起给对方写信,读给对方听📄[/item]
[item status="0" img="" listct=""]一起滑雪,摔倒也要拉着你🎿[/item]
[item status="0" img="" listct=""]拥有我们独特的情侣戒指💍[/item]
[item status="0" img="" listct=""]一起完成一副千片拼图😜[/item]
[item status="0" img="" listct=""]一起去天安门看升旗仪式🚄[/item]
[item status="0" img="" listct=""]一起包饺子🥟[/item]
[item status="0" img="" listct=""]一起去吃自助餐,把没尝过的食材都尝试一遍🔪[/item]
[item status="0" img="" listct=""]去拍一回写真📸[/item]
[item status="0" img="" listct=""]一起去新加坡看焰火表演🎇[/item]
[item status="0" img="" listct=""]一起去看极光⚡⚡[/item]
[item status="0" img="" listct=""]背着她走一段路👣[/item]
[item status="0" img="" listct=""]一起赏月🌙[/item]
[item status="0" img="" listct=""]一起去看樱花🌸[/item]
[item status="0" img="" listct=""]以喝交杯酒的方式喝东西🥂[/item]
[item status="0" img="" listct=""]一起买一张彩票🎫[/item]
[item status="0" img="" listct=""]在树下埋下我们的约定🎑[/item]
[item status="0" img="" listct=""]带上你我的家人去聚会、旅游🚙[/item]
[item status="0" img="" listct=""]来一场难忘的求婚🎁💍[/item]
[item status="0" img="" listct=""]在朋友面前大方介绍彼此💋[/item]
[item status="0" img="" listct=""]拍属于我们自己的婚纱照🎎[/item]
[item status="0" img="" listct=""]互相在朋友圈晒结婚证📇[/item]
[item status="0" img="" listct=""]设计一场梦中的婚礼💤🌹🎉[/item]
[item status="0" img="" listct=""]拥有一个爱的结晶,给予宝贝最好的爱👶👼[/item]
[item status="0" img="" listct=""]余生漫漫,执子之手,与子偕老💏[/item]
[/loveList]

相册配置

具体配置

相册我们采用photo-page-for-typecho提供的Multiverse风格照片集单页

相册内容请按照如下格式一行一行的写

标题,简介,图片链接

例如:

第一张合影,2023年08月31日拍摄,https://jjaa.love/usr/uploads/2024/03/2427758495.jpg
picture1,2020年01月01日拍摄,https://ww2.sinaimg.cn/large/006uAlqKgy1fzlbjrxju2j31400u04qz.jpg
picture2,2020年01月02日拍摄,https://ww2.sinaimg.cn/large/006uAlqKgy1fzlbjrxju2j31400u04qz.jpg
picture3,2020年01月03日拍摄,https://ww2.sinaimg.cn/large/006uAlqKgy1fzlbjrxju2j31400u04qz.jpg

自定义字段配置

  1. (可选) about:控制指定位置的文本,可自定义关于等信息
  2. (可选) CDN:用以匹配你所使用的对象存储服务商,目前支持又拍云、阿里云OSS、七牛云、腾讯云,本字段目的在于使用云图像处理动态生成缩略图。对应填写内容为:UPYUN/OSS/KODO/COS
  3. (可选) 社交链接字段 Twitter, Facebook, Instagram, GitHub,给相应字段填入链接即可。

关于我们配置

这里我们使用的是botui聊天机器人,效果体验:https://jjaa.love/about.html

里面的内容我我没有写在后台,需要自行编辑usr/themes/Brave/botui/botui.js
如果有点基础的应该可以看懂怎么改了吧,没有基础的就自己百度现学吧(或者联系我,如果我有时间)

Vaptcha人机验证配置

本功能需要搭配由白熊开发的的Vaptcha_Typecho插件

Brave适配版下载链接: https://lmb520.lanzoul.com/b05l2yukd
密码: lmb520
建议使用适配版,如果用原版的话,手机端会出现验证框太大的情况(如下图)
Screenshot_2024_0319_095337.png
Vaptcha插件在/usr/plugins解压,并在后台开启,然后设置Vaptcha插件。
具体配置:

  1. https://www.vaptcha.com/ 注册账号并创建验证单元
  2. 在插件设置里面填写VID,并且在按钮配置框填写button(如下图)Screenshot_2024_0320_083332.png

注意: 主题的Vaptcha人机验证开关和Vaptcha插件要同步启用和关闭

Pjax无刷新配置

PJAX(Pushstate + Ajax)是一种用于加快网页加载速度的技术。它结合了HTML5的pushState API和Ajax技术,使得在不刷新整个页面的情况下,可以实现局部页面内容的更新。然而,PJAX也有一些局限性,例如像某些API无法进行及时获取更新内容。

如果你启用了Pjax无刷新,但是关闭了Vaptcha人机验证,那么你无需配置任何内容,因为相关API的重载我们已经写入了代码里。

如果你既启用了Pjax无刷新,又启用了Vaptcha人机验证,那么需要在Pjax回调函数填入以下内容

//vaptcha验证
    var vaptchaScript = document.createElement('script');
    vaptchaScript.src = "https://v-cn.vaptcha.com/v3.js";    document.head.appendChild(vaptchaScript);
    vaptchaScript.onload = function() { document.getElementById("button").setAttribute("disabled", true);
        vaptcha({
            vid: "65f54815d3784602950e7f51",
            mode: 'click',
            scene: 0,
            container: "#VAPTCHAContainer",
            area: 'auto',
        }).then(function (VAPTCHAObj) {
            obj = VAPTCHAObj;
            VAPTCHAObj.render();
            VAPTCHAObj.listen('pass', function () {
                document.getElementById("button").removeAttribute("disabled");
            });
        });
    };

注意: 需要将vid: "65f54815d3784602950e7f51",里面的65f54815d3784602950e7f51换为你自己的VID,并且要和Vaptcha插件里面填的VID一样

需要注意的地方

  1. 祝福墙已经禁止输入男女主的昵称,但是男女主可以登录账号发祝福(因为账号可以设置昵称并且不受该限制)
  2. 已经禁止游客发随笔说说,但是男女主登录后可以在前台发说说。

第一点是为了防止有人冒充男女主发不当言论,第二点是防止游客乱发说说

更新记录

Lv-1.4.1

首先恭喜韩小韩WebAPI接口升级完毕
Screenshot_2024_0320_230504.png

修复内容

由于韩小韩WebAPI接口于2024年3月20日晚10:00:00,迎来最后一次大更新,也就是大版本更新的最终版本!
因为更新后接口改变了,所以导致我今天才发布魔改版中的随机情话也失效了

影响文件

  1. base/footer.php

修复方法

将压缩包上传到uer/themes,然后解压即可(如果你是已使用用户下载更新文件压缩包即可)
Screenshot_2024_0321_000741.png

]]>
55 https://blog.lmb520.cn/archives/1196/#comments https://blog.lmb520.cn/feed/
对现代爱情的看法 https://blog.lmb520.cn/archives/1189/ https://blog.lmb520.cn/archives/1189/ Mon, 11 Mar 2024 21:59:00 +0800 林墨白 语文课堂作文选题其一:对爱情的看法

1fc6ace45f9b4129a1e00a84e88e683c.png
爱情本应是一种强烈的感情和亲密的体现。这种关系建立在互相尊重、信任和包容的基础上,并可能带来深深的幸福感和满足感。鲁迅曾说过:“恋爱就像放风筝,你不必过度束缚,也不必过于放任”。先生!可是这个时代的爱情终究还是变了,变得廉价,变得让人厌恶。

社会的快节奏发展,物价水涨船高,工资却“稳如泰山”。人们在这种不平衡的发展下各种压力暴增,事业和爱情很难双丰收,在某种意义上爱情似乎变贵了,现实却狠狠地给了一巴掌,每次谈恋爱就像一次商业合作:只谈利益,不谈感情。像这种快餐式的爱情,闪婚式的剧情逐渐兴起,但大部分结局也只有被玩弄感情,这也许是为了传宗接代,又或者是应付时代。虽说时代要进步,有些爱情却发展错误……

]]>
1 https://blog.lmb520.cn/archives/1189/#comments https://blog.lmb520.cn/feed/
幻想十年后自己的爱情 https://blog.lmb520.cn/archives/1184/ https://blog.lmb520.cn/archives/1184/ Sun, 10 Mar 2024 14:56:00 +0800 林墨白 语文课堂作文选题其一:写十年后自己的爱情

68f650b086c543f5a6dd9f3c8801d72c.png

2034年,那时的我已经26岁。我的爱情是怎样的呢?又或是还未获得爱情?相比于后者我更相信:我的爱情可能是平凡而不平庸。

那时我的爱情可能平凡,平凡到每天固定时间上下班,平凡到柴米油盐都得精打细算。那时我的爱情绝不会平庸,和相爱的人在一起,三观一致并且热爱生活,因为有她所以不
平庸。那时的我们会让爱情变得不再平凡,我们会共同努力进步,不约束自己不约束对方,向着各自的梦想迈进。

“可能”代表着不确定,我不会把爱情写得太完美,因为我害怕现实太残酷;平凡,不能完美表达我们向往的爱情,但也许是给自己留所余地。子曰:“二十弱冠,三十而立,四十而不惑。”那时的我26岁,我们的爱情还有无限可能……我相信这种可能会偏向于“不再平凡,更不会平庸”

相比于现在是她,我更希望未来也是她。

]]>
0 https://blog.lmb520.cn/archives/1184/#comments https://blog.lmb520.cn/feed/
喜欢樱花🌸吗?加个飘落特效吧 https://blog.lmb520.cn/archives/1113/ https://blog.lmb520.cn/archives/1113/ Fri, 19 Jan 2024 20:32:00 +0800 林墨白 演示

截图

Screenshot_2024_0119_203412.png
Screenshot_2024_0119_072342.png

演示站

JS特效演示站点: http://js.test.lmb520.cn/yinghua

代码与部署

代码

这里的代码有点多,因为要用到进制转换成樱花

var stop, staticx;
            var img = new Image();    
            img.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUgAAAEwCAYAAADVZeifAAAACXBIWXMAAACYAAAAmAGiyIKYAAAHG2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBSaWdodHM9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9yaWdodHMvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcFJpZ2h0czpNYXJrZWQ9IkZhbHNlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NDFDMjQxQjYyNjIwNjgxMTgwODNEMjE2MDAzOTU1NDQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNDVjOWViOC04NDc4LTFkNDctOGRjMi0yZDkyOGNhYTYxZWQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YjAzN2ZiMGItNTU5Mi0xYjRkLWJjZGQtOWU4NGExMDJiMGM2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTA1LTA5VDE0OjQ5OjM3KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0wNS0wOVQxNDo1MToyNSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0wNS0wOVQxNDo1MToyNSswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyMjVlZWE3LTEyY2QtMTY0NC04ZDAzLWFjOTE2ZTAxZDQ1YyIgc3RSZWY6ZG9jdW1lbnRJRD0idXVpZDoxRDIwNUFGNjZCRDlFNTExOUM5REMwMzg2RjlEQjFGNyIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphYmMzNjIzMy1hOWNkLWNiNDQtODViYi0zZTgyMjEwYmIxMjYiIHN0RXZ0OndoZW49IjIwMTgtMDUtMDlUMTQ6NTE6MjUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjAzN2ZiMGItNTU5Mi0xYjRkLWJjZGQtOWU4NGExMDJiMGM2IiBzdEV2dDp3aGVuPSIyMDE4LTA1LTA5VDE0OjUxOjI1KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2Vx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";
            function Sakura(x, y, s, r, fn) {
                this.x = x;
                this.y = y;
                this.s = s;
                this.r = r;
                this.fn = fn;
            }
            Sakura.prototype.draw = function(cxt) {
                cxt.save();
                var xc = 40 * this.s / 4;
                cxt.translate(this.x, this.y);
                cxt.rotate(this.r);
                cxt.drawImage(img, 0, 0, 40 * this.s, 40 * this.s)
                cxt.restore();
            }
            Sakura.prototype.update = function() {
                this.x = this.fn.x(this.x, this.y);
                this.y = this.fn.y(this.y, this.y);
                this.r = this.fn.r(this.r);
                if(this.x > window.innerWidth ||
                    this.x < 0 ||
                    this.y > window.innerHeight ||
                    this.y < 0
                ) {
                    this.r = getRandom('fnr');
                    if(Math.random() > 0.4) {
                        this.x = getRandom('x');
                        this.y = 0;
                        this.s = getRandom('s');
                        this.r = getRandom('r');
                    } else {
                        this.x = window.innerWidth;
                        this.y = getRandom('y');
                        this.s = getRandom('s');
                        this.r = getRandom('r');
                    }
                }
            }
            SakuraList = function() {
                this.list = [];
            }
            SakuraList.prototype.push = function(sakura) {
                this.list.push(sakura);
            }
            SakuraList.prototype.update = function() {
                for(var i = 0, len = this.list.length; i < len; i++) {
                    this.list[i].update();
                }
            }
            SakuraList.prototype.draw = function(cxt) {
                for(var i = 0, len = this.list.length; i < len; i++) {
                    this.list[i].draw(cxt);
                }
            }
            SakuraList.prototype.get = function(i) {
                return this.list[i];
            }
            SakuraList.prototype.size = function() {
                return this.list.length;
            }
            function getRandom(option) {
                var ret, random;
                switch(option) {
                    case 'x':
                        ret = Math.random() * window.innerWidth;
                        break;
                    case 'y':
                        ret = Math.random() * window.innerHeight;
                        break;
                    case 's':
                        ret = Math.random();
                        break;
                    case 'r':
                        ret = Math.random() * 6;
                        break;
                    case 'fnx':
                        random = -0.5 + Math.random() * 1;
                        ret = function(x, y) {
                            return x + 0.5 * random - 1.7;
                        };
                        break;
                    case 'fny':
                        random = 1.5 + Math.random() * 0.7
                        ret = function(x, y) {
                            return y + random;
                        };
                        break;
                    case 'fnr':
                        random = Math.random() * 0.03;
                        ret = function(r) {
                            return r + random;
                        };
                        break;
                }
                return ret;
            }
            function startSakura() {
                requestAnimationFrame = window.requestAnimationFrame ||
                    window.mozRequestAnimationFrame ||
                    window.webkitRequestAnimationFrame ||
                    window.msRequestAnimationFrame ||
                    window.oRequestAnimationFrame;
                var canvas = document.createElement('canvas'),
                    cxt;
                staticx = true;
                canvas.height = window.innerHeight;
                canvas.width = window.innerWidth;
                canvas.setAttribute('style', 'position: fixed;left: 0;top: 0;pointer-events: none;');
                canvas.style.zIndex = "9999";
                canvas.setAttribute('id', 'canvas_sakura');
                document.getElementsByTagName('body')[0].appendChild(canvas);
                cxt = canvas.getContext('2d');
                var sakuraList = new SakuraList();
                for(var i = 0; i < 30; i++) {
                    var sakura, randomX, randomY, randomS, randomR, randomFnx, randomFny;
                    randomX = getRandom('x');
                    randomY = getRandom('y');
                    randomR = getRandom('r');
                    randomS = getRandom('s');
                    randomFnx = getRandom('fnx');
                    randomFny = getRandom('fny');
                    randomFnR = getRandom('fnr');
                    sakura = new Sakura(randomX, randomY, randomS, randomR, {
                        x: randomFnx,
                        y: randomFny,
                        r: randomFnR
                    });
                    sakura.draw(cxt);
                    sakuraList.push(sakura);
                }
                stop = requestAnimationFrame(function() {
                    cxt.clearRect(0, 0, canvas.width, canvas.height);
                    sakuraList.update();
                    sakuraList.draw(cxt);
                    stop = requestAnimationFrame(arguments.callee);
                })
            }
            window.onresize = function() {
    var canvasSakura = document.getElementById('canvas_sakura');
    canvasSakura.width = window.innerWidth;
    canvasSakura.height = window.innerHeight;
}
            img.onload = function() {
                startSakura();
            }
            function stopp() {
                if(staticx) {
                    var child = document.getElementById("canvas_sakura");
                    child.parentNode.removeChild(child);
                    window.cancelAnimationFrame(stop);
                    staticx = false;
                } else {
                    startSakura();
                }
            }

部署

可以将代码内容保存到空间里并命名为yinghua.js然后使用代码调用它,该代码可以放在头部或尾部文件里

//粘贴到head或foot文件里
<script src="/yinghua.js"></script>//请根据实际路径修改

也可以调用我的 JS 文件,代码如下

//粘贴到head或foot文件里
<script src="https://files.blog.lmb520.cn/assets/js/yinghua.js"></script>
]]>
5 https://blog.lmb520.cn/archives/1113/#comments https://blog.lmb520.cn/feed/
在Woiden白嫖理论上的永久NAT VPS https://blog.lmb520.cn/archives/1011/ https://blog.lmb520.cn/archives/1011/ Tue, 16 Jan 2024 21:04:00 +0800 林墨白 前言

这篇文章本来已经写好了有个三四天。但是准备发布的时候,Woiden的服务器又出了问题,导致所有NAT VPS用不了,这让我无法了解Woiden的NAT VPS服务器,所以迟迟不发布。:^(困)

NAT VPS

NAT VPS是共享同一个公网ip(v4)地址,经过端口映射方式与外界通讯和提供服务的VPS。NAT VPS的主要缺点是能使用的端口有限制,通常十个左右,而且大多数商家不容许选择端口号。但NAT VPS有它盖不住的优势:便宜。NAT VPS省去了ip费用,带宽也是共享的,价格通常比普通vps要便宜很多。
但是Woiden的NAT VPS没有共享ipv4,但是有ipv6,不懂的自己百度

白嫖教程!

注册账号

注意:1、这个网站有很多广告,点的时候不要点到了。2、进入网站前你需要关闭广告拦截器,否则会出现以下错误
Screenshot_2024_0116_205255.png

白嫖链接🔗:https://woiden.id/
首先你需要一个Telegram(电报)账号,没有的可以参考以下文章进行注册,因为Woiden需要通过Telegram(电报)注册

注册链接🔗:https://woiden.id/register/
Screenshot_2024_0113_092046.png
这里需要打开你的Telegram(或第三方客户端),点击顶部搜索@HaxTG_bot
Screenshot_20240113_092357.png
对机器人发送/start,机器人就会给你发送你的Telegram ID
IMG_20240113_092605.png
在注册页面输入你的Telegram ID,点击Submit,你的Telegram账号就会收到一条@HaxTG_bot给你发的验证码消息
Screenshot_20240113_092825.png
Screenshot_20240113_093231.png
第一行填验证码,第二行填你的密码,点击Submit完成注册
Screenshot_20240113_093330.png
点击链接🔗:https://woiden.id/login/ 进行登录,在登录页面点击Log in with Telegram如果没有显示请换浏览器
Screenshot_20240113_093928.png
在Telegram授权登录页面,选择国家并输入你的手机号,点击NEXT
Screenshot_20240113_094706.png
然后Telegram官方会给你发送一条登录验证消息,点击Confirm进行确认,返回到浏览器你就会看到登录成功了
IMG_20240113_095402.png
在网页出现了这样的授权页面后,Telegram官方又会给你发送一条确认授权的消息
Screenshot_20240113_095456.png
点击Terminate session,Telegram账号就可以成功授权Woiden了
IMG_20240113_095718.png

免费创建NAT VPS

点击链接🔗:https://woiden.id/create-vps/
然后就会让你填写信息

  • 第一个是:Data Center(选择数据中心)
  • 第二个是:Operating System(选择操作系统)
  • 第三个是:Password(密码,仅限字母和数字)
  • 第四个是:VPS Purpose(选择VPS用途)

剩下的是人机验证和全部打勾
Screenshot_2024_0113_100255.png
最后点击CREATE VPS就可以免费创建NAT VPS,等待几分钟后你就可以在:https://woiden.id/vps-info 页面看见NAT VPS的信息了,在VPS Information你可以看到你的IPV6等信息
Screenshot_2024_0116_205730.png

这里顺便介绍一下,这一些链接的作用
VPS信息|VPS状态|重新安装VPS|重置VPS密码|关机和重启VPS|Web在线终端

Screenshot_2024_0116_192335.png

给NAT VPS免费续期

为什么说是理论上永久呢?因为他第一次创建,NAT VPS只有3天使用时间,然后NAT VPS还剩3天时间的时候你就可以去免费续期了,续一次增加2天。 所以说只要你记住定时给它续期,它就是永久,如果记不住就销毁了,但是销毁了又可以重新创建NAT VPS。
续期链接🔗:https://woiden.id/vps-renew/
你也可以点击Extend VPS Expiration进入续期页面
这里也顺便介绍一下这几个链接的功能
VPS
VPS的状态
重新安装VPS
重置VPS密码
延长VPS到期期限
关机和重启VPS
工具
Web 在线终端
文件管理器
IMG_20240116_191839.png

话说回来,进入延期界面后,你需要在第一个框输入Woiden.id,第二个框要计算一下加减乘除题,然后点击Renew VPS
IMG_20240116_211610.png

如果出现以下界面就算是申请延期成功
Screenshot_2024_0116_194632.png
如果出现以下页面就说明你人机验证失败了,需要刷新页面重新验证(验证失败很多次是很正常的,我觉得很鸡肋,多次失败可以试试换浏览器或者换VPN网络)
Screenshot_2024_0116_193448.png

点击INPUT RENEW CODE进入下一步,进入以下页面后,Woiden官方会通过Telegram给你发送一天验证码
IMG_20240116_194924.png
Screenshot_2024_0116_195238.png
复制验证码,粘贴到一个框,再计算一道加减乘除题和人机验证后你就可以点击Renew VPS,如果出现以下页面就说明已经成功续期了,如果不是的话就说明人机验证没通过或者验证码错了(只要认证。几乎没有错误)
Screenshot_2024_0116_200024.png

最后

除了可以在Woiden上白嫖NAT VPS,还可以在Hax(https://hax.co.id/)上白嫖NAT VPS,这俩都是同一个团队开发出来的,所以操作方式也几乎一样。
这俩相同点是: 都是只有IPV6(不清楚Woiden以后会不会加共享IPV4)
这俩不同点是: Woiden几乎每天不限量随时可以创建,而Hax只能在凌晨1点左右靠抢,Hax也需要VPN访问。
Woiden和Hax也是同一个Telegram交流群:https://t.me/ipv6china

结语

这就是关于“在Woiden白嫖理论上的永久NAT VPS”所有教程
我会最近更新使用在Woiden白嫖的NAT VPS上安装宝塔面板和仅使用IPV6进行建站

2024年1月20日更新

由于Woiden的NAT VPS老是出现ssh连不上,服务器炸了等问题,导致我无法继续尝试用它建站

提供思路

  1. 使用Woiden自带的终端,在线连接SHH并安装宝塔
  2. 找一个可以用ipv6的CDN服务商,这里推荐两个(域名未备案:Cloudflare,域名已备案:括彩云
  3. 使用ipv6打开宝塔面板,在宝塔绑定域名,然后在CDN也配置好域名
  4. 后面就可以通过域名建站了
]]>
0 https://blog.lmb520.cn/archives/1011/#comments https://blog.lmb520.cn/feed/
《查理九世》——谨以此书,纪念我的童年 https://blog.lmb520.cn/archives/1058/ https://blog.lmb520.cn/archives/1058/ Tue, 16 Jan 2024 00:25:00 +0800 林墨白 8b13632762d0f7033e5417d8d70cb9352497c5d4@f_auto.jpeg

我童年的故事始于“黑贝街的亡灵”,终于“九尾灵猫”
如果它诞生在美国,它会像漫威一样风靡全球;如果诞生于日本,它会被改编成动漫成为人人夸赞的神番;如果诞生于韩国,它会拍成电视剧看过的人会流连忘返……可惜它偏偏诞生于中国,如今呆在广电局黑名单里。
四人一狗组成的经典搭配,永远是童年最好的记忆,幼时的它火的一塌糊涂,如今却销声匿迹。

“雷欧幻像”的《查理九世》是小学初中最流行的冒险小说,达到了找同学借书还得预约与新华书店绝对是属于被翻烂的程度,《查理九世》对我来说是冒险小说的启蒙

拥有贵族血缘的小狗查理九世和虎鲨、晓婷以及扶幽,四个人一只狗一起经历的一系列的惊险的冒险故事。小说内容时刻在吸引着我们,让小时候的我们深陷其中,无法自拔
640.png

不过在我们渐渐长大了之后,我们现在再想要去市面上找这一套书的时候就已经是难以寻求原本的踪迹了。之所以说原来27册的《查理九世》,再也不是当年的《查理九世》了,是因为第27册《九尾灵猫》是查理九世改版的最后一册,现在它叫墨多多的秘境冒险。原本一个9-16岁定位的故事小说被硬生生变成3-12岁可读的少儿漫画。
e73ef6f4747275f8b1329865d56c61b1d3e90820.jpg

“谨以此书,纪念我的童年,那是一段小有遗憾的幸福时光。” 这是作者雷欧幻像写在书上的一句话,小时候以为只是作者写给自己的。长大了才明白原来……这也是写给我们

尽管初心依旧,热爱仍存,但我终究是“长大了”。我心底的那份爱恋似乎属于“她”,似乎又不属于“她”,或许是我变了,亦或许是“她”变了,“物是人非”是这真实的写照。
这些好像都变了,变了好多…好多……

谨以此书
纪念我的童年,
那是一段小有遗憾的幸福时光。
]]>
7 https://blog.lmb520.cn/archives/1058/#comments https://blog.lmb520.cn/feed/
二次元个人主页引导页(林墨白优化版) https://blog.lmb520.cn/archives/1024/ https://blog.lmb520.cn/archives/1024/ Sat, 13 Jan 2024 17:39:00 +0800 林墨白 演示

截图

Screenshot_2024_0113_171030.png

部署网站

原版

下载链接:https://aishuo.lanzout.com/ioRol1gf79kj

美化版

美化版更新信息

林墨白美化版v1.0

  1. 去掉原版顶图
  2. 增加圆形头像并加上底部阴影
  3. 增加导航与导航之前的的距离

林墨白美化版v1.1

  1. 优化头像位置
  2. 增加樱花飘落特效
  3. 樱花数量在./asset/xinghua.js中的第124行修改
  4. ./index.html中删除最后一行代码<script src="./asset/yinghua.js"></script>就可以取消樱花飘落特效

林墨白美化版v1.2

  1. 修复已知Bug
  2. 增加注意事项

林墨白美化版v1.3

  1. 修复教程上的错误
  2. 修复测速BUG
  3. 修复文件错误(不知道为啥代码咋变成中文了,hhh~)

值得注意的问题

  • 头像Logo在./asset/logo.png修改,背景在./asset/bj.png修改
  • 添加导航的时候,请不要完全复制,测速代码需要按顺序更改,比如:第一个导航为class="ms0" id="lineMs0",第二个导航为class="ms1" id="lineMs1"后面依次类推,否则无法返回测速时长IMG_20240119_074706.png
  • 如果导航超过7个以上了,需要在./asset/main.js中按规律增加测速代码,否则无法返回测速时长
    这里展示一下lineMs7代码

    if(url==autourl[7]){
          $('#lineMs7').html(str+'ms')
      }

    Screenshot_2024_0113_234201.png

]]>
1 https://blog.lmb520.cn/archives/1024/#comments https://blog.lmb520.cn/feed/
注册Telegram(电报)收不到短信?手把手教你如何搞定 https://blog.lmb520.cn/archives/943/ https://blog.lmb520.cn/archives/943/ Wed, 10 Jan 2024 11:23:00 +0800 林墨白 关于Telegram

介绍

OIP-C.jpeg
Telegram(非正式简称TG或电报)是跨平台的即时通讯软件,其客户端是自由及开放源代码软件,但服务器端是专有软件。用户可以相互交换加密与自毁消息(类似于“阅后即焚”),发送照片、影片等所有类型文件。官方提供手机版(Android、iOS、Windows Phone)、桌面版(Microsoft Windows、macOS、Linux)和网页版等多种平台客户端;同时官方开放应用程序接口(API),因此拥有许多第三方的客户端可供选择,其中多款内置中文。

目前使用缺点

  1. 国内很多时候屏蔽了Telegram发送的验证码,但是Telegram登录和注册不得不接收Telegram发送的验证码
  2. 需要连接VPN才可以访问

那么该如何注册呢?

Telegram中文版下载

针对以上两种问题,我们找到了一款不用VPN并且可以接收到Telegram验证码的软件:Btok
Btok下载链接:https://btok360.com/
logo_new.65a2e9d.png
Screenshot_2024_0113_212043.png

其实我觉得APP这个头像好丑呀
Btok可以称为Telegram中文版了,里面全是操作页面和Telegram原版一模一样,而是全是中文,这里可以对比一下,非常适合中国宝宝

这都是钱的教训,曾经有一个人年少无知,在Telegram被骗了700多,不要问是谁?反正不是我:^(流泪) :^(流泪)

]]>
4 https://blog.lmb520.cn/archives/943/#comments https://blog.lmb520.cn/feed/
免费白嫖Dewlance永久虚拟主机 https://blog.lmb520.cn/archives/906/ https://blog.lmb520.cn/archives/906/ Tue, 09 Jan 2024 08:36:00 +0800 林墨白 什么是Dewlance

logo.png
Dewlance® was founded In Feb' 2009 by Chandra Prakash. This site has been considered above all other existing sites. It consist of 6 hard working and quality assuring professionals. We work as a team to provide solutions at low cost and high quality assurance. Our servers are specially built to ensure reliability and durability at all time.
皇家翻译(仅供参考): Dewlance®由Chandra Prakash于2009年2月创立。该场地已被视为高于所有其他现有场地。它由6名辛勤工作和质量保证的专业人员组成。我们作为一个团队以低成本和高质量保证提供解决方案。我们的服务器是专门建造的,以确保在任何时候都具有可靠性和耐用性。

白嫖虚拟主机

主机配置

  • 1GB磁盘空间
  • 50GB/月 流量
  • DirectAdmin面板
  • 后台可免费申请SSL
  • 仅英国地区
  • 可以绑定1个主域名(lmb520.cn)和2个子域名(blog.lmb520.cn)
  • 2个MySQL数据库
  • 5个FTP账号

目前发现免费主机白嫖账号没有数量上限(反正我白嫖了20个主机了)

友好的功能

  • 前台和后台支持中文
  • 前台和后台不用VPN访问
  • 访问速度相比于其它外国服务器很快
  • 不需要国外信用卡,直接免费领取
  • 不限制邮箱登录,不用邮箱验证

开始白嫖!!

白嫖链接🔗:https://www.dewlance.com/free-hosting
选择0 - Free,不建议选择6 YEARLY,因为我们是白嫖:^(色)
Screenshot_2024_0109_075808.png

选择I will use my existing domain and update my nameservers,域名里面可以乱填,反正控制面板可以改的
Screenshot_2024_0109_080631.png
这里可以选择中文,只不过是繁体的
Screenshot_2024_0109_080858.png
这里直接点:Checkout
Screenshot_2024_0109_081048.png
这里是填写购买和创建用户信息,除了我标红的地方其他的都可以乱填,填完了就可以点Complete Order
IMG_20240109_081305.jpg
订购完,再点击Continue To Client Area进入用户中心,中间给你发邮件是给你查看账单信息,也可以不用管它。
IMG_20240109_082205.png
点击Services进入管理虚拟主机页面,点击你的虚拟主机进入虚拟主机详情页(不要点域名,比如我的43646.343164,不然会给你跳转访问域名)
Screenshot_2024_0109_082441.png

然后点击Login to DirectAdmin进入虚拟主机后台DirectAdmin控制面板
IMG_20240109_082701.png
进去后在底部可以更改语言,更改的时候可以直接打出中文就会出现简体中文
Screenshot_2024_0109_082931.png
你也可以点击顶部的小人,再点击Skin Options
Screenshot_2024_0109_083249.png
这个也是可以直接打出中文就可以直接选择中文简体
IMG_20240109_083423.png

域名解析

在主机详情页最下面,有一个Hosting Information,里面有一个信息是Server Name这个就是域名使用CNAME解析地址,下面是我的解析操作
IMG_20240109_092238.png
Screenshot_2024_0109_092623.png
后面搭建网站什么的应该不用教了吧,不会的百度:如何使用DirectAdmin面板搭建网站

OK,结束🔚!

2024年1月9日17点更新

呃呃呃呃呃,一个账号不能白嫖多了,我因为白嫖了20多个被官方制裁了号没了,测试站准备重新建

2024年1月19日更新

删除演示站点

]]>
1 https://blog.lmb520.cn/archives/906/#comments https://blog.lmb520.cn/feed/
2024年快到了,加个灯笼和飘雪特效吧 https://blog.lmb520.cn/archives/794/ https://blog.lmb520.cn/archives/794/ Mon, 25 Dec 2023 11:52:00 +0800 林墨白 演示

截图

Screenshot_2024_0119_151458.png
Screenshot_2024_0119_151518.png

如何部署

灯笼

代码内容

(function (factory) {
  typeof define === 'function' && define.amd ? define(factory) :
  factory();
}((function () { 'use strict';
  function styleInject(css, ref) {
    if ( ref === void 0 ) ref = {};
    var insertAt = ref.insertAt;
    if (!css || typeof document === 'undefined') { return; }
    var head = document.head || document.getElementsByTagName('head')[0];
    var style = document.createElement('style');
    style.type = 'text/css';
    if (insertAt === 'top') {
      if (head.firstChild) {
        head.insertBefore(style, head.firstChild);
      } else {
        head.appendChild(style);
      }
    } else {
      head.appendChild(style);
    }
    if (style.styleSheet) {
      style.styleSheet.cssText = css;
    } else {
      style.appendChild(document.createTextNode(css));
    }
  }
  var css_248z = "@charset \"UTF-8\";.lantern__warpper{position:fixed;top:12px;left:40px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:999}.lantern__warpper.lantern__secondary{left:calc(100% - 130px)}.lantern__warpper.lantern__secondary .lantern__box{-webkit-animation-duration:3s;animation-duration:3s}.lantern__box{position:relative;display:inline-block;width:90px;height:70px;background:rgba(216,0,15,.8);border-radius:50% 50%;animation:lantern-swing 3s ease-in-out infinite alternate-reverse;-webkit-transform-origin:50% -70px;-ms-transform-origin:50% -70px;transform-origin:50% -70px;-webkit-box-shadow:-5px 5px 50px 4px #fa6c00;box-shadow:-5px 5px 50px 4px #fa6c00}.lantern__box:after,.lantern__box:before{content:\"\";position:absolute;height:8px;width:45px;left:50%;border:1px solid #dc8f03;background:-webkit-gradient(linear,left top,right top,from(#dc8f03),color-stop(orange),color-stop(#dc8f03),color-stop(orange),to(#dc8f03));background:-o-linear-gradient(left,#dc8f03,orange,#dc8f03,orange,#dc8f03);background:linear-gradient(90deg,#dc8f03,orange,#dc8f03,orange,#dc8f03)}.lantern__box:before{top:0;border-radius:5px 5px 0 0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.lantern__box:after{bottom:0;border-radius:0 0 5px 5px;-webkit-transform:translate(-50%,50%);-ms-transform:translate(-50%,50%);transform:translate(-50%,50%)}.lantern__line{position:absolute;width:2px;height:12px;top:0;left:50%;-webkit-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);background:#dc8f03}.lantern__circle{width:80%;-webkit-box-sizing:border-box;box-sizing:border-box}.lantern__circle,.lantern__circle .lantern__ellipse{height:100%;margin:0 auto;border-radius:50%;border:2px solid #dc8f03}.lantern__circle .lantern__ellipse{width:50%}.lantern__circle .lantern__text{font-family:华文行楷,Microsoft YaHei,sans-serif;font-size:24.3px;color:#dc8f03;font-weight:700;line-height:66px;text-align:center}.lantern__tail{position:relative;width:4px;height:12px;margin:0 auto;animation:lantern-swing 4s ease-in-out infinite alternate-reverse;background:orange;border-radius:0 0 5px 5px}.lantern__tail .lantern__junction{position:absolute;top:0;left:50%;width:8px;height:8px;-webkit-transform:translate(-50%,8.4px);-ms-transform:translate(-50%,8.4px);transform:translate(-50%,8.4px);background:#e69603;border-radius:50%}.lantern__tail .lantern__rect{position:absolute;top:0;left:50%;-webkit-transform:translate(-50%,10.8px);-ms-transform:translate(-50%,10.8px);transform:translate(-50%,10.8px);width:8px;height:24px;background:orange;border-radius:5px 5px 0 5px}@-webkit-keyframes lantern-swing{0%{-webkit-transform:rotate(-8deg);transform:rotate(-8deg)}to{-webkit-transform:rotate(8deg);transform:rotate(8deg)}}@keyframes lantern-swing{0%{-webkit-transform:rotate(-8deg);transform:rotate(-8deg)}to{-webkit-transform:rotate(8deg);transform:rotate(8deg)}}@media (max-width:460px){.lantern__warpper{top:8px;left:30px}.lantern__warpper.lantern__secondary{left:calc(100% - 80px)}.lantern__box{width:50px;height:40px;-webkit-transform-origin:50% -40px;-ms-transform-origin:50% -40px;transform-origin:50% -40px;-webkit-box-shadow:-5px 5px 50px -1px #fa6c00;box-shadow:-5px 5px 50px -1px #fa6c00}.lantern__box:after,.lantern__box:before{height:4px;width:25px}.lantern__line{width:2px;height:8px}.lantern__circle .lantern__text{font-size:13.5px;line-height:38px}.lantern__tail{width:4px;height:8px}.lantern__tail .lantern__junction{width:8px;height:8px;-webkit-transform:translate(-50%,5.6px);-ms-transform:translate(-50%,5.6px);transform:translate(-50%,5.6px)}.lantern__tail .lantern__rect{-webkit-transform:translate(-50%,7.2px);-ms-transform:translate(-50%,7.2px);transform:translate(-50%,7.2px);width:8px;height:16px}}";
  styleInject(css_248z);
  var content = '<div class="lantern__warpper"><div class="lantern__box"><div class="lantern__line"></div><div class="lantern__circle"><div class="lantern__ellipse"><div class="lantern__text">元</div></div></div><div class="lantern__tail"><div class="lantern__rect"></div><div class="lantern__junction"></div></div></div></div><div class="lantern__warpper lantern__secondary"><div class="lantern__box"><div class="lantern__line"></div><div class="lantern__circle"><div class="lantern__ellipse"><div class="lantern__text">旦</div></div></div><div class="lantern__tail"><div class="lantern__rect"></div><div class="lantern__junction"></div></div></div></div>';
  function createElement() {
    var div = document.createElement('div');
    div.className = 'j-china-lantern';
    div.innerHTML = content;
    document.body.appendChild(div);
  }
  createElement();
})));

如何调用灯笼JS

可以将代码内容保存到空间里并命名为china-lantern.js然后使用代码调用它,该代码可以放在头部或尾部文件里

//粘贴到head或foot文件里
<script src="/china-lantern.js"></script>//请根据实际路径修改

也可以调用我的JS文件,代码如下

//粘贴到head或foot文件里
<script src="https://files.blog.lmb520.cn/assets/js/china-lantern.js"></script>

飘雪

代码内容

/* 控制下雪 */
function snowFall(snow) {
    /* 可配置属性 */
    snow = snow || {};
    this.maxFlake = snow.maxFlake || 100;   /* 最多片数 */
    this.flakeSize = snow.flakeSize || 10;  /* 雪花形状 */
    this.fallSpeed = snow.fallSpeed || 1;   /* 坠落速度 */
}
/* 兼容写法 */
requestAnimationFrame = window.requestAnimationFrame ||
    window.mozRequestAnimationFrame ||
    window.webkitRequestAnimationFrame ||
    window.msRequestAnimationFrame ||
    window.oRequestAnimationFrame ||
    function(callback) { setTimeout(callback, 1000 / 60); };
 
cancelAnimationFrame = window.cancelAnimationFrame ||
    window.mozCancelAnimationFrame ||
    window.webkitCancelAnimationFrame ||
    window.msCancelAnimationFrame ||
    window.oCancelAnimationFrame;
/* 开始下雪 */
snowFall.prototype.start = function(){
    /* 创建画布 */
    snowCanvas.apply(this);
    /* 创建雪花形状 */
    createFlakes.apply(this);
    /* 画雪 */
    drawSnow.apply(this)
}
/* 创建画布 */
function snowCanvas() {
    /* 添加Dom结点 */
    var snowcanvas = document.createElement("canvas");
    snowcanvas.id = "snowfall";
    snowcanvas.width = document.body.offsetWidth;
    snowcanvas.height = window.innerHeight;
    snowcanvas.setAttribute("style", "position:fixed; top: 0; left: 0; z-index: 9999; pointer-events: none;");
    document.getElementsByTagName("body")[0].appendChild(snowcanvas);
    this.canvas = snowcanvas;
    this.ctx = snowcanvas.getContext("2d");
    /* 窗口大小改变的处理 */
    window.onresize = function() {
        // snowcanvas.width = document.body.offsetWidth;
        /* snowcanvas.height = window.innerHeight */
    }
}
/* 雪运动对象 */
function flakeMove(canvasWidth, canvasHeight, flakeSize, fallSpeed) {
    this.x = Math.floor(Math.random() * canvasWidth);   /* x坐标 */
    this.y = Math.floor(Math.random() * canvasHeight);  /* y坐标 */
    this.size = Math.random() * flakeSize + 2;          /* 形状 */
    this.maxSize = flakeSize;                           /* 最大形状 */
    this.speed = Math.random() * 1 + fallSpeed;         /* 坠落速度 */
    this.fallSpeed = fallSpeed;                         /* 坠落速度 */
    this.velY = this.speed;                             /* Y方向速度 */
    this.velX = 0;                                      /* X方向速度 */
    this.stepSize = Math.random() / 30;                 /* 步长 */
    this.step = 0                                       /* 步数 */
}
flakeMove.prototype.update = function() {
    var x = this.x,
        y = this.y;
    /* 左右摆动(余弦) */
    this.velX *= 0.98;
    if (this.velY <= this.speed) {
        this.velY = this.speed
    }
    this.velX += Math.cos(this.step += .05) * this.stepSize;
 
    this.y += this.velY;
    this.x += this.velX;
    /* 飞出边界的处理 */
    if (this.x >= canvas.width || this.x <= 0 || this.y >= canvas.height || this.y <= 0) {
        this.reset(canvas.width, canvas.height)
    }
};
/* 飞出边界-放置最顶端继续坠落 */
flakeMove.prototype.reset = function(width, height) {
    this.x = Math.floor(Math.random() * width);
    this.y = 0;
    this.size = Math.random() * this.maxSize + 2;
    this.speed = Math.random() * 1 + this.fallSpeed;
    this.velY = this.speed;
    this.velX = 0;
};
// 渲染雪花-随机形状(此处可修改雪花颜色!!!)
flakeMove.prototype.render = function(ctx) {
    var snowFlake = ctx.createRadialGradient(this.x, this.y, 0, this.x, this.y, this.size);
    snowFlake.addColorStop(0, "rgba(255, 255, 255, 0.9)");  /* 此处是雪花颜色,默认是白色 */
    snowFlake.addColorStop(.5, "rgba(255, 255, 255, 0.5)"); /* 若要改为其他颜色,请自行查 */
    snowFlake.addColorStop(1, "rgba(255, 255, 255, 0)");    /* 找16进制的RGB 颜色代码。 */
    ctx.save();
    ctx.fillStyle = snowFlake;
    ctx.beginPath();
    ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);
    ctx.fill();
    ctx.restore();
};
/* 创建雪花-定义形状 */
function createFlakes() {
    var maxFlake = this.maxFlake,
        flakes = this.flakes = [],
        canvas = this.canvas;
    for (var i = 0; i < maxFlake; i++) {
        flakes.push(new flakeMove(canvas.width, canvas.height, this.flakeSize, this.fallSpeed))
    }
}
/* 画雪 */
function drawSnow() {
    var maxFlake = this.maxFlake,
        flakes = this.flakes;
    ctx = this.ctx, canvas = this.canvas, that = this;
    /* 清空雪花 */
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    for (var e = 0; e < maxFlake; e++) {
        flakes.update();
        flakes.render(ctx);
    }
    /*  一帧一帧的画 */
    this.loop = requestAnimationFrame(function() {
        drawSnow.apply(that);
    });
}
/* 调用及控制方法 */
var snow = new snowFall({maxFlake:200});
snow.start();

如何调用飘雪JS

可以将代码内容保存到空间里并命名为snowflake.js然后使用代码调用它,该代码可以放在头部或尾部文件里

//粘贴到head或foot文件里
<script src="/snowflake.js"></script>//请根据实际路径修改

也可以调用我的JS文件,代码如下

//粘贴到head或foot文件里
<script src="https://files.blog.lmb520.cn/assets/js/snowflake.js"></script>
]]>
0 https://blog.lmb520.cn/archives/794/#comments https://blog.lmb520.cn/feed/
搭建基于UptimeRobot接口的站点监测网站 https://blog.lmb520.cn/archives/770/ https://blog.lmb520.cn/archives/770/ Mon, 25 Dec 2023 08:39:00 +0800 林墨白 什么是UptimeRobot

王子公主请看以前的文章

开始

上次介绍了通过UptimeRobot免费监测网站状态并使用邮箱+APP进行通知,有没有一种可能假如手机突然掉了,然后就……刚好想看一下自己的网站还在没在正常运行呢
1号演示站点:http://1.test.lmb520.cn/
这是原作者搭建的:https://status.baiwumm.com/

搭建顺序

我们这里使用的是由白雾茫茫基于UptimeRobot编写的源码:

  1. 我们进入Github项目,然后下载项目源码
  2. 改写.env文件
    Screenshot_2023_1225_081225.png
    第7、8行里的VITE_API_KEY一定要改成自己UptimeRobot账号里的Read-Only API Key(不改就是监测作者的网站)
    Screenshot_2023_1225_081544.png
    Screenshot_2023_1225_082119.png
  3. 将打包后的文件上传至网站空间或者直接使用 Vercel 或者 Cloudflare 直接部署该项目

构建项目

你下载的源码,不可以直接上传到空间里,需要自行构建打包项目。然后才可以上传到空间使用PHP进行建站
不会构建打包的话,可以百度。实在不行的话,可以把.env文件修改后通过邮箱(lmb@lmb520.cn)发给我并在本文评论一下发送邮箱(不然我怕看不到)

  1. 安装环境(不可以跳过)

    # 若没有 pnpm
    npm install pnpm -g
    # 安装依赖
    pnpm install
  2. 进行开发(可以跳过这一步)

    pnpm dev
  3. 最后打包(不可以跳过)

    pnpm build
  4. 最后构建成功的源码会在dist文件夹,然后上传到空间上就可以了
    Screenshot_2023_1225_083733.png
]]>
2 https://blog.lmb520.cn/archives/770/#comments https://blog.lmb520.cn/feed/
本人真实事件:把一个骗我的骗子给骗了 https://blog.lmb520.cn/archives/735/ https://blog.lmb520.cn/archives/735/ Mon, 11 Dec 2023 17:03:00 +0800 林墨白 简略概括

我最近在玩一款叫“潮玩宇宙”的APP,APP的积分叫:宝石,然后里面有一个小游戏叫“宝石大逃杀”。被骗当天我看到了群里的广告,结果当天晚上我被骗账号了,后面气不过,精心计划了10多天把骗子的账号给骗了

所有经过详情

骗子骗我的过程

那个广告内容差不多就是:我把账号给他,他拿我账号玩大逃杀,大逃杀的奖励分我10%。然后当天晚上我也没多想加了他,就把账号给他了,结果第二天早上我登录账号时,APP提示:该账号异常,才发现他给我把APP里东西全部卖了还注销了我的账号,虽然是我的小号(账号注销后不可以恢复或重新注册):^(流泪) :^(流泪) ,他还把我QQ账号拉黑了

完整被骗聊天记录

最后言语——反诈宣传

  1. 时刻绷紧防范之弦,严防电信网络诈骗。
  2. 电信诈骗不难防,不听不信不转账。
  3. 诈骗电话莫轻信,一旦遇到要报警。
  4. 网络防骗第一条,不贪便宜要记牢。
  5. 冻结财产别轻信,“安全账户”是陷阱。
  6. 天上馅饼含陷阱,电信诈骗要留心。
  7. 保护自身信息安全,防范电信网络诈骗。
  8. 防范诈骗多求证,骗术再高一场空。
  9. 心莫贪,擦亮眼,绷根弦,防诈骗。
  10. 积极加强自我防范意识,共同提高识骗防骗能力。
]]>
0 https://blog.lmb520.cn/archives/735/#comments https://blog.lmb520.cn/feed/
通过UptimeRobot免费监控网站状态并使用邮箱+APP进行通知 https://blog.lmb520.cn/archives/671/ https://blog.lmb520.cn/archives/671/ Thu, 10 Aug 2023 15:16:00 +0800 林墨白 关于UptimeRobot

UptimeRobot是一个国外的网络监控服务,旨在帮助网站和在线服务监测其可用性和性能。它会定期检查网站或服务是否正常运行,并在发现故障或异常时发送警报通知给用户。使用UptimeRobot可以帮助网站管理员快速识别并解决潜在的故障,以确保网站的稳定和可靠性。
官网:https://uptimerobot.com/ (可以不用科学上网)

如何使用

注册

点击链接直接注册:https://uptimerobot.com/signUp
uptimerobot-com-signUp.jpg
然后依次输入:

  • 你的名字(随便输入就行)
  • 邮箱(需要验证,登录时需要用
  • 密码(必填,而且不能忘了)
  • 哪里知道的UptimeRobot(选项,可以不用选)

然后点击注册,一会儿就会收到UptimeRobot给你发的验证邮件,验证成功后就可以登录了。

添加监控项目

登录进去后,你会看到这个界面
Screenshot_2023_0810_124143.png
点击左上角的+Monitor进行添加项目,会弹出一个窗口,第一个选项是选择监控类型,有4种免费的1种付费的

  1. HTTP(s):用于监控网页是否能打开正常(像404,403等都不算正常)。并且可以设置监控周期Monitoring Interval(免费的最低5分钟)和监控超时时间Monitor Timeout(单位为秒,每次监控时超过设置的时间也算不正常)
    Screenshot_2023_0810_125529.png
  2. Keyword:用于监控网页中是否含有设置的关键词。注意的是选择Alert When时,Keyword Exists代表网页包涵关键词数据时就警告,Keyword Not Exists代表网页不包涵关键词数据时就警告
    Screenshot_2023_0810_125937.png
  3. ping:用于监控网址或IP能否被ping通
    Screenshot_2023_0810_130501.png
  4. port:用于监控网址或IP能否访问。请在Port选择你要监控的端口,如果选择Costom Port为自定义端口
    Screenshot_2023_0810_152206.png
  5. Heartbeat:心跳模式,配置在服务器。很麻烦而且要付钱,所以就不叙述了
    为啥没有演示图,因为没付钱,所以它不让我选择Heartbeat

所有监控类型中的配置项有PROPAID都是要钱的,就不用想了。然后将免费的配置项填完后,记得把通知联系人的邮箱给勾选上
Screenshot_2023_0810_143600.png
最后点击确定就行了!
注意:再添加监控项目的时候可能会出现类似下面的弹窗,直接点Close就关闭了
Screenshot_2023_0810_142943.png

使用APP进行通知

Android App:①谷歌商店(需要科学上网)蓝奏云,密码:lmb520(随缘更新)
iPhone APP:APP Store或者在APP Store直接搜索UptimeRobot
这里演示的Android,因为没钱买iPhone:^(流泪)
打开APP,然后登录自己的账号,首页会看见你所以监控的项目,找个监控项目点进去,会出现以下界面,把右上角的铃铛点绿就行了,记得把UptimeRobot APP设置后台与开机自启动、允许通知、允许后台耗电
Screenshot_2023_0810_150550.png
在APP上你也可修改和添加监控项目,在网站上添加监控项目时会发现多了一个手机通知方式
Screenshot_2023_0810_151146.png
最后可以在APP设置中或者网站中(UptimeRobot Settings)更改手机名称
Screenshot_2023_0810_151354.png
Screenshot_2023_0810_151515.png

OK,结束

]]>
1 https://blog.lmb520.cn/archives/671/#comments https://blog.lmb520.cn/feed/
博客接入TianliGPT实现自动生成文章的AI摘要 https://blog.lmb520.cn/archives/662/ https://blog.lmb520.cn/archives/662/ Tue, 08 Aug 2023 15:44:00 +0800 林墨白 什么是TianliGPT?

TianliGPT是一个专业的文字摘要生成工具,你可以将需要提取摘要的文本内容发送给TianliGPT,稍等一会他就可以给你发送一个基于这段文本内容的摘要,最近又增加了一个随机文章的功能。

  • 实时生成的摘要
  • 自动生成,无需人工干预
  • 一次生成,再次生成无需消耗key
  • 包含文字审核过滤,适用于中国大陆
  • 支持中国大陆访问
  • 极速生成,无需等待
  • 价格优惠!

林墨白的博客已经接入了TianliGPT
Screenshot_2023_0808_142936.png

TianliGPT开发者与维护者

后端开发与维护:Tianli大佬
产品设计与前端:张洪Heo大佬

如何接入TianliGPT

如何购买Key

Key可以到爱发电中购买,原价10元5万字符(张洪Heo大佬提供限量限时折扣8.99元),总的来说价格挺优惠的。已经请求过的内容再次请求不会消耗key,可以无限期调用使用。
购买后在爱发电中的消息里会发送Key给你,然后登录TianliGPT(https://summary.zhheo.com/)控制后台绑定密钥Key,再绑定域名
Screenshot_2023_0808_145543.png
Screenshot_2023_0808_145450.png

接入代码

目前有两种前端:
Heo前端:

2023f93706682e8188b989889bd6adadfff4153604.webp
轻笑前端:

256972439-a0029aac-7f6a-4888-b037-8cabbdc76053.png

这两种前段的话,Heo前端目前来说比较简约,轻笑前端有几个功能,自己喜欢那种进入项目,然后复制代码部署

部署代码

这里演示的是Heo前端,首先我们先进入项目Github仓库,复制代码

<link rel="stylesheet" href="https://cdn1.tianli0.top/gh/zhheo/Post-Abstract-AI@0.11/tianli_gpt.css">
<script>
let tianliGPT_postSelector = '#post #article-container';
let tianliGPT_key = 'lmb5201314';
</script>
<script src="https://cdn1.tianli0.top/gh/zhheo/Post-Abstract-AI@0.11/tianli_gpt.js"></script>

注意!你需要改的地方:

  1. let tianliGPT_postSelector = '#post #article-container';#post #article-container改为模板相对应的文章内容所在的元素属性的选择器,这个可能不懂。在下一步讲解
  2. let tianliGPT_key = 'lmb5201314';lmb5201314改为TianliGPT后台对应的密钥Key

最后把代码放进模板自定义底部里面,如果模板设置没有自定义底部,那就把代码放进模板foot.php里面,访问自己的文章就行了。

如何找到文章内容所在的元素属性的选择器

第一种(自行解决):请跳转到张洪Heo大佬写的教程https://flowus.cn/share/7a353126-f225-4e5c-8c11-f5adefe85b7f ,挺详细的。
第二种(求助张洪Heo大佬):先去项目Github仓库https://github.com/zhheo/Post-Abstract-AI 然后去提交new Issues(新问题)
Screenshot_2023_0808_152514.png
内容包涵:模板名称+模板源码链接
Screenshot_2023_0808_153713.png
已经适配好的模板,会写在项目中,提交Issues前请去看一下你的模板有没有被适配好

最后

该TianliGPT生成AI摘要理论上适用于动态或静态页面,所以不论你是用的typecho还是Hexo,甚至WordPress等其他系统几乎都可以接入使用

]]>
8 https://blog.lmb520.cn/archives/662/#comments https://blog.lmb520.cn/feed/
博客一周年+备案成功! https://blog.lmb520.cn/archives/660/ https://blog.lmb520.cn/archives/660/ Mon, 07 Aug 2023 21:44:00 +0800 林墨白 我的一周年

2022年7月16日墨白之家横空出世,那时候还是一个利益性的资源站,域名为:mbhome.cn,使用Joe模板,但是由于某些原因上学没时间+懒,不想做资源站了。就换成了个人博客网站(林墨白博客),没事水几篇,多好呀!:[傻笑] 域名也随之换成了lmb520.cn,模板改为了由白熊大佬写的BearSimple,简约而不简单嘎嘎好用!
今天是2023年8月7日,还比一周年多了几天。当初写博客是为了赚钱,现在写博客是为了开心和每一篇文章的成就感,是那种分享带来的喜悦感,其实没想过我能坚持到一周年。但是既然坚持了一周年,我想我应该可以坚持二周年,三周年,甚至十年之约哈哈哈哈哈哈哈哈哈。在一周年没让我见识到了博主并不是单枪匹马,还有这么多人再坚持,我有什么理由不坚持?

我的备案

我的域名lmb520.cn于2023年8月4日正式通过备案申请并获得备案号:蜀ICP备2023019525号,简直不要太开心!去年申请了一次,因为当时没有满16周岁,腾讯云给我驳回了。今年满了16岁但是第一次备案,有些地方不懂还要一些资料,来来回回折腾了了半个多月,总的来说还是成功了!
Screenshot_2023_0807_211722.png
然后在没有取得工信部ICP备案前,我一直使用的是萌博客大佬写的萌ICP备案系统,取的萌ICP备20227104号是在2023年1月26日,不得不说对于没有工信部ICP备案的站长还是挺好的,至少比没有好:^(呲牙)

为每一位还在坚持的博主点赞!!

]]>
2 https://blog.lmb520.cn/archives/660/#comments https://blog.lmb520.cn/feed/
手机验证码登录QQ,出现隐藏QQ?实战爆破一下 https://blog.lmb520.cn/archives/656/ https://blog.lmb520.cn/archives/656/ Mon, 31 Jul 2023 01:10:00 +0800 林墨白 源于网络

关于隐藏QQ

前几天在说说中发现引人注目的一条广告。
f202ff37d1c6c345fa6e5287d452fb19.png
说是什么手机号验证码登录就会出现隐藏QQ,秉承着好奇心害不死人的原则试了一下,我把两个手机号试了一下,发现了一个隐藏QQ号,就是:85xxxxxx39这个
7cf9f5473714ab91cc76a4f1910fb7be.png

为什么会有呢?

好问题!据说由于中国人口很大,然后手机号会被重复使用的。我这个才注册没多久的(冤种)腾讯QQ大王卡就是别人用过的手机号(居然二手货,害!),这个隐藏QQ就是别人注册后没解绑或者没绑定手机号默认是注册手机号

登录试试?

试试就试试:)(doge6) 哦哟!不得了!腾讯QQ还留了one hand,还要有验证!
cd36e6d4cca422c7a3fb2ce1d304b4f7.png
很显然包括通过资料辅助验证这四种验证方式都行不通

找回密码,再登录

找回密码可以用手机号号找回,这样我们就可以找回隐藏QQ的密码了!但是事与愿违,很可惜这也需要进一步的验证!
5f9af119dab220efc59a01d9033d5367.png

开始爆破

选择爆破方式

如果爆破密码很显然这是一个错误的选择,我选择爆破QQ号码。这样即可以在验证码登录后填写QQ号进行验证,也可以进行用QQ号找回密码然后再用手机验证码验证。

怎样爆破?

众所周知一般的QQ号都是8到10位数。因为85xxxxxx39中的x有6个,所以我断定这个QQ一定有10位,虽然很low的断定但是情有可原,毕竟也是弄着玩。问:10位QQ号中有6位数字不知道,有多少种可能。我毫不犹豫的打开了百度口算出来了,有100万种可能。如果我一个一个搜然后比对头像的话需要很久,就算我一秒一个也需要12天,感觉不多但是前提是得不吃不喝一秒一个,这个手工搜索不现实。
我的垃圾思路:想出来用头像比对的方式来爆破QQ号→代码运行出100万个可能的QQ号→弄到正确QQ头像的原图→通过对每个QQ头像链接进行比对→最后代码来执行比对任务

如何得到100万个QQ

这里使用的是PHP代码执行的,自己使用要适当修改。

//列出100万个QQ号
<?php
$prefix = '85';//前两位
$suffix = '39';//后两位
$total = 1000000; // 总共的可能数量如果是9位QQ的话那就是100000
$result = "";
// 生成可能的中间六位数字
for ($i = 0; $i < $total; $i++) {
    $middle = str_pad($i, 6, '0', STR_PAD_LEFT); // 使用0填充到6位数
    
    $qq = $prefix.$middle.$suffix;
    $result .= $qq."\n";
}
// 将列出结果一行一个QQ号保存到qq.txt
file_put_contents('qq.txt', $result);
echo "可能的QQ号已保存到qq.txt文件中。";
?>

随便上传到一个PHP文件里(例如go.php),第一种:用域名访问该文件(域名/go.php)第二种:SSH终端中运行go.php,两种方式都可以生成,然后服务器里的qq.txt文件里就包涵100万个QQ号了

找正确QQ头像的原图

我们先从QQ上截屏,这个截屏因为比较模糊,所以我们要找它的原图。
d61c3cfa6b3991610722cfa6cf980a21.png
这里没有什么高级的图片变高清或者什么修复的软件和代码。我用的是最朴实无华的百度识图,然后找相识,这个方法仅仅适用于头像是网图的。我这个还是不错找到了
a5a5f37ef7c35efead28f1a4070a7500.jpg
043ebf2c8f8426d44de114f8c9022982.jpg

快速获取其它QQ头像

这里有一个获取QQ头像的链接,高清大图

http://q.qlogo.cn/headimg_dl?dst_uin=QQ账号&spec=640&img_type=jpg

然后我们可以通过PHP代码写出一个可以根据qq.txt文件里的QQ号批量下载QQ头像的代码。

//批量下载图片
<?php
// 检查qq.txt文件是否存在
if (!file_exists('qq.txt')) {
    echo "qq.txt文件不存在";
    exit;
}
// 创建img文件夹
if (!file_exists('img')) {
    mkdir('img');
}
// 读取qq.txt文件
$qqList = file('qq.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// 遍历每个QQ号
foreach ($qqList as $qq) {
    $qq = trim($qq); // 去除空格和换行符
    $url = "http://q.qlogo.cn/headimg_dl?dst_uin={$qq}&spec=640&img_type=jpg";
    $imgPath = "img/{$qq}.jpg"; // 图片保存路径及文件名
    // 下载图片并保存
    file_put_contents($imgPath, file_get_contents($url));
}
echo "图片下载完成!";

我们有100万个QQ号,如果一次性全部下载完的话有些废服务器,所以这个代码不好用,优解看下一步。

该如何进行对比?

这个问题问得好!我也不知道,但是我有百度,查到了一个:“感知哈希算法之图片相似度对比
我简简单单的抄袭借鉴了一下,加上批量下载图片。我们可以知道,如果一次性下载完100万张QQ头像服务器是承受不住的,但是我们可以分批处理下载图片。
把代码运行一小会儿后出现了错误:ERR_ADDRESS_UNREACHABLE可能是因为运行时间和内存的原因,我加上了相应限制:

set_time_limit(0);
ini_set('memory_limit', '2048M');

感觉100万张图片全部下载下来很多而且占用空间,所以加了一个每执行完一批就就删除对应的图片。做了一些优化可以让服务器负担更小,比如对循环进行优化,减少不必要的重复计算和使用缓存来减少重复的计算或读取操作,提高性能。最终完整的代码就新鲜出炉咯

//感知哈希算法对比图片相似度
<?php
set_time_limit(0);
ini_set('memory_limit', '2048M');//根据实际情况修改数字
class img_compare
{
    // 比较相似度
    public function compare($img1, $img2)
    {
        $hash1 = $this->gethash($img1);
        $hash2 = $this->gethash($img2);
        if (strlen($hash1) !== strlen($hash2)) return false;
        $count = 0;
        $len = strlen($hash1);
        for ($i = 0; $i < $len; $i++) {
            if ($hash1[$i] == $hash2[$i]) {
                $count++;
            }
        }
        // 返回相似度
        return $count;
    }
    // 将图片文件返回为图像标识符
    public function getimg($url)
    {
        $name = pathinfo($url, PATHINFO_EXTENSION);
        $img = call_user_func('imagecreatefrom' . ($name == 'jpeg' ? 'jpeg' : $name), $url);
        return $img;
    }
    // 获得图片指纹
    public function gethash($url)
    {
        $array = array();
        $total = 0;
        $new_img = imagecreatetruecolor(8, 8);
        list($ex_w, $ex_h) = getimagesize($url);
        $ex_img = $this->getimg($url);
        imagecopyresampled($new_img, $ex_img, 0, 0, 0, 0, 8, 8, $ex_w, $ex_h);
        imagedestroy($ex_img);
        for ($i = 0; $i < 8; $i++) {
            for ($j = 0; $j < 8; $j++) {
                $gray = (imagecolorat($new_img, $j, $i) >> 8) & 0xFF;
                $array[$i][$j] = $gray;
                $total += $gray;
            }
        }
        imagedestroy($new_img);
        $average = intval($total / (8 * 8 * 2));
        $hash = '';
        for ($i = 0; $i < 8; $i++) {
            for ($j = 0; $j < 8; $j++) {
                $hash .= ($array[$i][$j] >= $average) ? '1' : '0';
            }
        }
        return $hash;
    }
}
$file_path = 'qq.txt';
$qq_numbers = file($file_path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// 分批处理参数
$batch_size = 10;
$total_qq = count($qq_numbers);
$num_batches = ceil($total_qq / $batch_size);
// 定义匹配数组
$matched_qq = [];
$img = new img_compare();
// 启用输出缓冲区控制
ob_start();
// 循环遍历分批处理
for ($i = 0; $i < $num_batches; $i++) {
    $start = $i * $batch_size;
    $end = min(($i + 1) * $batch_size, $total_qq);
    // 当前批次的QQ号码
    $batch_qq = array_slice($qq_numbers, $start, $end - $start);
    // 处理当前批次的QQ号码
    foreach ($batch_qq as $qq) {
        // 构建替换后的链接
        $replace_url = str_replace("QQ", $qq, "https://q1.qlogo.cn/g?b=qq&nk=QQ&s=640");
        // 下载图片
        $local_image_path = 'img/' . $qq . '.jpeg';
        file_put_contents($local_image_path, file_get_contents($replace_url));
        // 计算图片相似度
        $similarity = $img->compare($local_image_path, 'img/true/QQ.jpeg');
        // 输出链接对比结果到内容输出框
        echo "QQ号码:" . $qq . ",相似度:" . $similarity . "%\n";
        // 判断相似度是否大于等于90%
        if ($similarity >= 90) {
            // 添加到匹配数组
            $matched_qq[] = $qq;
        }
    }
    // 写入当前批次匹配的号码到trueqq.txt文件
    if (!empty($matched_qq)) {
        file_put_contents('trueqq.txt', implode(PHP_EOL, $matched_qq) . PHP_EOL, FILE_APPEND);
        echo "已匹配的号码已保存到trueqq.txt文件\n";
        $matched_qq = []; // 清空匹配数组
    }
    // 删除下载的图片
    foreach ($batch_qq as $qq) {
        $local_image_path = 'img/' . $qq . '.jpeg';
        if (file_exists($local_image_path)) {
            unlink($local_image_path);
        }
    }
}
// 输出已匹配的号码
if (!empty($matched_qq)) {
    echo "已匹配的号码:\n";
    foreach ($matched_qq as $qq) {
        echo $qq . "\n";
    }
}
// 清空输出缓冲区并关闭
ob_end_flush();
?>

你需要做的!

  1. 在服务器上创建go.php,写入“列出100万个QQ号”的代码后运行,然后会自动创建qq.txt而且里面包涵所以可能的QQ号
  2. 在服务器上创建img文件夹,所有下载的头像将会上传到img文件里里
  3. 在服务器上创建img/true文件夹把正确的头像放在img/true里并命名QQ.jpeg
  4. 在服务器上创建trueqq.txt,这是用于储存正确率三90%的QQ号
  5. 新建一个run.php,将“感知哈希算法对比图片相似度”的代码写入,最后运行
    run.php并得出结果。

最后

结果

结果我是没成功,报错502 Bad Gateway,通常是由服务器端出现问题导致的。因为没钱买高配置的服务器所以报错:^(流泪)

帮助

各位大佬,我是小菜。如果有什么代码错误和需要修改的地方,请提出来我好学习学习。

唠叨

就是这个QQ号也是别人的,如果强行给人家拿了。别人应该也会心疼的,如果实在想要可以加爆破得到的QQ,看看有没有人使用:)(xiaoku) 。这个代码写的不怎么好,可能有问题,毕竟服务器的原因没有完成。

2024年1月3日补充

我运行代码的时候一直用的浏览器访问php文件来运行的,所以导致502 Bad Gateway,后来想我发现是可以直接在SSH终端里,使用命令运行php,而且可以长时间运行代码,但是我没有时间来继续实践下去了(主要是那个隐藏QQ号被我解绑了)

]]>
0 https://blog.lmb520.cn/archives/656/#comments https://blog.lmb520.cn/feed/
如何快速替换typecho的图片链接 https://blog.lmb520.cn/archives/638/ https://blog.lmb520.cn/archives/638/ Mon, 01 May 2023 00:38:00 +0800 林墨白 话说

我好久都没有更新文章了,博客感觉都要放烂了。继上次换域名后,是直接给mbhome.cn做了301重定向到blog.lmb520.cn。结果在域名到期后,文章里的图片链接就失效了。

解决

因为我习惯把图片直接储存到自己的服务器里,所以只需要将所有文章里图片链接中的www.mbhome.cn 替换成blog.lmb520.cn就行了。但是问题是这么多文章还得自己一个一个替换?
怎么可能嘛,虽然我的文章不多。但是我也懒。所以直接登录我的phpMyAdmin。进入博客所在的数据库

然后点击上面的三条杠,再点击SQL去里面执行SQL语句

636

下面是需要的填写的语句

update 表名 set 字段名=REPLACE (字段名,'原来的值','要修改的值')

就像我的:

update typecho_contents set text=REPLACE (text,'www.mbhome.cn','blog.lmb520.cn')

637

点击执行就可以了!如果不放心可以试试模拟查询

]]>
0 https://blog.lmb520.cn/archives/638/#comments https://blog.lmb520.cn/feed/
Google 账户的一次申诉 https://blog.lmb520.cn/archives/629/ https://blog.lmb520.cn/archives/629/ Sun, 12 Mar 2023 23:44:00 +0800 林墨白 630

话说

前几天用科学上网技术注册了谷歌账户,注册后信息填完都还好好的,结果第二天登录就出现 :“此帐号似乎是与多个其他帐号一起创建或使用的,这违反了Google的政策。此帐号可能是由计算机程序或机器人创建的。
如果您认为自己的帐号不该被停用,请尽快提交申诉。
您还可从某些Google服务中下载您的数据。这样,即使您的帐号未恢复,您也能保留自己的数据。”

627

(难道老美已经知道我要入侵他们的服务器了?)我直接人麻了:^(微笑)
然后百度搜了搜大概就是科学上网后用的V皮N服务器IP大多数是共享的,所以会被人工智能智碍检测为是机器人批量创建的账户:[blobcatfacepalm]

如何解封?

不过Google还是给我们留了通道的,点击发起申诉
628

点进去后到第二步的时候,要填申诉原因。这个一定要填不然一辈子都通过不了!下面给大家发了申诉模板,只需要将XXXX@gmail.com 换成自己的账户即可,可以根据自身情况修改相应部分
631


Dear Sir/Madam.
Hello. My account is XXXX@gmail.com.
I am a American user in China. I must use a vpn proxy and a Chinese phone number to use Google products.
The account may be abnormally disabled due to 'This account appears to have been created by a robot or used with several other accounts' .
And this account was truely created by myself [through vpn]!Not by robots or any other things.
So I don't think this account should be disabled
This account is VERY IMPORTANT to me. I hope you can help me solve it. Thank you very much.

{/bs-accord}

尊敬的先生/女士。
你好。我的帐户是 XXXX@gmail.com。
我是在中国的美国用户。我必须使用 vpn 代理和中国电话号码才能使用 Google 产品。
由于“此帐户似乎由机器人创建或与其他几个帐户一起使用”,该帐户可能被异常禁用。
这个帐户确实是我自己[通过vpn]创建的!不是机器人或任何其他东西。
所以我认为不应该禁用此帐户
这个帐户对我来说非常重要。希望你能帮我解决。谢谢。{/bs-accord}

我的申诉结果

申诉第三天就已经发来结果了,也是通过了申请。
632

]]>
0 https://blog.lmb520.cn/archives/629/#comments https://blog.lmb520.cn/feed/
初创林墨白的LOGO https://blog.lmb520.cn/archives/626/ https://blog.lmb520.cn/archives/626/ Thu, 09 Mar 2023 17:35:00 +0800 林墨白 话说

有了自己博客,但是一直拿QQ头像当logo。总感觉怪怪的,所以我使用了Canva可画 来制作我的logo

展示成果

创作灵感

我的创作理念是:简约但不简单(虽然目前感觉有点简单:^(害羞) )
首先以白色蓝色和黑色为简约颜色(主要是喜欢)
然后logo的左上方的笑脸 :-) 是世界第一张笑脸,致敬1982年9月19日,美国卡耐基·梅隆大学的斯科特·法尔曼教授在电子公告板,第一次输入了这样一串ASCII字符::-)
Hello, World是致敬The C Programming Language 中使用Hello, World做为第一个演示程序

<?php
echo 'Hello, world!';
//同一个世界,同一行代码!
print 'Hello, world!';
?>

其次就是中间的部分,LMB就是林墨白的简称。左边的图标呢……就是此比较喜欢而且喜欢

]]>
0 https://blog.lmb520.cn/archives/626/#comments https://blog.lmb520.cn/feed/
宝塔面板的开心版持续更新地址+安装教程 https://blog.lmb520.cn/archives/615/ https://blog.lmb520.cn/archives/615/ Sun, 26 Feb 2023 23:56:00 +0800 林墨白 什么是宝塔面板?

宝塔面板是一款服务器管理软件,支持Windows和Linux系统,可以通过Web端轻松管理服务器,提升运维效率,该软件内置了创建管理网站、FTP、数据库、可视化文件管理器、可视化软件管理器等等。安装宝塔的目的就是更简单的管理网站服务器。解决对服务器技术不太懂的或者想用更简单的方法来管理服务器的人们。为了更好的服务这些群体,宝塔会在软件立项层面就引入交互体验。有Linux和Windows版本的。

关于专业版和企业版

官方给的价格是:

Linux面板

费用/类型免费版专业版企业版
一月免费79元不支持
一年免费699元1399元
两年免费1398元2799元
三年免费2097元2999元
永久免费2988元不支持

由于开心版没有Windows版(也有免费版)的就不过多介绍了,可以自行到官网查看: 宝塔价格

总的来说:贵!

开心版

更新开心版来自(点击进入):异次元-可爱神
更新频率:几乎和官方同天更新
安全性:不清楚有没有啥后门,也没有什么不可理解的bug,在异次元里有安装开心版教程(我用了挺久了,感觉挺不错的)

问题

问: 只能用新安装的宝塔面板吗,已经有数据的需要重装吗?
答: 不是的,不管你是否用了多久官方的面板。只要把账号退出了,然后使用异次元里的开心企业版升级命令运行就可以了。(注意:以防万一有重要数据的记得备份到本地)
616

问: 每次更新都需要用命令更新吗?
答: 不是的,可以点击宝塔自带的更新功能,更新后还是开心版
617

有其他问题的可以评论区留言

]]>
1 https://blog.lmb520.cn/archives/615/#comments https://blog.lmb520.cn/feed/
我的高中生活 https://blog.lmb520.cn/archives/612/ https://blog.lmb520.cn/archives/612/ Wed, 08 Feb 2023 23:05:00 +0800 林墨白 我目前是一名高一学生,简简单单记录一下自己每天上课的时间吧……


唉!一天就上了14节课,真滴累~

]]>
2 https://blog.lmb520.cn/archives/612/#comments https://blog.lmb520.cn/feed/
我换域名咯!! https://blog.lmb520.cn/archives/607/ https://blog.lmb520.cn/archives/607/ Sun, 22 Jan 2023 20:55:00 +0800 林墨白 原来的
www.mbhome.cn

现在的

blog.lmb520.cn

小叙一下

原来呢…因为看到网络上许多哔哔赖赖资源网,每天有许多的新资源给有新会员钱钱非常得多,有了流量还可以投放广告(又一个赚钱的方法)。于是在去年4月15日将mbhome.cn注册成功(今年4月15日到期不准备续费了:^(撇嘴) )并命名:墨白之家(来源:什么站长之家,汽车之家呀等:^(得意) )。然后嘛做不下去了:^(流泪) ,主要是没流量没资源没时间(那时要中考了)后面就做个人练习生(不不不)博主:[不服吗]

为什么是lmb520?

搜索lmb.cn肯定没有啦…但是lmba.cn、lmbb.cn一直到lmbz.cn全都注册了其实还有一个lmbv.cn,但还是选择了lmb520.cn好听好记:)(doge)

顺便说一下为啥叫林墨白

墨白这个名字是某一天逛网络时,逛到的。我一看到它,心就动了:[ablobcatheart] (初二时吧)!直接社交软件名全部都换上,nice!到了初三块毕业时,发现太多重名的(现在也多:[blobcatdied] )。就给墨白加了一个姓,翻遍新华字典因为我的姓氏拼音首字母为L,大脑就想到了林字。
So,世界上又多了一个林墨白

]]>
2 https://blog.lmb520.cn/archives/607/#comments https://blog.lmb520.cn/feed/
手机没有ROOT权限的福音:shizuku https://blog.lmb520.cn/archives/604/ https://blog.lmb520.cn/archives/604/ Tue, 17 Jan 2023 22:51:00 +0800 林墨白 关于ROOT权限

Root,也称为根用户,是Unix(如Solaris、AIX、BSD)和类UNIX系统(如Linux、QNX等),及Android和iOS移动设备系统中的唯一的超级用户,因其可对根目录执行读写和执行操作而得名。其相当于Windows系统中的SYSTEM(XP及以下)/TrustedInstaller(Vista及以上)用户。其具有系统中的最高权限,如启动或停止一个进程,删除或增加用户,增加或者禁用硬件,新建文件、修改文件或删除所有文件等等。
简单点就是:手机最高权限
但是手机获取后一般手机商就不保修了,而是大部分手机不给你解BL锁,比如:我的手机(vivo)

关于shizuku


Shizuku是一款十分实用的手机开源应用软件工具,软件可以让用户更加方便的使用系统API,不管手机有没有经过Root都能够使用,能够帮助大家更好的修改应用的各种设置,提升实用效率。
有需要的网友下载就可以了。

我目前用shizuku激活的软件

]]>
0 https://blog.lmb520.cn/archives/604/#comments https://blog.lmb520.cn/feed/
哈喽!2023 https://blog.lmb520.cn/archives/603/ https://blog.lmb520.cn/archives/603/ Sun, 01 Jan 2023 09:11:00 +0800 林墨白 小叙

随着2023年的到来,疫情你也慢慢的过去。我也是从初中生成为了高一新生,我的
Sister也有了陪伴她一生的人,这一年似乎有着好的开端。

我的成果

感觉没啥成果,浑浑噩噩的。:)(doge8)



未来可期

说实话,2018年我就开始接触电脑,并一下子就热爱了。到了初一(2020年)学会了使用源码:)(doge) ,后来才逐渐了解了html和php的皮毛。所以我决定新年计划:



未完待续吧……

你好!网友,新年快乐

]]>
2 https://blog.lmb520.cn/archives/603/#comments https://blog.lmb520.cn/feed/
typecho定时发送小功能 https://blog.lmb520.cn/archives/598/ https://blog.lmb520.cn/archives/598/ Sat, 17 Dec 2022 10:49:00 +0800 林墨白 使用Typecho编辑文章时,右上角有个日期选项,博主只需要修改日期的时间为文章要发表的时间,然后再发布文章就可实现Typecho定时发表文章。
597

]]>
0 https://blog.lmb520.cn/archives/598/#comments https://blog.lmb520.cn/feed/
宝塔海外版aapanel中文语言包 https://blog.lmb520.cn/archives/587/ https://blog.lmb520.cn/archives/587/ Fri, 09 Dec 2022 06:02:00 +0800 林墨白 这个是在网上找的的宝塔海外版aapanel中文语言包。自从宝塔国内版强制登陆账号以来,不少用户转用宝塔海外版aapanel,但是却是全英文的。这个汉化包基于6.8.26版本制作,给一些不太习惯英文的用户使用。正常使用6.8.21汉化版的不建议更新。

项目地址

https://gitee.com/gacjie/aapanel_chinese

汉化包一键安装脚本

curl https://download.btpanel.cm/aapanel_chinese/install.sh|bash

手动安装方法

1. 下载文件包解压文件
2. 将panel文件夹打包
3. 上传到/www/server目录下
4. 解压文件包覆盖文件
5. 重启宝塔面板

关于aaPanel安装教程

]]>
0 https://blog.lmb520.cn/archives/587/#comments https://blog.lmb520.cn/feed/
aaPanel Linux面板6.8.12安装教程 https://blog.lmb520.cn/archives/588/ https://blog.lmb520.cn/archives/588/ Thu, 08 Dec 2022 15:46:00 +0800 林墨白 要求

内存:

512M及以上,建议768M及以上(纯面板约60M系统内存)

硬盘:

100M以上可用硬盘空间(纯面板约20M硬盘空间)

系统:

CentOS 7.1+ (Ubuntu20, Debian10),保证它是一个干净的操作系统,没有其他环境安装Apache/Nginx/php/MySQL(现有环境无法安装)

Linux面板安装命令

aaPanel是基于Centos开发的,我们建议使用Centos来安装

Centos

yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh forum

Centos/Ubuntu/Debian/Fedora的实验性安装命令支持ipv6。注意,该命令在root权限下执行(支持Centos8)。

curl -sSO http://www.aapanel.com/script/new_install_en.sh && bash new_install_en.sh forum

Ubuntu/Deepin

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh forum

Debian

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh forum

589

**更改日志:
文件管理增加了视频回放
文件共享增加了目录共享和视频回放功能
优化文件共享界面
发布系统防火墙插件
发布Amazon存储插件
其他细节调整**

]]>
0 https://blog.lmb520.cn/archives/588/#comments https://blog.lmb520.cn/feed/