Skip to content

Releases: willow-god/hexo-safego

Hexo-safego 2.1.0

26 Dec 10:37
Compare
Choose a tag to compare

hexo-safego 2.1.0

警告:本次更新不兼容原先格式,请在更新后按照说明更新配置项

更新内容

  • 修复:使用URL().hostname方法替换include()方法,使域名匹配更加完善,解决域名在参数位置导致不被替换的情况#4
  • 功能:添加自定义倒计时长度功能,可以改为不自动跳转#2
  • 界面:适配自定义跳转,如果为负数则直接显示提示手动跳转文字。

更新插件

npm update hexo-safego --save

示例配置项

# hexo-safego安全跳转插件
# see https://blog.liushen.fun/posts/1dfd1f41/
hexo_safego:
  # 基本功能设置
  general:
    enable: true                # 启用插件
    enable_base64_encode: true  # 使用 Base64 编码
    enable_target_blank: true   # 打开新窗口
  # 安全设置
  security:
    url_param_name: 'u'         # URL 参数名
    html_file_name: 'go.html'   # 重定向页面的文件名
    ignore_attrs:               # 忽略处理的 HTML 属性
      - 'data-fancybox'
  # 容器与页面设置
  scope:
    apply_containers:           # 应用的容器选择器
      - '#article-container'
    apply_pages:                # 应用的页面路径
      - "/posts/"
      - "/devices/"
    exclude_pages:              # 排除的页面路径
  # 域名白名单
  whitelist:
    domain_whitelist:           # 允许的白名单域名
      - "qyliu.top"
      - "liushen.fun"
  # 页面外观设置
  appearance:
    avatar: /info/avatar.ico    # 头像路径
    title: "清羽飞扬"            # 页面标题
    subtitle: "安全中心"         # 页面副标题
    darkmode: false             # 是否启用深色模式
    countdowntime: 4            # 倒计时秒数
  # 调试设置
  debug:
    enable: true                # 启用调试模式

更加详细的教程请看使用文档

Hexo-safego 2.0.2

05 Nov 15:14
Compare
Choose a tag to compare

hexo-safego 2.0.2

更新内容

  • 修复:使用addEventListener方法替换window.onload,防止由于额外的如PWA脚本导致代码失效
  • 优化:使用压缩版本的html文件代码,未压缩版本单独提供到项目内。
  • 界面:将配色改为黑白灰,更加简约符合习惯

(本次升级为兼容式升级,升级后不变动配置项也可以继续使用,不影响原始功能)

更新插件

npm update hexo-safego --save

更加详细的教程请看详细使用说明

Hexo-safego 2.0.1

15 Aug 04:20
Compare
Choose a tag to compare

hexo-safego 2.0.1

更新内容

  • 配置项:添加'exclude_pages',可以排除某些页面,用于和apply配合使用(@xyhcode )
  • 文档:完善文档中新配置项的内容(@willow-god )
  • 置空判断:优化部分配置项置空时的处理,防止由于空值出现错误(@willow-god )

(本次升级为兼容式升级,升级后不变动配置项也可以继续使用,不影响原始功能)

更新插件

npm update hexo-safego --save

主要特性

  • 外部链接跳转:将外部链接替换为自定义的跳转页面,可以自定义文件名称,增加安全性。
  • 灵活配置:支持多个容器,使用css选择器进行选择、支持白名单域名和生效页面路径的配置。
  • Base64 编码:可选将外链链接编码为Base64加密,在跳转时再使用js转为正常网站地址,增强安全性能。
  • 调试模式:调试模式输出详细信息,便于开发和调试。
  • 自定义页面:支持设置标题、副标题、头像、暗黑模式,如果有前端基础,还可以自己定义跳转页面进行美化。
  • 精简配置:去除很多没必要的配置项,简单配置即可直接使用,操作更加小白化。

:由于该插件是在构建时替换,但是评论区是前端js生成,所以无法在配置项中添加评论区相关的跳转!!!

示例配置项

# hexo-safego安全跳转插件
# see https://blog.qyliu.top/posts/1dfd1f41/
hexo_safego:
  enable: true  # 是否启用 hexo-safego 插件
  enable_base64_encode: true  # 是否启用 Base64 编码链接
  enable_target_blank: true  # 是否在跳转链接中添加 target="_blank"
  url_param_name: 'u'  # URL 参数名,用于生成跳转链接
  html_file_name: 'go.html'  # 跳转页面文件名
  ignore_attrs:  # 需要忽略的链接属性列表
    - 'data-fancybox'
  apply_containers:  # 容器 ID 列表,如果为空则匹配整个 body
    - '#article-container'
  domain_whitelist:  # 域名白名单列表,包含白名单中的域名的链接将被忽略
    - 'example.com'
  exclude_pages: # 排除路径列表,会排除这些页面,可以配合生效页面路径配合使用
    - '/safego_exclude_page/'
  apply_pages:  # 生效页面路径列表,只有在这些页面上才会对链接进行处理
    - '/posts/'
  avatar: https://fastly.jsdelivr.net/gh/willow-god/hexo-safego@latest/lib/avatar.png  # 头像图片链接
  title: "清羽飞扬"  # 标题
  subtitle: "安全中心"  # 副标题
  darkmode: false  # 是否启用夜间模式
  debug: false  # 是否启用调试模式,开启后会输出详细的调试信息

更加详细的教程请看详细使用说明

hexo-safego 正式版

17 Jun 06:01
Compare
Choose a tag to compare

hexo-safego 2.0.0

