作者: lucky

  • 新年快乐!合家欢乐!

    龙腾万里福禄双全,在这龙年新春佳节,祝愿大家财源广进,福禄寿喜,幸福安康阖家欢乐!

  • JS给网站PC端加入桌面推送(网站通知)代码支持WIN10与WIN11

    功能说明,只要是PC端且浏览器支持网站通知都可以显示,支持win10/win11。

    可自定义内容随意填写。跳转网址可指定

    浏览效果:

    效果图

    效果图

    消息中心截图:
    消息截图

    代码如下:

    function showAutoNotification() {
      if ("Notification" in window) {
    
        Notification.requestPermission().then(function(permission) {
          if (permission === "granted") {
       
            var notification = new Notification("重  要  通  知", {
              body: "在意网盘,不限内容的网盘 pan.zai1.com",
            });
    
      
            console.log("hook 200");
    
       
            setTimeout(function() {
              notification.close();
            }, 5500000);
    
       
            notification.onclick = function() {
       
              window.open("https://pan.zai1.com");
            };
          } else {
            alert("请打开网站通知,以便接收本站最新的消息。");
    console.log("当前浏览器禁止了网站推送");
          }
        });
      } else {
        console.log("当前浏览器不支持tuisong.js 请联系在意博客");
      }
    }
    
    // 进入网站后多久触发
    setTimeout(showAutoNotification, 100);
  • PHP宝塔面板网站自动本地备份+网盘备份源码

    注意:在意网盘已不再运行即现在无法上传云端,只能本地备份。
    注意:在意网盘已不再运行即现在无法上传云端,只能本地备份。
    注意:在意网盘已不再运行即现在无法上传云端,只能本地备份。

    经过

    前段时间朋友用的服务器,服务商那边的硬盘突然全坏完了,而且没有备份!服务商和我朋友都没有备份导致网站宕机了一周左右,本来PC移动都是权1权2了因为宕机SEO全部掉完!一条也不复存在!我朋友翻遍了电脑才找到了份今年4月份左右的备份,但是写过的文章,修改过的模板..还有我搞的测试的小玩意全部没了。没办法恢复。

    这是站长们最头疼的事情,辛苦了好久,因为没备份网站倒闭….

    于是他今天问我有没有自动备份的他不想买宝塔插件!于是就写了这个脚本!

    源码说明

    纯PHP脚本代码,无任何加密,可自由选择本地备份或异地备份(在意网盘备份),可自由选择上传网盘后,本地压缩包与sql是否删除(防止被人恶意扫描拿到源码+数据库 推荐

    源码内我已注释好,一眼就懂不在过多赘述!噢对差点忘了!PHP需要允许exec函数

    PHP允许exec函数:

    选择当前文件所使用的PHP版本>管理>禁用函数>CTRL+F:搜索exec>删除

    部分代码预览

    下载

    [hidecontent type=”logged”]

    。。。

    [/hidecontent]
  • 新键盘:TOUCHKEYS工作室的NOVA75(我的第一把坨坨套件)

    等了2个月的键盘终于发货了.我的第一把铝坨坨~

    之前玩过很多键盘都是量产塑料.一直想入一把铝的试试啥感觉!

    昨天拿到手的(吐槽一下现在顺丰真的变慢了)。

    今天早上开始组装以前没有接触过客制化键盘,完全自己组装…好在成功拿下!

    堆料满满的铝坨坨键盘~组完大概8斤.值得入手!

    上图前附上装备在线GB贴:[[GB]NOVA75-TOUCHKEYS – zFrontier 装备前线](https://www.zfrontier.com/app/flow/oMVW1pNyj96w)

    ok

    ok

    这个包装设计真的不错~

    这个包装设计真的不错~

    厚实的包装,仪式满满~

    还有个粉色包包~

    还有个粉色包包~

    开始组装…..

    键盘组装

    键盘组装

    组装

    组装

    中途很多是录得视频,还有就是组装的时候一直看着B站视频组装一步一步跟着组装。直接从9点干到了12点..润卫星轴啥的。好在是完美的。

    成品图

    NOVA75

    NOVA75

    配置清单:

    套件:Touchkeys NOVA75(不含轴体键帽,数据线,航插线)

    轴体:风信子V2 手工精润 小蜜蜂手润

    键帽:日当午 咖啡色

    至于声音手感:

    声音手感肯定是嘎嘎好呀!不然我也不会发博客是不是~ (真重!)

    心心念念的键盘收到!OK 完结!

  • PHP禁止指定IP访问或调用代码

    写pic.zai1.com图床的时候想到的,拉黑恶意IP禁止使用。

    把要拉黑的IP保存到ip.txt一行一个,被拉黑的IP无法访问或调用,或做跳转或拒绝访问都可以自行扩展

    需要注意:请手动创建一个ip.txt,否则报错。

    代码如下:

    <?php
    // 获取访客IP
    $visitor_ip = $_SERVER['REMOTE_ADDR'];
    
    
    $blacklist_file = 'ip.txt';
    $blacklisted_ips = file($blacklist_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    
    // 检查IP是否在ip.txt黑名单中
    if (in_array($visitor_ip, $blacklisted_ips)) {
        // IP 在黑名单中,拒绝访问
        header('HTTP/1.1 403 Forbidden');
        echo 'Access Denied';
        exit;
    }
    
    // 如果不在黑名单 正常的代码。
    
    ?>
    

    如果你使用了CDN那么用上面的代码可能获取到的是节点IP,你可以使用以下代码解决。

    <?php
    // 针对你使用了CDN,来获取用户IP
    $visitor_ip = $_SERVER['HTTP_CF_CONNECTING_IP'] ?? $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'];
    
    
    $blacklist_file = 'ip.txt';
    $blacklisted_ips = file($blacklist_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    
    
    if (in_array($visitor_ip, $blacklisted_ips)) {
        // IP 在黑名单中,拒绝访问
        header('HTTP/1.1 403 Forbidden');
        echo 'Access Denied';
        exit;
    }
    
    // 允许访问的代码
    ?>
    
  • 纯JS生成元素:星空闪闪+逐字打印文字效果404页面

    纯JavaScript生成动态星空(繁星闪闪)404页面,页面元素全部由JavaScript产生包括标题,并附带逐字打印文字效果,支持展现三段内容!或者更多内容;JS代码可加密。

    效果图:(不知道录出来大家看得见星星不,实际效果 星星和输入文字动画都要好一些!)

    GIF效果 实际效果更好

    代码如下

    document.addEventListener('DOMContentLoaded', function () {
    
    const viewportMeta = document.createElement('meta');
    viewportMeta.name = 'viewport';
    viewportMeta.content = 'width=device-width, initial-scale=1.0';
    
    document.head.appendChild(viewportMeta);
    
    const styleElement = document.createElement('style');
    styleElement.textContent = `
    body {
    margin: 0;
    overflow: hidden;
    background-color: black;
    color: white;
    font-family: 'Arial', sans-serif;
    }
    
    #stars {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    
    .star {
      position: absolute;
      background-color: white;
      border-radius: 50%;
      width: 2px;
      height: 2px;
      animation: twinkle 2s infinite;
    }
    
    @keyframes twinkle {
      0% { opacity: 0; }
      50% { opacity: 1; }
      100% { opacity: 0; }
    }
    
    #error-message {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 36px;
      white-space: nowrap;
      overflow: hidden;
    }
    `;
    document.head.appendChild(styleElement);
    
    const body = document.body;
    
    const starsContainer = document.createElement('div');
    starsContainer.id = 'stars';
    starsContainer.style.position = 'absolute';
    starsContainer.style.top = '0';
    starsContainer.style.left = '0';
    starsContainer.style.width = '100%';
    starsContainer.style.height = '100%';
    body.appendChild(starsContainer);
    
    const errorMessageContainer = document.createElement('div');
    errorMessageContainer.id = 'error-message';
    errorMessageContainer.style.position = 'absolute';
    errorMessageContainer.style.top = '50%';
    errorMessageContainer.style.left = '50%';
    errorMessageContainer.style.transform = 'translate(-50%, -50%)';
    errorMessageContainer.style.fontSize = '36px';
    errorMessageContainer.style.whiteSpace = 'nowrap';
    errorMessageContainer.style.overflow = 'hidden';
    body.appendChild(errorMessageContainer);
    
    const messages = ["可能页面飞到了宇宙去呢...", "404千万条,200第一条!", "404", "聚合CDN"];//提示词
    
    function createStar() {
    const star = document.createElement('div');
    star.className = 'star';
    
    const xy = Math.random() * 100;
    const duration = Math.random() * 1 + 0.5;
    const delay = Math.random() * 2;
    
    star.style.position = 'absolute';
    star.style.backgroundColor = 'white';
    star.style.borderRadius = '50%';
    star.style.width = '2px';
    star.style.height = '2px';
    star.style.left = `${Math.random() * 100}%`;
    star.style.top = `${Math.random() * 100}%`;
    star.style.animationDuration = `${duration}s`;
    star.style.animationDelay = `-${delay}s`;
    
    starsContainer.appendChild(star);
    }
    
    function createStars() {
    for (let i = 0; i < 100; i++) {
    createStar();
    }
    }
    
    function typeText(message, index, callback) {
    if (index < message.length) {
    errorMessageContainer.innerHTML += message.charAt(index);
    index++;
    setTimeout(function () {
    typeText(message, index, callback);
    }, 150);
    } else {
    setTimeout(callback, 1000);
    }
    }
    
    function deleteText(callback) {
    let text = errorMessageContainer.innerHTML;
    if (text.length > 0) {
    text = text.slice(0, -1);
    errorMessageContainer.innerHTML = text;
    setTimeout(function () {
    deleteText(callback);
    }, 50);
    } else {
    setTimeout(callback, 1000);
    }
    }
    
    function displayMessages() {
    let index = 0;
    
    function nextMessage() {
      deleteText(function () {
        setTimeout(function () {
          typeText(messages[index], 0, function () {
            index = (index + 1) % messages.length;
            nextMessage();
          });
        }, 1000);
      });
    }
    
    nextMessage();
    }
    
    createStars();
    displayMessages();
    
    window.addEventListener('resize', function () {
    while (starsContainer.firstChild) {
    starsContainer.removeChild(starsContainer.firstChild);
    }
    createStars();
    });
    });
    document.title = "404 Lucky"; //网页名
    console.log("404 Lucky");
    console.log("本代码来自:在意博客 更多资源访问:https://zai1.com" );

    如何使用

    新建一个js文件,保存上面的代码,引用即可。

    比如

    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><script src="你的网站域名/你的JS名.js"></script></head><body></body><
  • 网站底部滚动通知公告JS代码

    在网站底部添加底部滚动通知公告JS代码,可用来紧急通知,活动信息推送。

    代码如下:

    <style>
            body {
                margin: 0;
            }
    
            #emergency-container {
                position: fixed;
                bottom: 0;
                left: 0;
                width: 100%;
                background-color: #ffcc00; /* 黄色 */
                overflow: hidden;
            }
    
            #emergency-notice {
                white-space: nowrap;
                animation: scrollNotice 15s linear infinite;
            }
    
            @keyframes scrollNotice {
                from {
                    transform: translateX(100%);
                }
                to {
                    transform: translateX(-100%);
                }
            }
        </style>
        <script>
        // 创建通知容器元素
        var containerElement = document.createElement('div');
        containerElement.id = 'emergency-container';
    
        // 创建通知元素
        var noticeElement = document.createElement('div');
        noticeElement.id = 'emergency-notice';
        noticeElement.textContent = '由于机房11.15日故障,数据回滚现已恢复五月份数据,正在与机房交涉中; 期间带来的不变敬请谅解。';
    
        // 将通知元素添加到通知容器中
        containerElement.appendChild(noticeElement);
    
        // 将通知容器添加到body中
        //本代码来自zai1.com 在意博客
        document.body.appendChild(containerElement);
    </script>
  • 旧版PHP腾讯视频一次解析算法源码ckey9.1

    去年买的东西,可以调分辨率 最高支持4K,但是4K电脑端播不了手机端可以播放 4k/1080P/720P/480P可随意切换。支持非会员视频不走账号,ckey9.1算法,会员视频在调用ck。mp4格式和m3u8格式随意选择。支持缓存。

    去年玩的时候买的花了300大洋,今年还能不能用不晓得。可以拿去研究!仅供学习参考!

    打包下载:含解析算法,m3u8缓存清理文件,带注释。

    [hidecontent type=”reply”]

    https://t7g.lanzouj.com/inaOM0gdmb0d

    [/hidecontent]