【XIUNOX插件】友情链接 v1.1.1

管理员组

xnx_friendlink 友情链接插件

功能

  • 完整的友情链接管理系统:前台自助申请、后台审核、EdgeOne 边缘检测、分类展示、酷站推荐
  • 前台友链列表页(/links.htm)+ 申请弹窗(Modal),无独立申请页
  • 后台审核流程:待审核 → 通过/拒绝(含拒绝原因)→ 通知申请人
  • 批量操作:批量通过/拒绝/删除/上下线,批量通过时自动触发检测
  • EdgeOne 边缘检测:部署 check.js + cron.js 到 EdgeOne 边缘节点,并发检测目标站是否含本站链接
  • 本地 curl 检测:作为 EdgeOne 的备选方案,逐条 curl 检测
  • 检测结果:HTTP 状态码、响应时间、是否含本站链接、链接状态(正常/失联/撤链)
  • 检测日志表:每次检测留痕,便于追溯
  • 酷站推荐:独立于友链的酷站分类管理,存储在 settings 中(JSON)
  • 申请限制:每日限额(按 uid + ip 容斥去重)、申请间隔、登录要求、验证码
  • 通知配置:申请时通知管理员、通过/拒绝时通知申请人
  • 排序规则:按权重 / 按时间
  • 自动迁移:安装时自动从旧版 friendlink 表迁移数据
  • 隐藏系统原有友链区块(通过 JS 隐藏不带 data-xnx-fl 属性的友链卡片)
  • Bootstrap 5 + htmx 4 + 原生 JS,无 jQuery 依赖
  • 侧边栏缓存:300s TTL,写操作后自动清理

文件结构

plugin/xnx_friendlink/
├── conf.json
├── install.php / uninstall.php
├── setting.php + setting.htm      # 后台审核/管理/设置
├── admin.php
├── update.md
├── model/
│   └── FriendLinkService.php      # 服务类(CRUD / 审核 / 检测 / 缓存 / 酷站)
├── route/
│   ├── links.php                  # 前台友链列表页
│   ├── apply.php                  # 申请逻辑(被 links.php include)
│   ├── api_link.php               # EdgeOne 回传 API(POST /xnx_friendlink_api.htm)
│   └── cool_sites.php             # 后台酷站管理
├── hook/
│   ├── model_inc_file.php / model_inc_end.php
│   ├── index_route_case_end.php        # 注册 /links 路由
│   ├── admin_index_route_case_end.php  # 注册后台路由
│   ├── sidebar_friendlink_before.htm   # 隐藏系统原有友链
│   ├── sidebar_friendlink_after.htm    # 注入插件友链卡片
│   ├── index_site_brief_after.htm
│   ├── thread_side_after.htm
│   ├── lang_zh_cn_bbs.php
│   ├── lang_zh_tw_bbs.php
│   └── lang_en_us_bbs.php
├── edgeone/
│   ├── check.js                   # EdgeOne 边缘检测函数(部署到 EdgeOne)
│   └── cron.js                    # EdgeOne 定时触发器(定期拉取任务并检测)
├── admin/view/htm/
│   ├── link_admin.htm
│   └── cool_sites_admin.htm
├── static/js/apply.js
└── view/htm/links.htm

配置流程

  1. 后台启用插件
  2. 进入「插件设置」→「基本设置」→ 填写本站域名、本站信息(名称/URL/描述/Logo)、申请须知
  3. 配置申请限制:每日限额、申请间隔、是否要求登录、是否要求验证码
  4. 配置通知:申请时通知管理员、通过/拒绝时通知申请人
  5. 可选:切换到「酷站推荐」→ 配置酷站分类和站点(存储在 settings 中)
  6. 可选:配置 EdgeOne 边缘检测 → 部署 edgeone/check.js 和 cron.js 到 EdgeOne,填写安全密钥
  7. 测试:前台访问 /links.htm 看友链列表,提交申请后后台审核
  8. 测试:后台「批量检测」验证友链是否 reciprocatable

版本 1.1.1 | 兼容 Xiuno 1.1+



版本:v1.1.1
适用版本:1.1
开发者:Twelve

请登录后查看此内容
最新回复

请先登录后再回复 登录