主要特性

  • 外部链接跳转:将外部链接替换为自定义的跳转页面,可以自定义文件名称,增加安全性。
  • 灵活配置:支持多个容器,使用css选择器进行选择、支持白名单域名和生效页面路径的配置。
  • Base64 编码:可选将外链链接编码为Base64加密,在跳转时再使用js转为正常网站地址,增强安全性能。
  • 调试模式:调试模式输出详细信息,便于开发和调试。
  • 自定义页面:支持设置标题、副标题、头像、暗黑模式,如果有前端基础,还可以自己定义跳转页面进行美化。
  • 精简配置:去除很多没必要的配置项,简单配置即可直接使用,操作更加小白化。

安装插件

npm install hexo-safego --save

添加配置项

# hexo-safego安全跳转插件
# see https://blog.qyliu.top/posts/1dfd1f41/
hexo_safego:
  enable: true  # 是否启用 hexo-safego 插件
  enable_base64_encode: true  # 是否启用 Base64 编码链接
  enable_target_blank: true  # 是否在跳转链接中添加 target="_blank"
  url_param_name: 'u'  # URL 参数名,用于生成跳转链接
  html_file_name: 'go.html'  # 跳转页面文件名
  ignore_attrs:  # 需要忽略的链接属性列表
    - 'data-fancybox'
  apply_containers:  # 容器 ID 列表,如果为空则匹配整个 body
    - '#article-container'
  domain_whitelist:  # 域名白名单列表,包含白名单中的域名的链接将被忽略
    - 'qyliu.top'
  apply_pages:  # 生效页面路径列表,只有在这些页面上才会对链接进行处理
    - '/posts/'
  avatar: /info/avatar.ico  # 头像图片链接
  title: "清羽飞扬"  # 标题
  subtitle: "安全中心"  # 副标题
  darkmode: false  # 是否启用夜间模式
  debug: false  # 是否启用调试模式,开启后会输出详细的调试信息

更加详细的教程请看详细使用说明

hexo-safego 1.0.2

12 Jun 15:14
Compare
Choose a tag to compare

hexo-safego 版本 1.0.2 发布说明

更新内容

  • 去除插件对于本人本地环境依赖,增强兼容性
  • 重构跳转页面
  • 实现简陋的暗黑模式,具体效果详见博客文章任意外链卡片点击跳转,后续会逐渐完善

hexo-safego 1.0.1

11 Jun 16:12
Compare
Choose a tag to compare

hexo-safego 版本 1.0.1 发布说明

更新内容

  • 去除插件对于本人本地环境依赖,增强兼容性
  • 重构跳转页面,可自定义

注意

该插件暂时并不完善,仍在实验阶段,预计 6 月 20 号上线,敬请期待。如果无基础建议选择同类替代产品,如:安全跳转页面重制版。如果感兴趣,欢迎 PR!

hexo-safego 1.0.0

10 Jun 05:08
Compare
Choose a tag to compare

hexo-safego 发布说明

概述

hexo-safego 是一个改进版的 Hexo 插件,用于处理外部链接以增强博客的安全性。该插件基于 hexo-external-link 进行二次开发,但其实现方式不同:原版插件通过注入 JavaScript 来处理外部链接,而 hexo-safego 则在生成静态页面时直接替换外部链接。

注意: 该插件暂时并不完善,仍在实验阶段,如果无基础建议选择同类替代产品,如:安全跳转页面重制版。如果感兴趣,欢迎 PR!

特性

  • 在静态页面中替换外部链接
  • 可选的 URL Base64 编码
  • 可自定义的链接属性和 rel 值
  • 域名白名单
  • 基于容器的链接处理
  • 调试模式

安装

  1. 使用 npm 安装 hexo-safegocheerio

    npm install hexo-safego cheerio
  2. 在 Hexo 的 _config.yml 中添加以下配置:

    hexo_safego:
      enable: true
      enable_base64_encode: false
      url_param_name: 'u'
      html_file_name: 'go.html'
      target_blank: true
      domain: ''
      safety_chain: false
      link_rel: 'external nofollow noopener noreferrer'
      ignore_attrs:
        - 'data-fancybox'
        - 'ignore-external-link'
      container_ids:
        - 'article-container' # 容器 ID 列表,如果为空则匹配 body
      domain_whitelist:
        - 'qyliu.top' # 域名白名单列表
      apply_pages:
        - '/posts/' # 生效页面路径列表
      debug: false # 调试模式

配置参数说明

  • enable: 启用插件。
  • enable_base64_encode: 启用 URL 的 Base64 编码。
  • url_param_name: 跳转链接中使用的 URL 参数名。
  • html_file_name: 跳转页面的 HTML 文件名。
  • target_blank: 在新标签页中打开链接。
  • domain: 跳转页面的域名。
  • safety_chain: 添加安全链到 URL。
  • link_rel: 链接的 rel 属性。
  • ignore_attrs: 处理链接时忽略的属性。
  • container_ids: 匹配的容器 ID 列表,如果为空则使用 body 标签。
  • domain_whitelist: 域名白名单列表。
  • apply_pages: 插件生效的页面路径列表。
  • debug: 启用调试模式用于排查问题。

使用方法

安装并配置完成后,hexo-safego 将在生成 Hexo 站点时自动处理外部链接。根据指定配置,外部链接将被替换,确保所有外部链接都通过一个安全的跳转页面,从而增强博客的安全性。

贡献

欢迎对 hexo-safego 的开发做出贡献,PR(Pull Request)欢迎!