大绵羊外链跳转插件1.3.5更新(开源)

1.2.0 版本大家疯狂反馈:子比主题这边有 bug、7B2 圈子那边跳转没反应。
我:记下了记下了……然后从 4 月一路拖到 7 月 才憋出这个 1.3.5
理由只有一个:白天上班,晚上写网站——好好好,白天上班晚上继续上班。

于是,1.3.5 带着满满 Buff 正式登场:

  • 该修的坑都填了(子比/7B2 圈子相关 bug ✅)
  • 还顺手塞了几个小功能(智能缓存、模板重构、AJAX 转换、规则重写、一键卸载清理等)

这次不仅修坑,还直接把「王先生笔记」的王先生拉来一起开发(没错,是协作开发,不只是适配),双人组开肝!

——「我有两套加密术:AES 的正统奥义 & 随机乱拳的街头实战。」
——「7B2 圈子玩家请举手!子比党也别走,王先生笔记已经给你们安排上了~」

相关文章

大绵羊外链跳转插件(开源)

大绵羊外链跳转插件1.3.5更新(开源)

01. 安全系统觉醒:双模式加密

“AES-256-CBC,企业级法术;随机字符串+时间戳,机智小偷乐。”

function dmy_link_encrypt_url($url) {
    $settings = get_option('dmy_link_settings');
    $method = isset($settings['dmy_link_verification_method']) ? $settings['dmy_link_verification_method'] : 'random_string';
    
    if ($method === 'aes_encryption') {
        $key = isset($settings['dmy_link_aes_key']) ? $settings['dmy_link_aes_key'] : '';
        if (empty($key)) {
            return generate_random_string(16);
        }
        $iv = substr(hash('sha256', $key, true), 0, 16);
        return base64_encode(openssl_encrypt($url, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv));
    } else {
        return generate_random_string(16);
    }
}
大绵羊外链跳转插件1.3.5更新(开源)

限时 vs 永久

随机串:计时器滴答作响;

大绵羊外链跳转插件1.3.5更新(开源)

AES:我!就!不!过!期!你!能!拿!我!怎!么!样!

大绵羊外链跳转插件1.3.5更新(开源)
if ($method === 'random_string') {
    $expiration = isset($settings['dmy_link_expiration']) ? intval($settings['dmy_link_expiration']) : 5;
    set_transient('dmy_link_' . $encrypted_key, $url, $expiration * 60);
} else {
    set_transient('dmy_link_' . $encrypted_key, $url, 0);
}

02. 全局拦截:内容区外链一网打尽

the_content 过滤器上线,内部白名单放行,其他全部走跳转大厅。(除了本站emm)”

add_filter('the_content', 'dmy_link_intercept_links');

内部/白名单:直达,不绕路。

其余外链:生成 Key → 缓存 → 指向 /dinterception 路由。

大绵羊外链跳转插件1.3.5更新(开源)

03. 路由重写 & 模板输出:专门的过场动画页

/dinterception 专线已开通,带你优雅转场。”

查询参数 a 存在?→ 取 transient 或 AES 解密 → 包含 dmylink-template.php 输出页面。

Token 失效?管理员台词 + 返回首页按钮登场(UI 不忘戏剧性,beta版本)。

大绵羊外链跳转插件1.3.5更新(开源)

04. AJAX 即点即转:圈子/论坛前端动态处理

“前端 JS 挂钩,点击即换外链,Admin-ajax 接口安全兜底。”

dmylink-circle.js 会根据你设置的选择器(比如 .topic-content)捕获链接并请求转换。

服务端同样判断白名单/内部链接与加密策略,返回最终跳转地址。

05. 7B2 圈子 & 子比论坛 统统拿下

7B2 圈子(7B2)由 大绵羊 站长适配
子比主题(Zibll)由 天无神话 站长适配

if (is_zibll_themes()){
    remove_filter('get_comment_author_link', 'add_redirect_comment_link', 5);
    remove_filter('comment_text', 'add_redirect_comment_link', 99);
    add_filter('get_comment_author_link', 'dmy_add_redirect_comment_link', 5);
    add_filter('comment_text', 'dmy_add_redirect_comment_link', 99);
    function dmy_add_redirect_comment_link($text = '')
    {
        $settings = get_option('dmy_link_settings');
        if (empty($settings['dmy_link_enable'])) {
            return $text; 
        }
        return dmy_link_intercept_links($text);
    }
}
大绵羊外链跳转插件1.3.5更新(开源)

7B2 圈子:启用 “circle/forums” 功能后,脚本会自动针对帖子主体/回复区选择器做处理。

大绵羊外链跳转插件1.3.5更新(开源)

子比主题:自动识别、自动挂钩,你忙你的,插件替你上。

大绵羊外链跳转插件1.3.5更新(开源)

06. 样式与模板系统:风格八连抽

大绵羊外链跳转插件1.3.5更新(开源)

CSS + PHP 模板分离管理,选哪个皮肤就加哪个 Buff。

样式文件、模板文件各自就位。

有默认模板兜底,不存在“登场失败”的尴尬镜头。

大绵羊外链跳转插件1.3.5更新(开源)

07. 一键善后:卸载即清空

“插件退场要体面,选项 & transient 全部打扫干净。”

// 插件卸载时清理数据
function dmy_link_uninstall() {
    // 删除插件设置选项
    delete_option('dmy_link_settings');
    
    // 清理所有插件相关的transient数据
    global $wpdb;
    $transients = $wpdb->get_col(
        "SELECT option_name FROM $wpdb->options 
        WHERE option_name LIKE '_transient_dmy_link_%' 
        OR option_name LIKE '_transient_timeout_dmy_link_%'"
    );
    
    foreach ($transients as $transient) {
        $name = str_replace('_transient_', '', $transient);
        delete_transient($name);
    }
}

ED

“插件是工具,也是守护灵。”
v1.3.4 把安全、体验、适配都做成了彩蛋包,感谢各位站长的灵感加持。
下一话会不会新增更多模板、更多主题适配呢

参考链接

https://github.com/dmmyblog/dmy-link

共同开发

https://wxsnote.cn

大绵羊外链跳转插件1.3.5更新(开源)

—— 敬请期待「大绵羊外链跳转插件 v1.4.0」!(挥手.gif)

下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余

给TA给糖
共{{data.count}}人
人已给糖
站长笔记经验分享

MaiBot:在代码世界种下樱花,做你最贴心的电子灵魂伴友

2025-6-1 15:25:28

分类3经验分享

2分钟搭建一个AList网盘系统

2023-1-31 19:34:52

4 条回复 A文章作者 M管理员
  1. 天无神话

    可把我牛逼坏了😁

  2. 倦意

    有空试试

  3. 天无神话

    1.3.5标题是1.3.4[g=妙啊]